liusheng
2024-09-24 562a960261b75d70abd65aa10528f09aeece94e8
smartor/src/main/java/com/smartor/service/impl/IvrTaskTemplateServiceImpl.java
@@ -78,55 +78,39 @@
    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) {
            //新增
            ivrTaskTemplate.setCreateTime(new Date());
            insertIvrTaskTemplate(ivrTaskTemplate);
            i = ivrTaskTemplate.getID().intValue();
            i = ivrTaskTemplate.getId().intValue();
        } else if (ivrTaskTemplateVO.getIsoperation() != null && ivrTaskTemplateVO.getIsoperation() == 2) {
            //修改
            ivrTaskTemplate.setUpdateTime(new Date());
            updateIvrTaskTemplate(ivrTaskTemplate);
            i = ivrTaskTemplate.getID().intValue();
            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());
            for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList()) {
                if (ivrTaskTemplateScriptVO.getIsoperation() != null && ivrTaskTemplateScriptVO.getIsoperation() == 1) {
                    //新增
                    IvrTaskTemplateScript ivrTaskTemplateScript = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScriptVO, IvrTaskTemplateScript.class);
                    ivrTaskTemplateScript.setTemplateID(ivrTaskTemplate.getID());
                    ivrTaskTemplateScript.setCreateTime(new Date());
                    ivrTaskTemplateScriptMapper.insertIvrTaskTemplateScript(ivrTaskTemplateScript);
                    //对选项目进行处理
                    dealOption(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(), ivrTaskTemplateScript, ivrTaskTemplate.getID());
                } else if (ivrTaskTemplateScriptVO.getIsoperation() != null && ivrTaskTemplateScriptVO.getIsoperation() == 2) {
                    //修改
                    IvrTaskTemplateScript ivrTaskTemplateScript = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScriptVO, IvrTaskTemplateScript.class);
                    ivrTaskTemplateScript.setTemplateID(ivrTaskTemplate.getID());
                    ivrTaskTemplateScript.setUpdateTime(new Date());
                    ivrTaskTemplateScriptMapper.updateIvrTaskTemplateScript(ivrTaskTemplateScript);
                    //对选项目进行处理
                    dealOption(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(), ivrTaskTemplateScript, ivrTaskTemplate.getID());
                } else if (ivrTaskTemplateScriptVO.getIsoperation() != null && ivrTaskTemplateScriptVO.getIsoperation() == 3) {
                    //删除
                    if (ivrTaskTemplateScriptVO.getID() == null) {
                        log.info("删除失败,模板话术id为空");
                    } else {
                        ivrTaskTemplateScriptVO.setUpdateTime(new Date());
                        ivrTaskTemplateScriptMapper.deleteIvrTaskTemplateScriptByID(ivrTaskTemplateScriptVO.getID());
                    }
                if (ivrTaskTemplateScriptVO.getIsoperation() != null) {
                    IvrTaskTemplateScript ivrTaskTemplateScript = scriptHandle(ivrTaskTemplate, ivrTaskTemplateScriptVO, ivrTaskTemplateScriptVO.getIsoperation());
                    dealOption(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(), ivrTaskTemplateScript, ivrTaskTemplate.getId(), ivrTaskTemplateScriptVO.getIsoperation());
                } else {
                    IvrTaskTemplateScript ivrTaskTemplateScript = scriptHandle(ivrTaskTemplate, ivrTaskTemplateScriptVO, ivrTaskTemplateVO.getIsoperation());
                    dealOption(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(), ivrTaskTemplateScript, ivrTaskTemplate.getId(), ivrTaskTemplateVO.getIsoperation());
                }
            }
        }
        return ivrTaskTemplate.getID().intValue();
        return ivrTaskTemplate.getId().intValue();
    }
    /**
     * 修改随访任务随访模板库
@@ -168,16 +152,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);
//
@@ -188,15 +172,15 @@
        //查询话术
        IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript();
        ivrTaskTemplateScript.setTemplateID(ivrTaskTemplates.get(0).getID());
        ivrTaskTemplateScript.setTemplateID(ivrTaskTemplates.get(0).getId());
        List<IvrTaskTemplateScript> ivrTaskTemplateScripts = ivrTaskTemplateScriptMapper.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript);
        List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScripts, IvrTaskTemplateScriptVO.class);
        //通过话术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());
            ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId());
            List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetoptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption);
            for (IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption1 : ivrTaskTemplateTargetoptions) {
                ObjectMapper mapper = new ObjectMapper();
@@ -226,31 +210,64 @@
        return templateVO;
    }
    private IvrTaskTemplateScript scriptHandle(IvrTaskTemplate ivrTaskTemplate, IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO, Integer isoperation) {
        IvrTaskTemplateScript ivrTaskTemplateScript = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScriptVO, IvrTaskTemplateScript.class);
    private void dealOption(List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptionList, IvrTaskTemplateScript ivrTaskTemplateScript, Long tmpID) {
        log.info("ivrLibaTemplateScript的值为:{}", ivrTaskTemplateScript);
        if (isoperation == 1) {
            //新增
            ivrTaskTemplateScript.setTemplateID(ivrTaskTemplate.getId());
            ivrTaskTemplateScript.setCreateTime(new Date());
            ivrTaskTemplateScriptMapper.insertIvrTaskTemplateScript(ivrTaskTemplateScript);
            ivrTaskTemplateScript.setIsoperation(1);
        } else if (isoperation == 2) {
            //修改
            ivrTaskTemplateScript.setTemplateID(ivrTaskTemplate.getId());
            ivrTaskTemplateScript.setUpdateTime(new Date());
            ivrTaskTemplateScriptMapper.updateIvrTaskTemplateScript(ivrTaskTemplateScript);
            ivrTaskTemplateScript.setIsoperation(2);
        } else if (isoperation == 3) {
            //删除
            if (ivrTaskTemplateScriptVO.getId() == null) {
                log.info("删除失败,模板话术id为空");
            } else {
                ivrTaskTemplateScriptVO.setUpdateTime(new Date());
                ivrTaskTemplateScriptMapper.deleteIvrTaskTemplateScriptByID(ivrTaskTemplateScriptVO.getId());
            }
        }
        return ivrTaskTemplateScript;
    }
    private void dealOption(List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptionList, IvrTaskTemplateScript ivrTaskTemplateScript, Long tmpID, Integer isoperation) {
        log.info("ivrLibaTemplateScript的值为:{}" , ivrTaskTemplateScript);
        Integer lsisoperation = isoperation;
        //对模板指标选项进行处理
        if (CollectionUtils.isNotEmpty(ivrTaskTemplateTargetoptionList)) {
            for (IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption : ivrTaskTemplateTargetoptionList) {
                if (ivrTaskTemplateTargetoption.getIsoperation() != null && ivrTaskTemplateTargetoption.getIsoperation() == 1) {
                if (ivrTaskTemplateTargetoption.getIsoperation() != null) {
                    isoperation = ivrTaskTemplateTargetoption.getIsoperation();
                } else {
                    isoperation = lsisoperation;
                }
                if (isoperation == 1) {
                    //新增
                    ivrTaskTemplateTargetoption.setTemplateID(tmpID);
                    ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScript.getID());
                    ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScript.getId());
                    if (CollectionUtils.isNotEmpty(ivrTaskTemplateTargetoption.getDynamiccruxs()))
                        ivrTaskTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(ivrTaskTemplateTargetoption.getDynamiccruxs()));
                    if (CollectionUtils.isNotEmpty(ivrTaskTemplateTargetoption.getNodynamiccruxs()))
                        ivrTaskTemplateTargetoption.setNodynamiccruxsJson(JSON.toJSONString(ivrTaskTemplateTargetoption.getNodynamiccruxs()));
                    ivrTaskTemplateTargetoptionMapper.insertIvrTaskTemplateTargetoption(ivrTaskTemplateTargetoption);
                } else if (ivrTaskTemplateTargetoption.getIsoperation() != null && ivrTaskTemplateTargetoption.getIsoperation() == 2) {
                } else if (isoperation == 2) {
                    //修改
                    ivrTaskTemplateTargetoption.setTemplateID(tmpID);
                    ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScript.getID());
                    ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScript.getId());
                    if (CollectionUtils.isNotEmpty(ivrTaskTemplateTargetoption.getDynamiccruxs()))
                        ivrTaskTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(ivrTaskTemplateTargetoption.getDynamiccruxs()));
                    if (CollectionUtils.isNotEmpty(ivrTaskTemplateTargetoption.getNodynamiccruxs()))
                        ivrTaskTemplateTargetoption.setNodynamiccruxsJson(JSON.toJSONString(ivrTaskTemplateTargetoption.getNodynamiccruxs()));
                    ivrTaskTemplateTargetoptionMapper.updateIvrTaskTemplateTargetoption(ivrTaskTemplateTargetoption);
                } else if (ivrTaskTemplateTargetoption.getIsoperation() != null && ivrTaskTemplateTargetoption.getIsoperation() == 3) {
                } else if (isoperation == 3) {
                    //删除
                    if (ivrTaskTemplateTargetoption.getId() == null) {
                        log.info("删除失败,模板指标选项id为空");