liusheng
2024-09-18 722fa40345f1fc650eaeae4a721c3ae4106d92a8
smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
@@ -40,7 +40,7 @@
    private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
    @Autowired
    private TempDetpRelevanceMapper tempDetpRelevanceMapper;
    private TemplateDeptMapper tempDetpRelevanceMapper;
    /**
     * 查询模板库
@@ -128,26 +128,26 @@
            //新增
            ivrLibaTemplate.setCreateTime(new Date());
            ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate);
            i = ivrLibaTemplate.getID().intValue();
            i = ivrLibaTemplate.getId().intValue();
        } else if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 2) {
            //修改
            ivrLibaTemplate.setUpdateTime(new Date());
            ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate);
            i = ivrLibaTemplate.getID().intValue();
            i = ivrLibaTemplate.getId().intValue();
        }
        log.info("新增或修改模板详情的id为:{}", ivrLibaTemplate.getID());
        log.info("新增或修改模板详情的id为:{}" , ivrLibaTemplate.getId());
        //对模板标签进行处理
        if (CollectionUtils.isNotEmpty(ivrLibaTemplateVO.getIvrLibaTemplateTagList())) {
            for (IvrLibaTemplateTag ivrLibaTemplateTag : ivrLibaTemplateVO.getIvrLibaTemplateTagList()) {
                if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 1) {
                    //新增
                    ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID());
                    ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getId());
                    ivrLibaTemplateTag.setCreateTime(new Date());
                    ivrLibaTemplateTagMapper.insertIvrLibaTemplateTag(ivrLibaTemplateTag);
                } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 2) {
                    //修改
                    ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID());
                    ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getId());
                    ivrLibaTemplateTag.setUploadTime(new Date());
                    ivrLibaTemplateTagMapper.updateIvrLibaTemplateTag(ivrLibaTemplateTag);
                } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 3) {
@@ -167,25 +167,25 @@
            for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateVO.getIvrLibaTemplateScriptVOList()) {
                if (ivrLibaTemplateScriptVO.getIsoperation() != null) {
                    IvrLibaTemplateScript ivrLibaTemplateScript = scriptHandle(ivrLibaTemplate, ivrLibaTemplateScriptVO, ivrLibaTemplateScriptVO.getIsoperation());
                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID(),ivrLibaTemplateScriptVO.getIsoperation());
//                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getId(), ivrLibaTemplateScriptVO.getIsoperation());
                } else {
                    IvrLibaTemplateScript ivrLibaTemplateScript = scriptHandle(ivrLibaTemplate, ivrLibaTemplateScriptVO, ivrLibaTemplateVO.getIsoperation());
                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID(),ivrLibaTemplateVO.getIsoperation());
//                    dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getId(), ivrLibaTemplateVO.getIsoperation());
                }
            }
        }
        //对科室进行处理
        for (TempDetpRelevance tempDetpRelevance : ivrLibaTemplateVO.getTempDetpRelevances()) {
        for (TemplateDept tempDetpRelevance : ivrLibaTemplateVO.getTempDetpRelevances()) {
            if (tempDetpRelevance.getId() == null) {
                //新增
                tempDetpRelevance.setTempid(ivrLibaTemplate.getID());
                tempDetpRelevance.setTempid(ivrLibaTemplate.getId());
                tempDetpRelevance.setType(2L);
                tempDetpRelevance.setCreateTime(new Date());
                tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
                tempDetpRelevanceMapper.insertTemplateDept(tempDetpRelevance);
            } else {
                tempDetpRelevance.setUpdateTime(new Date());
                tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
                tempDetpRelevanceMapper.updateTemplateDept(tempDetpRelevance);
            }
        }
@@ -196,27 +196,27 @@
        IvrLibaTemplateScript ivrLibaTemplateScript = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScriptVO, IvrLibaTemplateScript.class);
        if (isoperation == 1) {
            //新增
            ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID());
            ivrLibaTemplateScript.setTemplateid(ivrLibaTemplate.getId());
            ivrLibaTemplateScript.setCreateTime(new Date());
            ivrLibaTemplateScriptMapper.insertIvrLibaTemplateScript(ivrLibaTemplateScript);
            //对选项目进行处理
            dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID(),isoperation);
            dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getId(), isoperation);
        } else if (isoperation == 2) {
            //修改
            ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID());
            ivrLibaTemplateScript.setTemplateid(ivrLibaTemplate.getId());
            ivrLibaTemplateScript.setUpdateTime(new Date());
            ivrLibaTemplateScriptMapper.updateIvrLibaTemplateScript(ivrLibaTemplateScript);
            //对选项目进行处理
            dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID(), isoperation);
            dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getId(), isoperation);
        } else if (isoperation == 3) {
            //删除
            if (ivrLibaTemplateScriptVO.getID() == null) {
            if (ivrLibaTemplateScriptVO.getId() == null) {
                log.info("删除失败,模板话术id为空");
            } else {
                ivrLibaTemplateScriptVO.setUpdateTime(new Date());
                ivrLibaTemplateScriptMapper.deleteIvrLibaTemplateScriptByID(ivrLibaTemplateScriptVO.getID());
                ivrLibaTemplateScriptMapper.deleteIvrLibaTemplateScriptByID(ivrLibaTemplateScriptVO.getId());
            }
        }
        return ivrLibaTemplateScript;
@@ -230,7 +230,7 @@
     * @param tmpID
     */
    private void dealOption(List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptionList, IvrLibaTemplateScript ivrLibaTemplateScript, Long tmpID, Integer isoperation) {
        log.info("ivrLibaTemplateScript的值为:{}", ivrLibaTemplateScript);
        log.info("ivrLibaTemplateScript的值为:{}" , ivrLibaTemplateScript);
        //对模板指标选项进行处理
        Integer lsIsoperation = isoperation;
        if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoptionList)) {
@@ -243,7 +243,7 @@
                if (isoperation == 1) {
                    //新增
                    ivrLibaTemplateTargetoption.setTemplateID(tmpID);
                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getID());
                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getId());
                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getDynamiccruxs()))
                        ivrLibaTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(ivrLibaTemplateTargetoption.getDynamiccruxs()));
                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getNodynamiccruxs()))
@@ -252,7 +252,7 @@
                } else if (isoperation == 2) {
                    //修改
                    ivrLibaTemplateTargetoption.setTemplateID(tmpID);
                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getID());
                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getId());
                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getDynamiccruxs()))
                        ivrLibaTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(ivrLibaTemplateTargetoption.getDynamiccruxs()));
                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getNodynamiccruxs()))
@@ -275,12 +275,12 @@
     */
    @Override
    public IvrLibaTemplateVO selectInfoByCondition(IvrLibaTemplateVO ivrLibaTemplateVO) {
        log.info("查询模板详情根据条件的入参为 : {}", ivrLibaTemplateVO);
        log.info("查询模板详情根据条件的入参为 : {}" , ivrLibaTemplateVO);
        //先根据条件查询问题表信息
        IvrLibaTemplate ivrLibaTemplate = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO, IvrLibaTemplate.class);
        List<IvrLibaTemplate> ivrLibaTemplates = selectIvrLibaTemplateList(ivrLibaTemplate);
        if (CollectionUtils.isEmpty(ivrLibaTemplates)) {
            log.info("提供的条件,查询模板详情数据为空:{}", ivrLibaTemplates);
            log.info("提供的条件,查询模板详情数据为空:{}" , ivrLibaTemplates);
            throw new BaseException("提供的条件,查询模板详情数据为空");
        }
        //定义IvrLibaTemplateVO 用于返参
@@ -288,20 +288,20 @@
        //获取tag信息
        IvrLibaTemplateTag ivrLibaTemplateTag = new IvrLibaTemplateTag();
        ivrLibaTemplateTag.setTemplateid(ivrLibaTemplates.get(0).getID());
        ivrLibaTemplateTag.setTemplateid(ivrLibaTemplates.get(0).getId());
        List<IvrLibaTemplateTag> ivrLibaTemplateTags = ivrLibaTemplateTagMapper.selectIvrLibaTemplateTagList(ivrLibaTemplateTag);
        //查询话术
        IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript();
        ivrLibaTemplateScript.setTemplateID(ivrLibaTemplates.get(0).getID());
        ivrLibaTemplateScript.setTemplateid(ivrLibaTemplates.get(0).getId());
        List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript);
        List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScripts, IvrLibaTemplateScriptVO.class);
        //通过话术ID获取选项
        for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) {
            log.info("ivrLibaTemplateScriptVO的主键id为:{}", ivrLibaTemplateScriptVO.getID());
            log.error("ivrLibaTemplateScriptVO的主键id为:{}" , ivrLibaTemplateScriptVO.getId());
            IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
            ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getID());
            ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getId());
            List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
            for (IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption1 : ivrLibaTemplateTargetoptions) {
                ObjectMapper mapper = new ObjectMapper();
@@ -324,7 +324,7 @@
            }
            ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
        }
        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparing(IvrLibaTemplateScriptVO::getTargetid));
        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparing(IvrLibaTemplateScriptVO::getSort));
        //数据组装
        templateVO.setIvrLibaTemplateTagList(ivrLibaTemplateTags);
        templateVO.setIvrLibaTemplateScriptVOList(ivrLibaTemplateScriptVOS);