package org.dromara.main.service;


import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.main.domain.bo.CsSeatConfigBo;
import org.dromara.main.domain.vo.CsSeatConfigVo;

import java.util.List;

/**
 * 坐席配置Service接口
 */
public interface ICsSeatConfigService {

    /**
     * 查询坐席配置列表
     */
    TableDataInfo<CsSeatConfigVo> queryPageList(CsSeatConfigBo bo, PageQuery pageQuery);

    /**
     * 查询所有坐席配置
     */
    List<CsSeatConfigVo> queryList(CsSeatConfigBo bo);

    /**
     * 查询坐席配置详情
     */
    CsSeatConfigVo queryById(Long id);

    /**
     * 新增坐席配置
     */
    Boolean insertByBo(CsSeatConfigBo bo);

    /**
     * 修改坐席配置
     */
    Boolean updateByBo(CsSeatConfigBo bo);

    /**
     * 删除坐席配置
     */
    Boolean deleteById(Long id);

    /**
     * 批量删除坐席配置
     */
    Boolean deleteByIds(List<Long> ids);

    /**
     * 切换坐席状态
     */
    Boolean changeStatus(Long id, Integer status);

    /**
     * 为坐席分配客服人员
     */
    Boolean assignWaiters(Long seatId, List<Long> userIds);
}
