liusheng
9 天以前 34f78281cf395a24e1f3f1c3b861186ff8a03b7b
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -2,9 +2,6 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.smartor.domain.*;
import com.smartor.domain.DTO.MydTrendReqDTO;
import com.smartor.domain.DTO.QuestionCountKsOrBqDTO;
import com.smartor.domain.DTO.QuestionResultDTO;
import com.smartor.domain.ServiceSubtask;
import com.smartor.domain.VO.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
@@ -14,6 +11,8 @@
import java.util.List;
import java.util.Map;
import com.ruoyi.template.domain.VO.HeLibraryCountVO;
import com.ruoyi.template.domain.IvrTaskTemplateTargetoption;
/**
 * 单一任务(随访)Service接口
 *
@@ -67,6 +66,8 @@
    public List<ServiceSubtask> patItem2(ServiceSubtaskEntity serviceSubtaskEntity);
    public Map<String, Object> patItemCount(ServiceSubtaskEntity serviceSubtaskEntity);
    public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskEntity);
    /**
     * 新增单一任务(随访)
@@ -137,14 +138,7 @@
    public PhoneCallBackSHVO processResust(PhoneCallResultYQVO phoneCallReqYQVO);
    /**
     * 问题结果占比
     *
     * @param QuestionResultVO
     * @param serviceSubtaskRes
     * @return
     */
    public List<ServiceSubtaskDetailRatioExport> getDetailRatio(SltdMydTotalVO sltdMydTotalVO, List<ServiceSubtaskRes> serviceSubtaskRes);
    /**
@@ -219,34 +213,32 @@
    Map<String, Object> smsSubTask(Long subid);
    /**
     * 统计问题的选项的百分比 (用于服务类型 2)
     *
     * @param taskIds
     * @return
     */
    public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startFinishTime, Date endFinishTime, Date startOutHospTime, Date endOutHospTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType);
    /**
     * 根据子任务 ID 统计问题的选项的百分比(用于满意度统计 serviceType=6)
     *
     * @param subtaskIds 子任务 ID 列表
     * @return
     */
    public List<ServiceSubtaskDetailRatioExport> statQuestionOptionBySubtaskIds(List<Long> subtaskIds, Date startOutHospTime, Date endOutHospTime, Date startFinishTime, Date endFinishTime, String scriptContent, Double scoreStart, Double scoreEnd, String valueType);
    public  Map<String, Map<String, List<QuestionCountKsOrBqDTO>>> statQuestionOptionByKsOrBq(QuestionCountKsOrBqVO questionCountKsOrBqVO);
    public String scanGenerateSubtask(ServiceTask serviceTaskVo);
    public List<MydTrendReqDTO> mydTrend(MydTrendReqVO mydTrendReqVO);
    /**
     * 根据时间给度进行对比满意度分数
     * @param mydTrendReqVO
     * @return
     * AI 选项匹配(把 options 序列化后 POST 到外部 AI 服务)。
     * <p>
     * ⚠️ 入参改成<b>泛型</b> {@code List<T>}(原为 {@code List<IvrTaskTemplateTargetoption>}):
     * 那个类型已随模板模块化搬进 {@code ruoyi-template},而本方法要经
     * {@code SubtaskOptionMatchApiBridge} 向模板模块暴露(接口在 ruoyi-common)。
     * 泛型让模板模块不必知道 {@code T} 是什么,同时保持 smartor 内部 4 处调用点形状不变。
     * <p>
     * 语义无变化:方法体只做 {@code jsonObject.put("options", options)} 后整体序列化,
     * 从不读 {@code T} 的字段。
     */
    public List<MydTrendReqDTO> sltdMydTotalByDimension(MydTrendReqVO mydTrendReqVO);
    public <T> Integer matchOptionIndex(String url, String questionText, String voiceText, List<T> options, String uuid);
    public Integer matchOptionIndex(String url, String questionText, String voiceText, List<IvrTaskTemplateTargetoption> options, String uuid);
}