From 52a0bf7637b725f0b6bf18a03962b0636f7074fb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 22 十二月 2023 18:14:40 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java |  234 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 185 insertions(+), 49 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java
index 25cd10d..f0e42de 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptServiceImpl.java
@@ -1,96 +1,232 @@
 package com.smartor.service.impl;
 
-import java.util.List;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.IvrLibaScriptMapper;
+import com.smartor.mapper.IvrLibaScriptTagMapper;
+import com.smartor.mapper.IvrLibaScriptTargetMapper;
+import com.smartor.mapper.IvrLibaScriptTargetoptionMapper;
+import com.smartor.service.IIvrLibaScriptService;
+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.IvrLibaScriptMapper;
-import com.smartor.domain.IvrLibaScript;
-import com.smartor.service.IIvrLibaScriptService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
- * 璇濇湳搴揝ervice涓氬姟灞傚鐞�
- * 
- * @author smartor
- * @date 2023-03-22
+ * 闂璇濇湳搴揝ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2023-12-21
  */
+@Slf4j
 @Service
-public class IvrLibaScriptServiceImpl implements IIvrLibaScriptService 
-{
+public class IvrLibaScriptServiceImpl implements IIvrLibaScriptService {
     @Autowired
     private IvrLibaScriptMapper ivrLibaScriptMapper;
 
+    @Autowired
+    private IvrLibaScriptTagMapper ivrLibaScriptTagMapper;
+
+    @Autowired
+    private IvrLibaScriptTargetoptionMapper ivrLibaScriptTargetoptionMapper;
+
+    @Autowired
+    private IvrLibaScriptTargetMapper ivrLibaScriptTargetMapper;
+
     /**
-     * 鏌ヨ璇濇湳搴�
-     * 
-     * @param questionid 璇濇湳搴撲富閿�
-     * @return 璇濇湳搴�
+     * 鏌ヨ闂璇濇湳搴�
+     *
+     * @param questionid 闂璇濇湳搴撲富閿�
+     * @return 闂璇濇湳搴�
      */
     @Override
-    public IvrLibaScript selectIvrLibaScriptByQuestionid(String questionid)
-    {
+    public IvrLibaScript selectIvrLibaScriptByQuestionid(String questionid) {
         return ivrLibaScriptMapper.selectIvrLibaScriptByQuestionid(questionid);
     }
 
     /**
-     * 鏌ヨ璇濇湳搴撳垪琛�
-     * 
-     * @param ivrLibaScript 璇濇湳搴�
-     * @return 璇濇湳搴�
+     * 鏌ヨ闂璇濇湳搴撳垪琛�
+     *
+     * @param ivrLibaScript 闂璇濇湳搴�
+     * @return 闂璇濇湳搴�
      */
     @Override
-    public List<IvrLibaScript> selectIvrLibaScriptList(IvrLibaScript ivrLibaScript)
-    {
+    public List<IvrLibaScript> selectIvrLibaScriptList(IvrLibaScript ivrLibaScript) {
         return ivrLibaScriptMapper.selectIvrLibaScriptList(ivrLibaScript);
     }
 
     /**
-     * 鏂板璇濇湳搴�
-     * 
-     * @param ivrLibaScript 璇濇湳搴�
+     * 鏌ヨ闂璇濇湳璇︽儏鏍规嵁鏉′欢
+     */
+    @Override
+    public IvrLibaScriptVO selectInfoByCondition(IvrLibaScriptVO ivrLibaScriptVO) {
+        log.info("鏌ヨ闂璇濇湳璇︽儏鏍规嵁鏉′欢鐨勫叆鍙備负 : {}", ivrLibaScriptVO);
+        //鍏堟牴鎹潯浠舵煡璇㈤棶棰樿〃淇℃伅
+        IvrLibaScript ivrLibaScript = DtoConversionUtils.sourceToTarget(ivrLibaScriptVO, IvrLibaScript.class);
+        List<IvrLibaScript> ivrLibaScripts = selectIvrLibaScriptList(ivrLibaScript);
+        if (CollectionUtils.isEmpty(ivrLibaScripts)) {
+            log.info("鎻愪緵鐨勬潯浠�,鏌ヨ鏁版嵁涓虹┖锛歿}", ivrLibaScript);
+            return null;
+        }
+        log.info("ivrLibaScript鐨勬煡璇㈢粨鏋滀负:{},鏁伴噺涓� : {}", ivrLibaScripts.get(0), ivrLibaScripts.size());
+        //瀹氫箟IvrLibaScriptVO 鐢ㄤ簬杩斿弬
+        IvrLibaScriptVO scriptVO = DtoConversionUtils.sourceToTarget(ivrLibaScripts.get(0), IvrLibaScriptVO.class);
+
+        //鑾峰彇tag淇℃伅
+        IvrLibaScriptTag ivrLibaScriptTag = new IvrLibaScriptTag();
+        ivrLibaScriptTag.setScriptid(ivrLibaScripts.get(0).getId());
+        List<IvrLibaScriptTag> ivrLibaScriptTags = ivrLibaScriptTagMapper.selectIvrLibaScriptTagList(ivrLibaScriptTag);
+        scriptVO.setIvrLibaScriptTagList(ivrLibaScriptTags);
+
+        //鑾峰彇option淇℃伅
+        IvrLibaScriptTargetoption ivrLibaScriptTargetoption = new IvrLibaScriptTargetoption();
+        ivrLibaScriptTargetoption.setScriptid(ivrLibaScripts.get(0).getId());
+        List<IvrLibaScriptTargetoption> ivrLibaScriptTargetoptions = ivrLibaScriptTargetoptionMapper.selectIvrLibaScriptTargetoptionList(ivrLibaScriptTargetoption);
+        scriptVO.setIvrLibaScriptTargetoptionList(ivrLibaScriptTargetoptions);
+
+        //鏌ヨ闂鎸囨爣鎺ュ彛
+        IvrLibaScriptTarget ivrLibaScriptTarget = new IvrLibaScriptTarget();
+        ivrLibaScriptTarget.setScriptid(ivrLibaScripts.get(0).getId());
+        List<IvrLibaScriptTarget> ivrLibaScriptTargets = ivrLibaScriptTargetMapper.selectIvrLibaScriptTargetList(ivrLibaScriptTarget);
+        scriptVO.setIvrLibaScriptTargetList(ivrLibaScriptTargets);
+
+        return scriptVO;
+    }
+
+    /**
+     * 鏂板鎴栦慨鏀归棶棰樿鎯�
+     *
+     * @param ivrLibaScriptVO
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Integer saveOrUpdateScript(IvrLibaScriptVO ivrLibaScriptVO) {
+        IvrLibaScript ivrLibaScript = DtoConversionUtils.sourceToTarget(ivrLibaScriptVO, IvrLibaScript.class);
+        //瀵归棶棰樿〃杩涜鏁版嵁澶勭悊
+        Integer i = null;
+        if (ivrLibaScriptVO.getIsoperation() != null && ivrLibaScriptVO.getIsoperation() == 1) {
+            i = ivrLibaScriptMapper.insertIvrLibaScript(ivrLibaScript);
+        } else if (ivrLibaScriptVO.getIsoperation() != null && ivrLibaScriptVO.getIsoperation() == 2) {
+            i = ivrLibaScriptMapper.updateIvrLibaScript(ivrLibaScript);
+        }
+        log.info("闂琛ㄥ搴旂殑id涓猴細{}", ivrLibaScript.getId());
+
+        //瀵归棶棰樻寚鏍囪繘琛屽鐞�
+        if (CollectionUtils.isNotEmpty(ivrLibaScriptVO.getIvrLibaScriptTargetList())) {
+            for (IvrLibaScriptTarget ivrLibaScriptTarget : ivrLibaScriptVO.getIvrLibaScriptTargetList()) {
+                if (ivrLibaScriptTarget.getIsoperation() != null && ivrLibaScriptTarget.getIsoperation() == 1) {
+                    //鏂板
+                    ivrLibaScriptTarget.setScriptid(ivrLibaScript.getId());
+                    ivrLibaScriptTargetMapper.insertIvrLibaScriptTarget(ivrLibaScriptTarget);
+                } else if (ivrLibaScriptTarget.getIsoperation() != null && ivrLibaScriptTarget.getIsoperation() == 2) {
+                    //淇敼
+                    ivrLibaScriptTarget.setScriptid(ivrLibaScript.getId());
+                    ivrLibaScriptTargetMapper.updateIvrLibaScriptTarget(ivrLibaScriptTarget);
+                } else if (ivrLibaScriptTarget.getIsoperation() != null && ivrLibaScriptTarget.getIsoperation() == 3) {
+                    //鍒犻櫎
+                    if (ivrLibaScriptTarget.getId() == null) {
+                        log.info("鍒犻櫎澶辫触,闂鎸囨爣id涓虹┖");
+                    } else {
+                        ivrLibaScriptTargetMapper.deleteIvrLibaScriptTargetByQuestionTargetID(ivrLibaScriptTarget.getId());
+                    }
+                }
+            }
+        }
+
+        //瀵归棶棰樻寚鏍囬�夐」杩涜澶勭悊
+        if (CollectionUtils.isNotEmpty(ivrLibaScriptVO.getIvrLibaScriptTargetoptionList())) {
+            for (IvrLibaScriptTargetoption ivrLibaScriptTargetoption : ivrLibaScriptVO.getIvrLibaScriptTargetoptionList()) {
+                if (ivrLibaScriptTargetoption.getIsoperation() != null && ivrLibaScriptTargetoption.getIsoperation() == 1) {
+                    //鏂板
+                    ivrLibaScriptTargetoption.setScriptid(ivrLibaScript.getId());
+                    ivrLibaScriptTargetoptionMapper.insertIvrLibaScriptTargetoption(ivrLibaScriptTargetoption);
+                }
+                if (ivrLibaScriptTargetoption.getIsoperation() != null && ivrLibaScriptTargetoption.getIsoperation() == 2) {
+                    //淇敼
+                    ivrLibaScriptTargetoption.setScriptid(ivrLibaScript.getId());
+                    ivrLibaScriptTargetoptionMapper.updateIvrLibaScriptTargetoption(ivrLibaScriptTargetoption);
+                }
+                if (ivrLibaScriptTargetoption.getIsoperation() != null && ivrLibaScriptTargetoption.getIsoperation() == 3) {
+                    //鍒犻櫎
+                    if (ivrLibaScriptTargetoption.getId() == null) {
+                        log.info("鍒犻櫎澶辫触,闂鎸囨爣閫夐」id涓虹┖");
+                    } else {
+                        ivrLibaScriptTargetoptionMapper.deleteIvrLibaScriptTargetoptionByTargetoptionid(ivrLibaScriptTargetoption.getId());
+                    }
+                }
+            }
+        }
+
+        //瀵归棶棰樻爣绛捐繘琛屽鐞�
+        if (CollectionUtils.isNotEmpty(ivrLibaScriptVO.getIvrLibaScriptTagList())) {
+            for (IvrLibaScriptTag ivrLibaScriptTag : ivrLibaScriptVO.getIvrLibaScriptTagList()) {
+                if (ivrLibaScriptTag.getIsoperation() != null && ivrLibaScriptTag.getIsoperation() == 1) {
+                    //鏂板
+                    ivrLibaScriptTag.setScriptid(ivrLibaScript.getId());
+                    ivrLibaScriptTagMapper.insertIvrLibaScriptTag(ivrLibaScriptTag);
+                }
+                if (ivrLibaScriptTag.getIsoperation() != null && ivrLibaScriptTag.getIsoperation() == 2) {
+                    //淇敼
+                    ivrLibaScriptTag.setScriptid(ivrLibaScript.getId());
+                    ivrLibaScriptTagMapper.updateIvrLibaScriptTag(ivrLibaScriptTag);
+                }
+                if (ivrLibaScriptTag.getIsoperation() != null && ivrLibaScriptTag.getIsoperation() == 3) {
+                    //鍒犻櫎
+                    if (ivrLibaScriptTag.getId() == null) {
+                        log.info("鍒犻櫎澶辫触,闂鏍囩id涓虹┖");
+                    } else {
+                        ivrLibaScriptTagMapper.deleteIvrLibaScriptTagById(ivrLibaScriptTag.getId());
+                    }
+                }
+            }
+        }
+
+
+        return i;
+    }
+
+    /**
+     * 鏂板闂璇濇湳搴�
+     *
+     * @param ivrLibaScript 闂璇濇湳搴�
      * @return 缁撴灉
      */
     @Override
-    public int insertIvrLibaScript(IvrLibaScript ivrLibaScript)
-    {
+    public int insertIvrLibaScript(IvrLibaScript ivrLibaScript) {
         ivrLibaScript.setCreateTime(DateUtils.getNowDate());
         return ivrLibaScriptMapper.insertIvrLibaScript(ivrLibaScript);
     }
 
     /**
-     * 淇敼璇濇湳搴�
-     * 
-     * @param ivrLibaScript 璇濇湳搴�
+     * 淇敼闂璇濇湳搴�
+     *
+     * @param ivrLibaScript 闂璇濇湳搴�
      * @return 缁撴灉
      */
     @Override
-    public int updateIvrLibaScript(IvrLibaScript ivrLibaScript)
-    {
+    public int updateIvrLibaScript(IvrLibaScript ivrLibaScript) {
         ivrLibaScript.setUpdateTime(DateUtils.getNowDate());
         return ivrLibaScriptMapper.updateIvrLibaScript(ivrLibaScript);
     }
 
     /**
-     * 鎵归噺鍒犻櫎璇濇湳搴�
-     * 
-     * @param questionids 闇�瑕佸垹闄ょ殑璇濇湳搴撲富閿�
+     * 鎵归噺鍒犻櫎闂璇濇湳搴�
+     *
+     * @param questionids 闇�瑕佸垹闄ょ殑闂璇濇湳搴撲富閿�
      * @return 缁撴灉
      */
     @Override
-    public int deleteIvrLibaScriptByQuestionids(String[] questionids)
-    {
-        return ivrLibaScriptMapper.deleteIvrLibaScriptByQuestionids(questionids);
+    public int deleteIvrLibaScriptByQuestionids(String[] questionids) {
+        Integer i = null;
+        for (String id : questionids) {
+            i = ivrLibaScriptMapper.deleteIvrLibaScriptByQuestionid(Integer.valueOf(id));
+        }
+        return i;
     }
 
-    /**
-     * 鍒犻櫎璇濇湳搴撲俊鎭�
-     * 
-     * @param questionid 璇濇湳搴撲富閿�
-     * @return 缁撴灉
-     */
-    @Override
-    public int deleteIvrLibaScriptByQuestionid(String questionid)
-    {
-        return ivrLibaScriptMapper.deleteIvrLibaScriptByQuestionid(questionid);
-    }
 }

--
Gitblit v1.9.3