package com.fs.company.service;

import java.util.List;
import com.fs.company.domain.CompanyVoiceCaller;
import com.fs.company.param.CompanyVoiceCallerImportParam;
import com.fs.company.param.CompanyVoiceCallerParam;
import com.fs.company.vo.CompanyVoiceCallerListVO;

/**
 * 企业用户坐席Service接口
 *
 * @author fs
 * @date 2023-02-23
 */
public interface ICompanyVoiceCallerService
{
    /**
     * 查询企业用户坐席
     *
     * @param callingId 企业用户坐席ID
     * @return 企业用户坐席
     */
    public CompanyVoiceCaller selectCompanyVoiceCallerById(Long callingId);



    /**
     * 查询企业用户坐席列表
     *
     * @param companyVoiceCaller 企业用户坐席
     * @return 企业用户坐席集合
     */
    public List<CompanyVoiceCaller> selectCompanyVoiceCallerList(CompanyVoiceCaller companyVoiceCaller);

    /**
     * 新增企业用户坐席
     *
     * @param companyVoiceCaller 企业用户坐席
     * @return 结果
     */
    public int insertCompanyVoiceCaller(CompanyVoiceCaller companyVoiceCaller);

    /**
     * 修改企业用户坐席
     *
     * @param companyVoiceCaller 企业用户坐席
     * @return 结果
     */
    public int updateCompanyVoiceCaller(CompanyVoiceCaller companyVoiceCaller);

    /**
     * 批量删除企业用户坐席
     *
     * @param callingIds 需要删除的企业用户坐席ID
     * @return 结果
     */
    public int deleteCompanyVoiceCallerByIds(Long[] callingIds);

    /**
     * 删除企业用户坐席信息
     *
     * @param callingId 企业用户坐席ID
     * @return 结果
     */
    public int deleteCompanyVoiceCallerById(Long callingId);

    List<CompanyVoiceCallerListVO> selectCompanyVoiceCallerListVO(CompanyVoiceCallerParam param);

    CompanyVoiceCaller selectCompanyVoiceCallerByUserId(Long companyId, Long companyUserId);

    String importCompanyVoiceCaller(List<CompanyVoiceCallerImportParam> list);

    List<CompanyVoiceCaller> selectCompanyVoiceCallerByEnable();

    Integer selectCompanyVoiceCallerCountsByCompanyId(Long companyId);
}
