From 562a960261b75d70abd65aa10528f09aeece94e8 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 24 九月 2024 09:49:23 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/IvrLibaTargetServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 69 insertions(+), 20 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 50b52cf..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,7 +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涓氬姟灞傚鐞� @@ -65,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()); //鑾峰彇璇ユ寚鏍囩殑閫夐」 @@ -84,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) @@ -107,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); } @@ -138,34 +159,34 @@ @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); } } } - if (CollectionUtils.isNotEmpty(ivrLibaTargetVO.getTargetoptionList())) { + if (CollectionUtils.isNotEmpty(ivrLibaTargetVO.getTargetoptionList()) && ivrLibaTargetVO.getValueType() == 1) { + //閫夐」澶勭悊 for (IvrLibaTargetoption ivrLibaTargetoption : ivrLibaTargetVO.getTargetoptionList()) { if (CollectionUtils.isNotEmpty(ivrLibaTargetoption.getNodynamiccruxs())) { ivrLibaTargetoption.setNodynamiccruxsJson(new Gson().toJson(ivrLibaTargetoption.getNodynamiccruxs())); @@ -187,6 +208,7 @@ } } + } else if (ivrLibaTargetVO.getValueType() == 2 || ivrLibaTargetVO.getValueType() == 3) { } return ivrLibaTarget.getId().intValue(); @@ -212,4 +234,31 @@ public int deleteIvrLibaTargetByTargetID(Long id) { return ivrLibaTargetMapper.deleteIvrLibaTargetByTargetID(id); } + + /** + * 鎸囨爣娴嬭瘯闂鍖归厤 + */ + @Override + public String targetQuesMate(IvrLibaTargetVO ivrLibaTargetVO) { + + for (IvrLibaTargetoption ivrLibaTargetoption : ivrLibaTargetVO.getTargetoptionList()) { + + Matcher matcher = null; + if (StringUtils.isNotEmpty(ivrLibaTargetoption.getTargetregex())) { + Pattern pattern = Pattern.compile(ivrLibaTargetoption.getTargetregex()); + matcher = pattern.matcher(ivrLibaTargetVO.getContent()); + } + //涓嶅寘鍚� + Matcher matcher2 = null; + if (StringUtils.isNotEmpty(ivrLibaTargetoption.getTargetregex2())) { + Pattern pattern2 = Pattern.compile(ivrLibaTargetoption.getTargetregex2()); + matcher2 = pattern2.matcher(ivrLibaTargetVO.getContent()); + } + if (StringUtils.isNotEmpty(ivrLibaTargetoption.getTargetregex2()) && matcher2.matches() && StringUtils.isNotEmpty(ivrLibaTargetoption.getTargetregex()) && matcher.matches() || StringUtils.isEmpty(ivrLibaTargetoption.getTargetregex2()) && StringUtils.isNotEmpty(ivrLibaTargetoption.getTargetregex()) && matcher.matches()) { + return ivrLibaTargetoption.getTargetvalue(); + } + + } + return null; + } } -- Gitblit v1.9.3