package com.ruoyi.aicall.service; import com.ruoyi.aicall.domain.CcCallPhone; import com.ruoyi.aicall.domain.CcLlmAgentAccount; import com.ruoyi.aicall.model.CallPhoneExportVo; import com.ruoyi.aicall.model.CallTaskStatModel; import java.util.List; import java.util.Map; /** * 外呼号码Service接口 * * @author ruoyi * @date 2025-05-29 */ public interface ICcCallPhoneService { /** * 查询外呼号码 * * @param id 外呼号码主键 * @return 外呼号码 */ public CcCallPhone selectCcCallPhoneById(String id); /** * 查询外呼号码列表 * * @param ccCallPhone 外呼号码 * @return 外呼号码集合 */ public List selectCcCallPhoneList(CcCallPhone ccCallPhone); /** * 列表加速:仅查询符合条件的主键(供分页/COUNT) */ List selectCcCallPhoneIds(CcCallPhone ccCallPhone); /** * 列表加速:按主键批量回表轻量字段(不含 dialogue/biz_json/tts_text) */ List selectCcCallPhoneLiteByIds(List ids); /** * 新增外呼号码 * * @param ccCallPhone 外呼号码 * @return 结果 */ public int insertCcCallPhone(CcCallPhone ccCallPhone); /** * 修改外呼号码 * * @param ccCallPhone 外呼号码 * @return 结果 */ public int updateCcCallPhone(CcCallPhone ccCallPhone); /** * 批量删除外呼号码 * * @param ids 需要删除的外呼号码主键集合 * @return 结果 */ public int deleteCcCallPhoneByIds(String ids); /** * 删除外呼号码信息 * * @param id 外呼号码主键 * @return 结果 */ public int deleteCcCallPhoneById(String id); /** * 根据batchId统计外呼数据 * @param batchId * @return */ public CallTaskStatModel statByBatchId(Long batchId); /** * 根据多个batchId批量统计外呼数据 * @param batchIds * @return key=batchId */ Map statByBatchIds(List batchIds); /** * 批量入库 * @param phoneList */ public void batchInsertCcCallPhone(List phoneList); List getCustIntentionList(); void updateIntentionByIds(String intention, List phoneIds); String getIntenetionByDialogue(CcLlmAgentAccount ccLlmAgentAccount, String dialogue); List selectNoHangupCalls(Long batchId); void bakCallPhoneByBatchId(Long batchId); void delCallPhoneByBatchId(Long batchId); List selectCcCallPhoneYlrzList(CcCallPhone ccCallPhone); List selectCcCallPhoneListByIds(List callPhoneIds); String selectCcCallPhoneDialogueByUuid(String uuid); }