package com.starry.admin.modules.commodity.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.commodity.module.entity.PlayClerkServiceEntity;

/**
 * 陪聊引用服务项目Service接口
 *
 * @author admin
 * @since 2024-03-28
 */
public interface IPlayClerkServiceService extends IService<PlayClerkServiceEntity> {


    /**
     * 初始化陪聊的服务项目
     *
     * @param playUserId 陪聊用户ID
     * @author admin
     * @since 2024/3/28 11:13
     **/
    void initPlayService(String playUserId);

    /**
     * 查询陪聊引用服务项目
     *
     * @param id 陪聊引用服务项目主键
     * @return 陪聊引用服务项目
     */
    PlayClerkServiceEntity selectPlayClerkServiceById(String id);

    /**
     * 查询陪聊引用服务项目列表
     *
     * @param playClerkService 陪聊引用服务项目
     * @return 陪聊引用服务项目集合
     */
    IPage<PlayClerkServiceEntity> selectPlayClerkServiceByPage(PlayClerkServiceEntity playClerkService);

    /**
     * 新增陪聊引用服务项目
     *
     * @param playClerkService 陪聊引用服务项目
     * @return 结果
     */
    boolean create(PlayClerkServiceEntity playClerkService);


    /**
     * 修改陪聊服务启停状态
     *
     * @param playUserId    陪聊用户ID
     * @param serviceId     服务ID
     * @param enablingState * 项目启用状态【0:停用，1：启用】
     * @author admin
     * @since 2024/3/28 11:35
     **/
    void updateServiceEnablingState(String playUserId, String serviceId, String enablingState);

    /**
     * 修改陪聊引用服务项目
     *
     * @param playClerkService 陪聊引用服务项目
     * @return 结果
     */
    boolean update(PlayClerkServiceEntity playClerkService);

    /**
     * 批量删除陪聊引用服务项目
     *
     * @param ids 需要删除的陪聊引用服务项目主键集合
     * @return 结果
     */
    int deletePlayClerkServiceByIds(String[] ids);

    /**
     * 删除陪聊引用服务项目信息
     *
     * @param id 陪聊引用服务项目主键
     * @return 结果
     */
    int deletePlayClerkServiceById(String id);
}
