package com.fs.company.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fs.company.domain.CompanyVoiceRoboticWx;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * AI外呼任务加微方式Mapper接口
 * 
 * @author fs
 * @date 2024-12-06
 */
public interface CompanyVoiceRoboticWxMapper extends BaseMapper<CompanyVoiceRoboticWx> {
    /**
     * 查询AI外呼任务加微方式
     * 
     * @param id AI外呼任务加微方式ID
     * @return AI外呼任务加微方式
     */
    public CompanyVoiceRoboticWx selectCompanyVoiceRoboticWxById(Long id);

    /**
     * 查询AI外呼任务加微方式列表
     * 
     * @param companyVoiceRoboticWx AI外呼任务加微方式
     * @return AI外呼任务加微方式集合
     */
    public List<CompanyVoiceRoboticWx> selectCompanyVoiceRoboticWxList(CompanyVoiceRoboticWx companyVoiceRoboticWx);

    /**
     * 新增AI外呼任务加微方式
     * 
     * @param companyVoiceRoboticWx AI外呼任务加微方式
     * @return 结果
     */
    public int insertCompanyVoiceRoboticWx(CompanyVoiceRoboticWx companyVoiceRoboticWx);

    /**
     * 修改AI外呼任务加微方式
     * 
     * @param companyVoiceRoboticWx AI外呼任务加微方式
     * @return 结果
     */
    public int updateCompanyVoiceRoboticWx(CompanyVoiceRoboticWx companyVoiceRoboticWx);

    /**
     * 删除AI外呼任务加微方式
     * 
     * @param id AI外呼任务加微方式ID
     * @return 结果
     */
    public int deleteCompanyVoiceRoboticWxById(Long id);

    /**
     * 批量删除AI外呼任务加微方式
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteCompanyVoiceRoboticWxByIds(Long[] ids);

    void insertList(@Param("list") List<CompanyVoiceRoboticWx> list);

    List<CompanyVoiceRoboticWx> selectByRoboticId(@Param("id") Long id, @Param("intention") String intention);

    List<CompanyVoiceRoboticWx> selectByRoboticIdWithGroupBy(@Param("id") Long id);

    List<CompanyVoiceRoboticWx> selectByRoboticIdQw(@Param("id") Long id, @Param("intention") String intention);

    CompanyVoiceRoboticWx selectAllocationTargetByTaskId(@Param("roboticId") Long roboticId);
}
