From 3fc51e7cbdabb7dcd1615c6efac52323f6ca8adb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 03 七月 2024 18:28:34 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java |  136 +++++++++++++++++++++++++++++++-------------
 1 files changed, 95 insertions(+), 41 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 62649a3..1fa2142 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTemplateServiceImpl.java
@@ -1,8 +1,13 @@
 package com.smartor.service.impl;
 
+import com.alibaba.fastjson2.JSON;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
 import com.smartor.service.IIvrLibaTemplateService;
@@ -11,7 +16,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import java.util.*;
 
 /**
  * 妯℃澘搴揝ervice涓氬姟灞傚鐞�
@@ -27,9 +32,6 @@
 
     @Autowired
     private IvrLibaTemplateTagMapper ivrLibaTemplateTagMapper;
-
-    @Autowired
-    private IvrLibaTemplateTargetMapper ivrLibaTemplateTargetMapper;
 
     @Autowired
     private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper;
@@ -124,10 +126,14 @@
         IvrLibaTemplate ivrLibaTemplate = DtoConversionUtils.sourceToTarget(ivrLibaTemplateVO, IvrLibaTemplate.class);
         if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 1) {
             //鏂板
-            i = ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate);
+            ivrLibaTemplate.setCreateTime(new Date());
+            ivrLibaTemplateMapper.insertIvrLibaTemplate(ivrLibaTemplate);
+            i = ivrLibaTemplate.getID().intValue();
         } else if (ivrLibaTemplateVO.getIsoperation() != null && ivrLibaTemplateVO.getIsoperation() == 2) {
             //淇敼
-            i = ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate);
+            ivrLibaTemplate.setUpdateTime(new Date());
+            ivrLibaTemplateMapper.updateIvrLibaTemplate(ivrLibaTemplate);
+            i = ivrLibaTemplate.getID().intValue();
         }
         log.info("鏂板鎴栦慨鏀规ā鏉胯鎯呯殑id涓猴細{}", ivrLibaTemplate.getID());
 
@@ -137,16 +143,19 @@
                 if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 1) {
                     //鏂板
                     ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID());
+                    ivrLibaTemplateTag.setCreateTime(new Date());
                     ivrLibaTemplateTagMapper.insertIvrLibaTemplateTag(ivrLibaTemplateTag);
                 } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 2) {
                     //淇敼
                     ivrLibaTemplateTag.setTemplateid(ivrLibaTemplate.getID());
+                    ivrLibaTemplateTag.setUploadTime(new Date());
                     ivrLibaTemplateTagMapper.updateIvrLibaTemplateTag(ivrLibaTemplateTag);
                 } else if (ivrLibaTemplateTag.getIsoperation() != null && ivrLibaTemplateTag.getIsoperation() == 3) {
                     //鍒犻櫎
                     if (ivrLibaTemplateTag.getId() == null) {
                         log.info("鍒犻櫎澶辫触,妯℃澘鎸囨爣id涓虹┖");
                     } else {
+                        ivrLibaTemplateTag.setUploadTime(new Date());
                         ivrLibaTemplateTagMapper.deleteIvrLibaTemplateTagById(ivrLibaTemplateTag.getId());
                     }
                 }
@@ -156,29 +165,12 @@
         //瀵规ā鏉胯瘽鏈拰閫夐」杩涜澶勭悊锛堣瘽鏈〃涓庢寚鏍囪〃杩涜鍚堝苟浜嗭紝锛�
         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());
-                    }
+                if (ivrLibaTemplateScriptVO.getIsoperation() != null) {
+                    IvrLibaTemplateScript ivrLibaTemplateScript = scriptHandle(ivrLibaTemplate, ivrLibaTemplateScriptVO, 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());
                 }
             }
         }
@@ -189,13 +181,45 @@
                 //鏂板
                 tempDetpRelevance.setTempid(ivrLibaTemplate.getID());
                 tempDetpRelevance.setType(2L);
+                tempDetpRelevance.setCreateTime(new Date());
                 tempDetpRelevanceMapper.insertTempDetpRelevance(tempDetpRelevance);
             } else {
+                tempDetpRelevance.setUpdateTime(new Date());
                 tempDetpRelevanceMapper.updateTempDetpRelevance(tempDetpRelevance);
             }
         }
 
         return i;
+    }
+
+    private IvrLibaTemplateScript scriptHandle(IvrLibaTemplate ivrLibaTemplate, IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO, Integer isoperation) {
+        IvrLibaTemplateScript ivrLibaTemplateScript = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScriptVO, IvrLibaTemplateScript.class);
+        if (isoperation == 1) {
+            //鏂板
+            ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID());
+            ivrLibaTemplateScript.setCreateTime(new Date());
+            ivrLibaTemplateScriptMapper.insertIvrLibaTemplateScript(ivrLibaTemplateScript);
+            //瀵归�夐」鐩繘琛屽鐞�
+            dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID(),isoperation);
+
+        } else if (isoperation == 2) {
+            //淇敼
+            ivrLibaTemplateScript.setTemplateID(ivrLibaTemplate.getID());
+            ivrLibaTemplateScript.setUpdateTime(new Date());
+            ivrLibaTemplateScriptMapper.updateIvrLibaTemplateScript(ivrLibaTemplateScript);
+            //瀵归�夐」鐩繘琛屽鐞�
+            dealOption(ivrLibaTemplateScriptVO.getIvrLibaScriptTargetoptionList(), ivrLibaTemplateScript, ivrLibaTemplate.getID(), isoperation);
+
+        } else if (isoperation == 3) {
+            //鍒犻櫎
+            if (ivrLibaTemplateScriptVO.getID() == null) {
+                log.info("鍒犻櫎澶辫触,妯℃澘璇濇湳id涓虹┖");
+            } else {
+                ivrLibaTemplateScriptVO.setUpdateTime(new Date());
+                ivrLibaTemplateScriptMapper.deleteIvrLibaTemplateScriptByID(ivrLibaTemplateScriptVO.getID());
+            }
+        }
+        return ivrLibaTemplateScript;
     }
 
     /**
@@ -205,23 +229,36 @@
      * @param ivrLibaTemplateScript
      * @param tmpID
      */
-    private void dealOption(List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptionList, IvrLibaTemplateScript ivrLibaTemplateScript, Long tmpID) {
+    private void dealOption(List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptionList, IvrLibaTemplateScript ivrLibaTemplateScript, Long tmpID, Integer isoperation) {
+        log.info("ivrLibaTemplateScript鐨勫�间负锛歿}", ivrLibaTemplateScript);
         //瀵规ā鏉挎寚鏍囬�夐」杩涜澶勭悊
+        Integer lsIsoperation = isoperation;
         if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoptionList)) {
             for (IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption : ivrLibaTemplateTargetoptionList) {
-                if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 1) {
+                if (ivrLibaTemplateTargetoption.getIsoperation() != null) {
+                    isoperation = ivrLibaTemplateTargetoption.getIsoperation();
+                } else {
+                    isoperation = lsIsoperation;
+                }
+                if (isoperation == 1) {
                     //鏂板
                     ivrLibaTemplateTargetoption.setTemplateID(tmpID);
-                    ivrLibaTemplateTargetoption.setTargetid(ivrLibaTemplateScript.getTargetid());
-                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid());
+                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getID());
+                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getDynamiccruxs()))
+                        ivrLibaTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(ivrLibaTemplateTargetoption.getDynamiccruxs()));
+                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getNodynamiccruxs()))
+                        ivrLibaTemplateTargetoption.setNodynamiccruxsJson(JSON.toJSONString(ivrLibaTemplateTargetoption.getNodynamiccruxs()));
                     ivrLibaTemplateTargetOptionMapper.insertIvrLibaTemplateTargetoption(ivrLibaTemplateTargetoption);
-                } else if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 2) {
+                } else if (isoperation == 2) {
                     //淇敼
                     ivrLibaTemplateTargetoption.setTemplateID(tmpID);
-                    ivrLibaTemplateTargetoption.setTargetid(ivrLibaTemplateScript.getTargetid());
-                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getScriptid());
+                    ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScript.getID());
+                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getDynamiccruxs()))
+                        ivrLibaTemplateTargetoption.setDynamiccruxsJson(JSON.toJSONString(ivrLibaTemplateTargetoption.getDynamiccruxs()));
+                    if (CollectionUtils.isNotEmpty(ivrLibaTemplateTargetoption.getNodynamiccruxs()))
+                        ivrLibaTemplateTargetoption.setNodynamiccruxsJson(JSON.toJSONString(ivrLibaTemplateTargetoption.getNodynamiccruxs()));
                     ivrLibaTemplateTargetOptionMapper.updateIvrLibaTemplateTargetoption(ivrLibaTemplateTargetoption);
-                } else if (ivrLibaTemplateTargetoption.getIsoperation() != null && ivrLibaTemplateTargetoption.getIsoperation() == 3) {
+                } else if (isoperation == 3) {
                     //鍒犻櫎
                     if (ivrLibaTemplateTargetoption.getId() == null) {
                         log.info("鍒犻櫎澶辫触,妯℃澘鎸囨爣閫夐」id涓虹┖");
@@ -246,8 +283,6 @@
             log.info("鎻愪緵鐨勬潯浠�,鏌ヨ妯℃澘璇︽儏鏁版嵁涓虹┖锛歿}", ivrLibaTemplates);
             throw new BaseException("鎻愪緵鐨勬潯浠�,鏌ヨ妯℃澘璇︽儏鏁版嵁涓虹┖");
         }
-
-        log.info("ivrLibaTemplates鐨勬煡璇㈢粨鏋滀负:{},鏁伴噺涓� : {}", ivrLibaTemplates.get(0), ivrLibaTemplates.size());
         //瀹氫箟IvrLibaTemplateVO 鐢ㄤ簬杩斿弬
         IvrLibaTemplateVO templateVO = DtoConversionUtils.sourceToTarget(ivrLibaTemplates.get(0), IvrLibaTemplateVO.class);
 
@@ -268,9 +303,28 @@
             IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
             ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getID());
             List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
-            ivrLibaTemplateScriptVO.setIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoptions);
-        }
+            for (IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption1 : ivrLibaTemplateTargetoptions) {
+                ObjectMapper mapper = new ObjectMapper();
+                if (!StringUtils.isEmpty(ivrLibaTemplateTargetoption1.getDynamiccruxsJson())) {
+                    try {
+                        ivrLibaTemplateTargetoption1.setDynamiccruxs(mapper.readValue(ivrLibaTemplateTargetoption1.getDynamiccruxsJson(), List.class));
+                    } catch (JsonProcessingException e) {
+                        e.printStackTrace();
+                    }
+                }
 
+                if (!StringUtils.isEmpty(ivrLibaTemplateTargetoption1.getNodynamiccruxsJson())) {
+                    try {
+                        ivrLibaTemplateTargetoption1.setNodynamiccruxs(mapper.readValue(ivrLibaTemplateTargetoption1.getNodynamiccruxsJson(), List.class));
+                    } catch (JsonProcessingException e) {
+                        e.printStackTrace();
+                    }
+                }
+
+            }
+            ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
+        }
+        Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparing(IvrLibaTemplateScriptVO::getTargetid));
         //鏁版嵁缁勮
         templateVO.setIvrLibaTemplateTagList(ivrLibaTemplateTags);
         templateVO.setIvrLibaTemplateScriptVOList(ivrLibaTemplateScriptVOS);

--
Gitblit v1.9.3