From ac79f032745c975eb77d6fb148ed390f2373559e Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 28 十二月 2023 17:58:52 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java | 259 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 214 insertions(+), 45 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java index c6ccb10..3487f55 100644 --- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java @@ -1,96 +1,265 @@ package com.smartor.service.impl; -import java.util.List; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.DtoConversionUtils; +import com.smartor.domain.*; +import com.smartor.mapper.*; +import com.smartor.service.IIvrLibaTemplateService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.smartor.mapper.IvrLibaTemplateMapper; -import com.smartor.domain.IvrLibaTemplate; -import com.smartor.service.IIvrLibaTemplateService; + +import java.util.List; /** - * 璇濇湳妯℃澘搴揝ervice涓氬姟灞傚鐞� - * - * @author smartor - * @date 2023-03-22 + * 妯℃澘搴揝ervice涓氬姟灞傚鐞� + * + * @author ruoyi + * @date 2023-12-23 */ +@Slf4j @Service -public class IvrLibaTemplateServiceImpl implements IIvrLibaTemplateService -{ +public class IvrLibaTemplateServiceImpl implements IIvrLibaTemplateService { @Autowired private IvrLibaTemplateMapper ivrLibaTemplateMapper; + @Autowired + private IvrLibaTemplateTagMapper ivrLibaTemplateTagMapper; + + @Autowired + private IvrLibaTemplateTargetMapper ivrLibaTemplateTargetMapper; + + @Autowired + private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper; + + @Autowired + private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper; + /** - * 鏌ヨ璇濇湳妯℃澘搴� - * - * @param templateID 璇濇湳妯℃澘搴撲富閿� - * @return 璇濇湳妯℃澘搴� + * 鏌ヨ妯℃澘搴� + * + * @param ID 妯℃澘搴撲富閿� + * @return 妯℃澘搴� */ @Override - public IvrLibaTemplate selectIvrLibaTemplateByTemplateID(String templateID) - { - return ivrLibaTemplateMapper.selectIvrLibaTemplateByTemplateID(templateID); + public IvrLibaTemplate selectIvrLibaTemplateByID(Long ID) { + return ivrLibaTemplateMapper.selectIvrLibaTemplateByID(ID); } /** - * 鏌ヨ璇濇湳妯℃澘搴撳垪琛� - * - * @param ivrLibaTemplate 璇濇湳妯℃澘搴� - * @return 璇濇湳妯℃澘搴� + * 鏌ヨ妯℃澘搴撳垪琛� + * + * @param ivrLibaTemplate 妯℃澘搴� + * @return 妯℃澘搴� */ @Override - public List<IvrLibaTemplate> selectIvrLibaTemplateList(IvrLibaTemplate ivrLibaTemplate) - { + public List<IvrLibaTemplate> selectIvrLibaTemplateList(IvrLibaTemplate ivrLibaTemplate) { return ivrLibaTemplateMapper.selectIvrLibaTemplateList(ivrLibaTemplate); } /** - * 鏂板璇濇湳妯℃澘搴� - * - * @param ivrLibaTemplate 璇濇湳妯℃澘搴� + * 鏂板妯℃澘搴� + * + * @param ivrLibaTemplate 妯℃澘搴� * @return 缁撴灉 */ @Override - public int insertIvrLibaTemplate(IvrLibaTemplate ivrLibaTemplate) - { + public int insertIvrLibaTemplate(IvrLibaTemplate ivrLibaTemplate) { ivrLibaTemplate.setCreateTime(DateUtils.getNowDate()); return ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate); } /** - * 淇敼璇濇湳妯℃澘搴� - * - * @param ivrLibaTemplate 璇濇湳妯℃澘搴� + * 淇敼妯℃澘搴� + * + * @param ivrLibaTemplate 妯℃澘搴� * @return 缁撴灉 */ @Override - public int updateIvrLibaTemplate(IvrLibaTemplate ivrLibaTemplate) - { + public int updateIvrLibaTemplate(IvrLibaTemplate ivrLibaTemplate) { ivrLibaTemplate.setUpdateTime(DateUtils.getNowDate()); return ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate); } /** - * 鎵归噺鍒犻櫎璇濇湳妯℃澘搴� - * - * @param templateIDs 闇�瑕佸垹闄ょ殑璇濇湳妯℃澘搴撲富閿� + * 鎵归噺鍒犻櫎妯℃澘搴� + * + * @param IDs 闇�瑕佸垹闄ょ殑妯℃澘搴撲富閿� * @return 缁撴灉 */ @Override - public int deleteIvrLibaTemplateByTemplateIDs(String[] templateIDs) - { - return ivrLibaTemplateMapper.deleteIvrLibaTemplateByTemplateIDs(templateIDs); + public int deleteIvrLibaTemplateByIDs(Long[] IDs) { + Integer i = null; + for (Long id : IDs) { + i = ivrLibaTemplateMapper.deleteIvrLibaTemplateByID(id); + } + return i; } /** - * 鍒犻櫎璇濇湳妯℃澘搴撲俊鎭� - * - * @param templateID 璇濇湳妯℃澘搴撲富閿� + * 鍒犻櫎妯℃澘搴撲俊鎭� + * + * @param ID 妯℃澘搴撲富閿� * @return 缁撴灉 */ @Override - public int deleteIvrLibaTemplateByTemplateID(String templateID) - { - return ivrLibaTemplateMapper.deleteIvrLibaTemplateByTemplateID(templateID); + public int deleteIvrLibaTemplateByID(Long ID) { + return ivrLibaTemplateMapper.deleteIvrLibaTemplateByID(ID); } + + /** + * 鏂板鎴栦慨鏀归棶棰樿鎯� + * + * @param ivrLibaTemplateVO + * @return + */ + @Override + public Integer saveOrUpdateTemplate(IvrLibaTemplateVO ivrLibaTemplateVO) { + Integer i = null; + IvrLibaTemplate ivrLibaTemplate = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO, IvrLibaTemplate.class); + if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 1) { + //鏂板 + i = ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate); + } else if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 2) { + //淇敼 + i = ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate); + } + 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()); + ivrLibaTemplateTagMapper.insertIvrLibaTemplateTag(ivrLibaTemplateTag); + } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 2) { + //淇敼 + ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID()); + ivrLibaTemplateTagMapper.updateIvrLibaTemplateTag(ivrLibaTemplateTag); + } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 3) { + //鍒犻櫎 + if (ivrLibaTemplateTag.getId() == null) { + log.info("鍒犻櫎澶辫触,妯℃澘鎸囨爣id涓虹┖"); + } else { + ivrLibaTemplateTagMapper.deleteIvrLibaTemplateTagById(ivrLibaTemplateTag.getId()); + } + } + } + } + + //瀵规ā鏉胯瘽鏈拰閫夐」杩涜澶勭悊锛堣瘽鏈〃涓庢寚鏍囪〃杩涜鍚堝苟浜嗭紝锛� + if (CollectionUtils.isNotEmpty(ivrLibaTemplateVO.getIvrLibaTemplateScriptVOList())) { + for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateVO.getIvrLibaTemplateScriptVOList()) { + if (ivrLibaTemplateScriptVO.getIsoperation() != null && ivrLibaTemplateScriptVO.getIsoperation() == 1) { + //鏂板 + IvrLibaTemplateScript ivrLibaTemplateScript = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScriptVO, IvrLibaTemplateScript.class); + ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID()); + ivrLibaTemplateScriptMapper.insertIvrLibaTemplateScript(ivrLibaTemplateScript); + //瀵归�夐」鐩繘琛屽鐞� + dealOption(ivrLibaTemplateScriptVO.getIvrLibaTemplateTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID()); + + } else if (ivrLibaTemplateScriptVO.getIsoperation() != null && ivrLibaTemplateScriptVO.getIsoperation() == 2) { + //淇敼 + IvrLibaTemplateScript ivrLibaTemplateScript = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScriptVO, IvrLibaTemplateScript.class); + ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID()); + ivrLibaTemplateScriptMapper.updateIvrLibaTemplateScript(ivrLibaTemplateScript); + //瀵归�夐」鐩繘琛屽鐞� + dealOption(ivrLibaTemplateScriptVO.getIvrLibaTemplateTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID()); + + } else if (ivrLibaTemplateScriptVO.getIsoperation() != null && ivrLibaTemplateScriptVO.getIsoperation() == 3) { + //鍒犻櫎 + if (ivrLibaTemplateScriptVO.getID() == null) { + log.info("鍒犻櫎澶辫触,妯℃澘璇濇湳id涓虹┖"); + } else { + ivrLibaTemplateTagMapper.deleteIvrLibaTemplateTagById(ivrLibaTemplateScriptVO.getID()); + } + } + } + } + + return i; + } + + /** + * 閫夐」澶勭悊 + * + * @param ivrLibaTemplateTargetoptionList + * @param ivrLibaTemplateScript + * @param tmpID + */ + private void dealOption(List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptionList, IvrLibaTemplateScript ivrLibaTemplateScript, Long tmpID) { + //瀵规ā鏉挎寚鏍囬�夐」杩涜澶勭悊 + if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoptionList)) { + for (IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption : ivrLibaTemplateTargetoptionList) { + if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 1) { + //鏂板 + ivrLibaTemplateTargetoption.setTemplateID(tmpID); + ivrLibaTemplateTargetoption.setTargetid(ivrLibaTemplateScript.getTargetid()); + ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid()); + ivrLibaTemplateTargetOptionMapper.insertIvrLibaTemplateTargetoption(ivrLibaTemplateTargetoption); + } else if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 2) { + //淇敼 + ivrLibaTemplateTargetoption.setTemplateID(tmpID); + ivrLibaTemplateTargetoption.setTargetid(ivrLibaTemplateScript.getTargetid()); + ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid()); + ivrLibaTemplateTargetOptionMapper.updateIvrLibaTemplateTargetoption(ivrLibaTemplateTargetoption); + } else if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 3) { + //鍒犻櫎 + if (ivrLibaTemplateTargetoption.getId() == null) { + log.info("鍒犻櫎澶辫触,妯℃澘鎸囨爣閫夐」id涓虹┖"); + } else { + ivrLibaTemplateTargetOptionMapper.deleteIvrLibaTemplateTargetoptionById(ivrLibaTemplateTargetoption.getId()); + } + } + } + } + } + + /** + * 鏌ヨ妯℃澘璇︽儏鏍规嵁鏉′欢 + */ + @Override + public IvrLibaTemplateVO selectInfoByCondition(IvrLibaTemplateVO ivrLibaTemplateVO) { + log.info("鏌ヨ妯℃澘璇︽儏鏍规嵁鏉′欢鐨勫叆鍙備负 : {}", ivrLibaTemplateVO); + //鍏堟牴鎹潯浠舵煡璇㈤棶棰樿〃淇℃伅 + IvrLibaTemplate ivrLibaTemplate = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO, IvrLibaTemplate.class); + List<IvrLibaTemplate> ivrLibaTemplates = selectIvrLibaTemplateList(ivrLibaTemplate); + if (CollectionUtils.isEmpty(ivrLibaTemplates)) { + log.info("鎻愪緵鐨勬潯浠�,鏌ヨ妯℃澘璇︽儏鏁版嵁涓虹┖锛歿}", ivrLibaTemplates); + throw new BaseException("鎻愪緵鐨勬潯浠�,鏌ヨ妯℃澘璇︽儏鏁版嵁涓虹┖"); + } + + log.info("ivrLibaTemplates鐨勬煡璇㈢粨鏋滀负:{},鏁伴噺涓� : {}", ivrLibaTemplates.get(0), ivrLibaTemplates.size()); + //瀹氫箟IvrLibaTemplateVO 鐢ㄤ簬杩斿弬 + IvrLibaTemplateVO templateVO = DtoConversionUtils.sourceToTarget(ivrLibaTemplates.get(0), IvrLibaTemplateVO.class); + + //鑾峰彇tag淇℃伅 + IvrLibaTemplateTag ivrLibaTemplateTag = new IvrLibaTemplateTag(); + ivrLibaTemplateTag.setTemplateid(ivrLibaTemplates.get(0).getID()); + List<IvrLibaTemplateTag> ivrLibaTemplateTags = ivrLibaTemplateTagMapper.selectIvrLibaTemplateTagList(ivrLibaTemplateTag); + + //鏌ヨ璇濇湳 + IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript(); + 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鐨勪富閿甶d涓猴細{}", ivrLibaTemplateScriptVO.getID()); + IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption(); + ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getID()); + List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption); + ivrLibaTemplateScriptVO.setIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoptions); + } + + //鏁版嵁缁勮 + templateVO.setIvrLibaTemplateTagList(ivrLibaTemplateTags); + templateVO.setIvrLibaTemplateScriptVOList(ivrLibaTemplateScriptVOS); + return templateVO; + } + } -- Gitblit v1.9.3