liusheng
2024-11-29 fd6dca0c559c08129b7e0abdf67093b1a728ffd3
smartor/src/main/java/com/smartor/service/impl/IvrTaskTemplateServiceImpl.java
@@ -11,6 +11,7 @@
import com.smartor.mapper.IvrTaskTemplateMapper;
import com.smartor.mapper.IvrTaskTemplateScriptMapper;
import com.smartor.mapper.IvrTaskTemplateTargetoptionMapper;
import com.smartor.mapper.TemplateDeptMapper;
import com.smartor.service.IIvrTaskTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -39,6 +40,9 @@
    @Autowired
    private IvrTaskTemplateTargetoptionMapper ivrTaskTemplateTargetoptionMapper;
    @Autowired
    private TemplateDeptMapper templateDeptMapper;
    /**
     * 查询随访任务随访模板库
@@ -78,11 +82,12 @@
    public int saveOrUpdateTempScript(IvrTaskTemplateVO ivrTaskTemplateVO) {
        Integer i = null;
        IvrTaskTemplate ivrTaskTemplate = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO, IvrTaskTemplate.class);
        //传过来的静默时间是秒,需要改成毫秒
        if (ivrTaskTemplate.getSilencetime() != null)
            ivrTaskTemplate.setSilencetime(ivrTaskTemplate.getSilencetime() * 1000);
        if (ivrTaskTemplateVO.getIsoperation() != null && ivrTaskTemplateVO.getIsoperation() == 1) {
            //传过来的静默时间是秒,需要改成毫秒
            if (ivrTaskTemplate.getSilencetime() != null)
                ivrTaskTemplate.setSilencetime(ivrTaskTemplate.getSilencetime() * 1000);
            //新增
            ivrTaskTemplate.setCreateTime(new Date());
            insertIvrTaskTemplate(ivrTaskTemplate);
@@ -93,11 +98,11 @@
            updateIvrTaskTemplate(ivrTaskTemplate);
            i = ivrTaskTemplate.getId().intValue();
        }
        log.info("新增随访任务随访模板的id为:{}" , ivrTaskTemplate.getId());
        log.info("新增随访任务随访模板的id为:{}", ivrTaskTemplate.getId());
        //对模板话术和选项进行处理(话术表与指标表进行合并了,)
        if (CollectionUtils.isNotEmpty(ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList())) {
            log.error("ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList()是否有数据哈:{}" , ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList());
            log.error("ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList()是否有数据哈:{}", ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList());
            for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList()) {
                if (ivrTaskTemplateScriptVO.getIsoperation() != null) {
                    IvrTaskTemplateScript ivrTaskTemplateScript = scriptHandle(ivrTaskTemplate, ivrTaskTemplateScriptVO, ivrTaskTemplateScriptVO.getIsoperation());
@@ -132,6 +137,16 @@
     */
    @Override
    public int deleteIvrTaskTemplateByIDs(Long[] IDs) {
        if (IDs[0] != null) {
            IvrTaskTemplate ivrTaskTemplate = selectIvrTaskTemplateByID(IDs[0]);
            if (StringUtils.isNotEmpty(ivrTaskTemplate.getLongTemp()) && ivrTaskTemplate.getLongTemp().equals("1")) {
                //如果这个模板是长期任务,则需要删除模板与部门的关联
                TemplateDept templateDept = new TemplateDept();
                templateDept.setType(21L);
                templateDept.setTempid(IDs[0]);
                templateDeptMapper.deleteTemplateDeptByTemplateId(templateDept);
            }
        }
        return ivrTaskTemplateMapper.deleteIvrTaskTemplateByIDs(IDs);
    }
@@ -152,16 +167,16 @@
     */
    @Override
    public IvrTaskTemplateVO selectInfoByCondition(IvrTaskTemplateVO ivrTaskTemplateVO) {
        log.info("查询模板详情根据条件的入参为 : {}" , ivrTaskTemplateVO);
        log.info("查询模板详情根据条件的入参为 : {}", ivrTaskTemplateVO);
        //先根据条件查询问题表信息
        IvrTaskTemplate ivrTaskTemplate = DtoConversionUtils.sourceToTarget(ivrTaskTemplateVO, IvrTaskTemplate.class);
        List<IvrTaskTemplate> ivrTaskTemplates = selectIvrTaskTemplateList(ivrTaskTemplate);
        if (CollectionUtils.isEmpty(ivrTaskTemplates)) {
            log.info("提供的条件,查询模板详情数据为空:{}" , ivrTaskTemplates);
            log.info("提供的条件,查询模板详情数据为空:{}", ivrTaskTemplates);
            throw new BaseException("提供的条件,查询模板详情数据为空");
        }
        log.info("ivrLibaTemplates的查询结果为:{},数量为 : {}" , ivrTaskTemplates.get(0), ivrTaskTemplates.size());
        log.info("ivrLibaTemplates的查询结果为:{},数量为 : {}", ivrTaskTemplates.get(0), ivrTaskTemplates.size());
        //定义IvrLibaTemplateVO 用于返参
        IvrTaskTemplateVO templateVO = DtoConversionUtils.sourceToTarget(ivrTaskTemplates.get(0), IvrTaskTemplateVO.class);
//
@@ -178,7 +193,7 @@
        //通过话术ID获取选项
        for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) {
            log.info("ivrLibaTemplateScriptVO的主键id为:{}" , ivrTaskTemplateScriptVO.getId());
            log.info("ivrLibaTemplateScriptVO的主键id为:{}", ivrTaskTemplateScriptVO.getId());
            IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption = new IvrTaskTemplateTargetoption();
            ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId());
            List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetoptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption);
@@ -239,7 +254,7 @@
    }
    private void dealOption(List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptionList, IvrTaskTemplateScript ivrTaskTemplateScript, Long tmpID, Integer isoperation) {
        log.info("ivrLibaTemplateScript的值为:{}" , ivrTaskTemplateScript);
        log.info("ivrLibaTemplateScript的值为:{}", ivrTaskTemplateScript);
        Integer lsisoperation = isoperation;
        //对模板指标选项进行处理
        if (CollectionUtils.isNotEmpty(ivrTaskTemplateTargetoptionList)) {