From 6a58a5a148c27c9ff66901bfbae6e52c1a56b5d2 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 04 七月 2024 17:17:53 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java | 208 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 193 insertions(+), 15 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java
index 7ec8061..15cf5da 100644
--- a/smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/SvyTaskTemplateServiceImpl.java
@@ -1,12 +1,25 @@
package com.smartor.service.impl;
+import com.alibaba.fastjson2.JSON;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
-import com.smartor.domain.SvyTaskTemplate;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.*;
import com.smartor.mapper.SvyTaskTemplateMapper;
+import com.smartor.mapper.SvyTaskTemplateScriptMapper;
+import com.smartor.mapper.SvyTaskTemplateTargetoptionMapper;
import com.smartor.service.ISvyTaskTemplateService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
import java.util.List;
/**
@@ -15,11 +28,17 @@
* @author ruoyi
* @date 2024-06-12
*/
+@Slf4j
@Service
-public class SvyTaskTemplateServiceImpl implements ISvyTaskTemplateService
-{
+public class SvyTaskTemplateServiceImpl implements ISvyTaskTemplateService {
@Autowired
private SvyTaskTemplateMapper svyTaskTemplateMapper;
+
+ @Autowired
+ private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper;
+
+ @Autowired
+ private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper;
/**
* 鏌ヨ浠诲姟闂嵎妯℃澘
@@ -28,8 +47,7 @@
* @return 浠诲姟闂嵎妯℃澘
*/
@Override
- public SvyTaskTemplate selectSvyTaskTemplateBySvyid(Long svyid)
- {
+ public SvyTaskTemplate selectSvyTaskTemplateBySvyid(Long svyid) {
return svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(svyid);
}
@@ -40,8 +58,7 @@
* @return 浠诲姟闂嵎妯℃澘
*/
@Override
- public List<SvyTaskTemplate> selectSvyTaskTemplateList(SvyTaskTemplate svyTaskTemplate)
- {
+ public List<SvyTaskTemplate> selectSvyTaskTemplateList(SvyTaskTemplate svyTaskTemplate) {
return svyTaskTemplateMapper.selectSvyTaskTemplateList(svyTaskTemplate);
}
@@ -52,8 +69,7 @@
* @return 缁撴灉
*/
@Override
- public int insertSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate)
- {
+ public int insertSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate) {
svyTaskTemplate.setCreateTime(DateUtils.getNowDate());
return svyTaskTemplateMapper.insertSvyTaskTemplate(svyTaskTemplate);
}
@@ -65,8 +81,7 @@
* @return 缁撴灉
*/
@Override
- public int updateSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate)
- {
+ public int updateSvyTaskTemplate(SvyTaskTemplate svyTaskTemplate) {
svyTaskTemplate.setUpdateTime(DateUtils.getNowDate());
return svyTaskTemplateMapper.updateSvyTaskTemplate(svyTaskTemplate);
}
@@ -78,8 +93,7 @@
* @return 缁撴灉
*/
@Override
- public int deleteSvyTaskTemplateBySvyids(Long[] svyids)
- {
+ public int deleteSvyTaskTemplateBySvyids(Long[] svyids) {
return svyTaskTemplateMapper.deleteSvyTaskTemplateBySvyids(svyids);
}
@@ -90,8 +104,172 @@
* @return 缁撴灉
*/
@Override
- public int deleteSvyTaskTemplateBySvyid(Long svyid)
- {
+ public int deleteSvyTaskTemplateBySvyid(Long svyid) {
return svyTaskTemplateMapper.deleteSvyTaskTemplateBySvyid(svyid);
}
+
+ /**
+ * 鏂板鎴栦慨鏀归棶棰樿鎯�
+ *
+ * @param svyTaskTemplateVO
+ * @return
+ */
+ @Override
+ public Integer saveOrUpdateTemplate(SvyTaskTemplateVO svyTaskTemplateVO) {
+ Integer i = null;
+ SvyTaskTemplate svyTaskTemplate = DtoConversionUtils.sourceToTarget(svyTaskTemplateVO, SvyTaskTemplate.class);
+ if (svyTaskTemplateVO.getIsoperation() != null && svyTaskTemplateVO.getIsoperation() == 1) {
+ //鏂板
+ svyTaskTemplate.setCreateTime(new Date());
+ svyTaskTemplateMapper.insertSvyTaskTemplate(svyTaskTemplate);
+ i = svyTaskTemplate.getId().intValue();
+ } else if (svyTaskTemplateVO.getIsoperation() != null && svyTaskTemplateVO.getIsoperation() == 2) {
+ //淇敼
+ svyTaskTemplate.setUpdateTime(new Date());
+ svyTaskTemplateMapper.updateSvyTaskTemplate(svyTaskTemplate);
+ i = svyTaskTemplate.getId().intValue();
+ }
+ log.info("鏂板鎴栦慨鏀归棶鍗蜂换鍔℃ā鏉胯鎯呯殑id涓猴細{}", svyTaskTemplate.getId());
+
+ //瀵规ā鏉胯瘽鏈拰閫夐」杩涜澶勭悊锛堣瘽鏈〃涓庢寚鏍囪〃杩涜鍚堝苟浜嗭紝锛�
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateVO.getSvyTaskTemplateScriptVOS())) {
+ log.error("ivrTaskTemplateVO.getIvrTaskTemplateScriptVOList()鏄惁鏈夋暟鎹搱锛歿}", svyTaskTemplateVO.getSvyTaskTemplateScriptVOS());
+ for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateVO.getSvyTaskTemplateScriptVOS()) {
+ if (svyTaskTemplateScriptVO.getIsoperation() != null) {
+ SvyTaskTemplateScript svyTaskTemplateScript = scriptHandle(svyTaskTemplate, svyTaskTemplateScriptVO, svyTaskTemplateScriptVO.getIsoperation());
+ dealOption(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions(), svyTaskTemplateScript, svyTaskTemplate.getId(), svyTaskTemplateScriptVO.getIsoperation());
+ } else {
+ SvyTaskTemplateScript svyTaskTemplateScript = scriptHandle(svyTaskTemplate, svyTaskTemplateScriptVO, svyTaskTemplateVO.getIsoperation());
+ dealOption(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions(), svyTaskTemplateScript, svyTaskTemplate.getId(), svyTaskTemplateVO.getIsoperation());
+ }
+ }
+ }
+ return i;
+ }
+
+
+ /**
+ * 鏌ヨ妯℃澘璇︽儏鏍规嵁鏉′欢
+ */
+ @Override
+ public SvyTaskTemplateVO selectInfoByCondition(SvyTaskTemplateVO svyTaskTemplateVO) {
+ log.info("selectInfoByCondition鏌ヨ妯℃澘璇︽儏鏍规嵁鏉′欢鐨勫叆鍙備负 : {}", svyTaskTemplateVO);
+ //鍏堟牴鎹潯浠舵煡璇㈤棶棰樿〃淇℃伅
+ SvyTaskTemplate svyTaskTemplate = DtoConversionUtils.sourceToTarget(svyTaskTemplateVO, SvyTaskTemplate.class);
+ List<SvyTaskTemplate> svyTaskTemplates = selectSvyTaskTemplateList(svyTaskTemplate);
+ if (CollectionUtils.isEmpty(svyTaskTemplates)) {
+ log.info("妯℃澘淇℃伅鎻愪緵鐨勬潯浠�,鏌ヨ妯℃澘璇︽儏鏁版嵁涓虹┖锛歿}", svyTaskTemplates);
+ throw new BaseException("妯℃澘淇℃伅鎻愪緵鐨勬潯浠�,鏌ヨ妯℃澘璇︽儏鏁版嵁涓虹┖");
+ }
+
+ log.info("svyLibaTemplates鐨勬煡璇㈢粨鏋滀负:{},鏁伴噺涓� : {}", svyTaskTemplates.get(0), svyTaskTemplates.size());
+ //瀹氫箟IvrLibaTemplateVO 鐢ㄤ簬杩斿弬
+ SvyTaskTemplateVO templateVO = DtoConversionUtils.sourceToTarget(svyTaskTemplates.get(0), SvyTaskTemplateVO.class);
+
+ //鏌ヨ璇濇湳
+ SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript();
+ svyTaskTemplateScript.setTemplateID(svyTaskTemplates.get(0).getId());
+ List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript);
+ List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyTaskTemplateScripts, SvyTaskTemplateScriptVO.class);
+
+ //閫氳繃璇濇湳ID鑾峰彇閫夐」
+ for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) {
+ log.info("svyLibaTemplateScriptVO鐨勪富閿甶d涓猴細{}", svyTaskTemplateScriptVO.getID());
+ SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption();
+ svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getID());
+ List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption);
+ for (SvyTaskTemplateTargetoption svyTaskTemplateTargetoption1 : svyTaskTemplateTargetoptions) {
+ ObjectMapper mapper = new ObjectMapper();
+ if (!StringUtils.isEmpty(svyTaskTemplateTargetoption1.getDynamiccruxs())) {
+ try {
+ svyTaskTemplateTargetoption1.setDynamiccruxs(mapper.readValue(svyTaskTemplateTargetoption1.getDynamiccruxsJson(), List.class));
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ }
+
+ if (!StringUtils.isEmpty(svyTaskTemplateTargetoption1.getNodynamiccruxs())) {
+ try {
+ svyTaskTemplateTargetoption1.setNodynamiccruxs(mapper.readValue(svyTaskTemplateTargetoption1.getNodynamiccruxsJson(), List.class));
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+ svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
+ }
+ Collections.sort(svyTaskTemplateScriptVOS, Comparator.comparing(SvyTaskTemplateScriptVO::getTargetid));
+ //鏁版嵁缁勮
+ templateVO.setSvyTaskTemplateScriptVOS(svyTaskTemplateScriptVOS);
+ return templateVO;
+ }
+
+
+ private SvyTaskTemplateScript scriptHandle(SvyTaskTemplate svyTaskTemplate, SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Integer isoperation) {
+ SvyTaskTemplateScript svyTaskTemplateScript = DtoConversionUtils.sourceToTarget(svyTaskTemplateScriptVO, SvyTaskTemplateScript.class);
+ if (isoperation == 1) {
+ //鏂板
+ svyTaskTemplateScript.setTemplateID(svyTaskTemplate.getId());
+ svyTaskTemplateScript.setCreateTime(new Date());
+ svyTaskTemplateScriptMapper.insertSvyTaskTemplateScript(svyTaskTemplateScript);
+ svyTaskTemplateScript.setIsoperation(1);
+ } else if (isoperation == 2) {
+ //淇敼
+ svyTaskTemplateScript.setTemplateID(svyTaskTemplate.getId());
+ svyTaskTemplateScript.setUpdateTime(new Date());
+ svyTaskTemplateScriptMapper.updateSvyTaskTemplateScript(svyTaskTemplateScript);
+ svyTaskTemplateScript.setIsoperation(2);
+ } else if (isoperation == 3) {
+ if (svyTaskTemplateScriptVO.getID() == null) {
+ log.info("鍒犻櫎澶辫触,妯℃澘璇濇湳id涓虹┖");
+ } else {
+ svyTaskTemplateScriptVO.setUpdateTime(new Date());
+ svyTaskTemplateScriptMapper.deleteSvyTaskTemplateScriptByID(svyTaskTemplateScriptVO.getID());
+ }
+ }
+ return svyTaskTemplateScript;
+ }
+
+ private void dealOption(List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions, SvyTaskTemplateScript svyTaskTemplateScript, Long tmpID, Integer isoperation) {
+ log.info("svyTaskTemplateScript鐨勫�间负锛歿}", svyTaskTemplateScript);
+ Integer lsIsoperation = isoperation;
+ //瀵规ā鏉挎寚鏍囬�夐」杩涜澶勭悊
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoptions)) {
+ for (SvyTaskTemplateTargetoption svyTaskTemplateTargetoption : svyTaskTemplateTargetoptions) {
+ // 濡傛灉閫夐」鏈韩鐨刼peration涓嶄负绌猴紝灏辩敤鑷繁鐨�;涓嶇劧锛屽氨鐢ㄤ紶杩囨潵鐨�
+ if (svyTaskTemplateTargetoption.getIsoperation() != null) {
+ isoperation = svyTaskTemplateTargetoption.getIsoperation();
+ } else {
+ isoperation = lsIsoperation;
+ }
+ if (isoperation == 1) {
+ //鏂板
+ svyTaskTemplateTargetoption.setTemplateID(tmpID);
+ svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScript.getID());
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoption.getDynamiccruxs()))
+ svyTaskTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(svyTaskTemplateTargetoption.getDynamiccruxs()));
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoption.getNodynamiccruxs()))
+ svyTaskTemplateTargetoption.setNodynamiccruxsJson(JSON.toJSONString(svyTaskTemplateTargetoption.getNodynamiccruxs()));
+ svyTaskTemplateTargetoptionMapper.insertSvyTaskTemplateTargetoption(svyTaskTemplateTargetoption);
+ } else if (isoperation == 2) {
+ //淇敼
+ svyTaskTemplateTargetoption.setTemplateID(tmpID);
+ svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScript.getID());
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoption.getDynamiccruxs()))
+ svyTaskTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(svyTaskTemplateTargetoption.getDynamiccruxs()));
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoption.getNodynamiccruxs()))
+ svyTaskTemplateTargetoption.setNodynamiccruxsJson(JSON.toJSONString(svyTaskTemplateTargetoption.getNodynamiccruxs()));
+ svyTaskTemplateTargetoptionMapper.updateSvyTaskTemplateTargetoption(svyTaskTemplateTargetoption);
+ } else if (isoperation == 3) {
+ //鍒犻櫎
+ if (svyTaskTemplateTargetoption.getId() == null) {
+ log.info("鍒犻櫎澶辫触,妯℃澘鎸囨爣閫夐」id涓虹┖");
+ } else {
+ svyTaskTemplateTargetoptionMapper.deleteSvyTaskTemplateTargetoptionById(svyTaskTemplateTargetoption.getId());
+ }
+ }
+ }
+ }
+ }
}
--
Gitblit v1.9.3