From 722fa40345f1fc650eaeae4a721c3ae4106d92a8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 18 九月 2024 19:03:56 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
index 8262bf3..ce0f95e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java
@@ -1,5 +1,7 @@
 package com.smartor.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
@@ -18,9 +20,11 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
+import java.lang.reflect.Array;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * 鎸囨爣閫夐」搴揝ervice涓氬姟灞傚鐞�
@@ -67,6 +71,8 @@
         List<IvrLibaTarget> ivrLibaTargets = ivrLibaTargetMapper.selectIvrLibaTargetList(ivrLibaTarget);
         List<IvrLibaTargetVO> ivrLibaTargetVOS = DtoConversionUtils.sourceToTarget(ivrLibaTargets, IvrLibaTargetVO.class);
         for (IvrLibaTargetVO ivrLibaTarget1 : ivrLibaTargetVOS) {
+            ivrLibaTarget1.setSuitWayList(JSONArray.parseArray(ivrLibaTarget1.getSuitWay(), String.class));
+
             IvrLibaTargetoption ivrLibaTargetoption = new IvrLibaTargetoption();
             ivrLibaTargetoption.setTargetid(ivrLibaTarget1.getId());
             //鑾峰彇璇ユ寚鏍囩殑閫夐」
@@ -86,8 +92,25 @@
                 ivrLibaTarget1.setTargetoptionList(ivrLibaTargetoptions);
             }
             //鑾峰彇璇ユ寚鏍囩殑鏍囩
-            List<BaseTag> baseTags = ivrLibaTargetTagMapper.selectTagName(ivrLibaTarget1.getId());
-            ivrLibaTarget1.setBaseTagList(baseTags);
+            IvrLibaTargetTag ivrLibaTargetTag = new IvrLibaTargetTag();
+            ivrLibaTargetTag.setTargetid(ivrLibaTarget1.getId());
+            List<IvrLibaTargetTag> ivrLibaTargetTags = ivrLibaTargetTagMapper.selectIvrLibaTargetTagList(ivrLibaTargetTag);
+
+            ivrLibaTarget1.setIvrLibaTargetTagList(ivrLibaTargetTags);
+        }
+        //鍒ゆ柇鍏ュ弬鏉′欢涓紝tagName鏄惁鏈夊�硷紝濡傛灉鏈夊�硷紝鍒欓渶瑕佹牴鎹粰鐨勫�艰繘琛屾爣绛捐繃婊�
+        if (StringUtils.isNotEmpty(ivrLibaTarget.getTagName())) {
+            List<IvrLibaTargetVO> ivrLibaTargetVOList = new ArrayList<>();
+            aa:
+            for (IvrLibaTargetVO ivrLibaTarget1 : ivrLibaTargetVOS) {
+                for (IvrLibaTargetTag ivrLibaTargetTag1 : ivrLibaTarget1.getIvrLibaTargetTagList()) {
+                    if (ivrLibaTargetTag1.getTagname().contains(ivrLibaTarget.getTagName().trim())) {
+                        ivrLibaTargetVOList.add(ivrLibaTarget1);
+                        continue aa;
+                    }
+                }
+            }
+            ivrLibaTargetVOS = ivrLibaTargetVOList;
         }
         //涓嬮潰鐢ㄥ乏澶栨劅瑙夋湁鐐归棶棰橈紝where涓殑option鐨刣el浼氬鑷村乏杈圭殑鏌ヨ涓嶅叏锛屽厛涓嶇敤鍚�
 //        ivrLibaTargetMapper.targetInfo(ivrLibaTarget)
@@ -109,12 +132,8 @@
         ivrLibaTargetMapper.insertIvrLibaTarget(ivrLibaTarget);
 
         //鏂板璇ユ寚鏍囧搴旂殑鏍囩淇℃伅
-        for (BaseTag baseTag : ivrLibaTargetVO.getBaseTagList()) {
-            IvrLibaTargetTag ivrLibaTargetTag = new IvrLibaTargetTag();
-            ivrLibaTargetTag.setTagcategoryid(baseTag.getTagcategoryid());
+        for (IvrLibaTargetTag ivrLibaTargetTag : ivrLibaTargetVO.getIvrLibaTargetTagList()) {
             ivrLibaTargetTag.setTargetid(ivrLibaTarget.getId());
-            //鍓嶇浼犳潵鐨刡aseTag鐨則agid灏辨槸鎸囨爣鏍囩鐨勪富閿甶d,涓嶆槸baseTag鐨勪富閿�
-            ivrLibaTargetTag.setTagid(baseTag.getTagid());
             ivrLibaTargetTagMapper.insertIvrLibaTargetTag(ivrLibaTargetTag);
         }
 
@@ -140,30 +159,29 @@
     @Transactional(rollbackFor = Exception.class)
     public int saveOrupdateIvrLibaTarget(IvrLibaTargetVO ivrLibaTargetVO) {
         IvrLibaTarget ivrLibaTarget = DtoConversionUtils.sourceToTarget(ivrLibaTargetVO, IvrLibaTarget.class);
+        if (ObjectUtils.isNotEmpty(ivrLibaTargetVO.getSuitWayList()))
+            ivrLibaTarget.setSuitWay(JSON.toJSONString(ivrLibaTargetVO.getSuitWayList()));
         ivrLibaTarget.setUpdateTime(DateUtils.getNowDate());
         if (ivrLibaTargetVO.getIsoperation() != null && ivrLibaTargetVO.getIsoperation() == 1) {
             //鏂板
+            ivrLibaTarget.setCreateTime(new Date());
+            ivrLibaTarget.setUpdateTime(new Date());
             ivrLibaTargetMapper.insertIvrLibaTarget(ivrLibaTarget);
         } else if (ivrLibaTargetVO.getIsoperation() != null && ivrLibaTargetVO.getIsoperation() == 2) {
             //淇敼
+            ivrLibaTarget.setUpdateTime(new Date());
             ivrLibaTargetMapper.updateIvrLibaTarget(ivrLibaTarget);
         }
 
-        if (CollectionUtils.isNotEmpty(ivrLibaTargetVO.getBaseTagList())) {
-            for (BaseTag baseTag : ivrLibaTargetVO.getBaseTagList()) {
-                if (baseTag.getIsoperation() != null && baseTag.getIsoperation() == 1) {
+        if (CollectionUtils.isNotEmpty(ivrLibaTargetVO.getIvrLibaTargetTagList())) {
+            for (IvrLibaTargetTag ivrLibaTargetTag : ivrLibaTargetVO.getIvrLibaTargetTagList()) {
+                if (ivrLibaTargetTag.getId() == null) {
                     //鏂板
-                    IvrLibaTargetTag ivrLibaTargetTag = new IvrLibaTargetTag();
-                    ivrLibaTargetTag.setTagcategoryid(baseTag.getTagcategoryid());
                     ivrLibaTargetTag.setTargetid(ivrLibaTarget.getId());
-                    //鍓嶇浼犳潵鐨刡aseTag鐨則agid灏辨槸鎸囨爣鏍囩鐨勪富閿甶d,涓嶆槸baseTag鐨勪富閿�
-                    ivrLibaTargetTag.setTagid(baseTag.getTagid());
                     ivrLibaTargetTagMapper.insertIvrLibaTargetTag(ivrLibaTargetTag);
-                } else if (baseTag.getIsoperation() != null && baseTag.getIsoperation() == 2) {
+                } else if (ivrLibaTargetTag.getId() != null) {
                     //鍓嶇椤甸潰搴旇娌℃湁淇敼
-                } else if (baseTag.getIsoperation() != null && baseTag.getIsoperation() == 3) {
-                    //鍒犻櫎
-                    ivrLibaTargetTagMapper.deleteIvrLibaTargetTagById(baseTag.getTagid());
+                    ivrLibaTargetTagMapper.updateIvrLibaTargetTag(ivrLibaTargetTag);
                 }
             }
         }

--
Gitblit v1.9.3