From 82294e67ac0bce83fc1285e418975d54e30fdf04 Mon Sep 17 00:00:00 2001 From: elliott <382696293@qq.com> Date: Fri, 12 Jan 2024 10:38:33 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/entity/WxScriptTemplate.java | 21 ++++ .../resources/mapper/WxScriptTagMapper.xml | 2 +- .../service/impl/WxScriptTagServiceImpl.java | 92 +++++++++--------- .../impl/WxScriptTemplateServiceImpl.java | 96 ++++++++++++++++--- .../src/views/system/leaveMessage/index.vue | 8 +- .../src/views/system/scriptTag/index.vue | 51 +++++----- 6 files changed, 181 insertions(+), 89 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxScriptTemplate.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxScriptTemplate.java index 4cdc504..10e19cf 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxScriptTemplate.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxScriptTemplate.java @@ -38,6 +38,10 @@ public class WxScriptTemplate extends BaseEntity @Excel(name = "标签名字") private String tagNames; + /** 标签名字 */ + @Excel(name = "企微标签名字") + private String companyTagNames; + /** 标签ID */ @Excel(name = "标签ID") private String tagIds; @@ -94,6 +98,7 @@ public class WxScriptTemplate extends BaseEntity private List tagIdArray = new ArrayList(); + private List companyIdArray = new ArrayList(); public void setId(Long id) { @@ -253,10 +258,26 @@ public class WxScriptTemplate extends BaseEntity this.tagIds = tagIds; } + public String getCompanyTagNames() { + return companyTagNames; + } + + public void setCompanyTagNames(String companyTagNames) { + this.companyTagNames = companyTagNames; + } + public List getTagIdArray() { return tagIdArray; } + public List getCompanyIdArray() { + return companyIdArray; + } + + public void setCompanyIdArray(List companyIdArray) { + this.companyIdArray = companyIdArray; + } + public void setTagIdArray(List tagIdArray) { this.tagIdArray = tagIdArray; } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxScriptTagMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxScriptTagMapper.xml index 44da7b3..c8b6de9 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxScriptTagMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxScriptTagMapper.xml @@ -89,6 +89,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from wx_script_tag where id = #{tagId} + delete from wx_script_tag where tag_id = #{tagId} diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTagServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTagServiceImpl.java index 84fd329..e02bd0c 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTagServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTagServiceImpl.java @@ -110,52 +110,52 @@ public class WxScriptTagServiceImpl implements IWxScriptTagService @Override public int deleteWxScriptTagByTagId(Long tagId) { - // 先找出来,符合的所有标签 - WxScriptTag tag = new WxScriptTag(); - tag.setTagId(tagId); - List wxScriptTags = wxScriptTagMapper.selectWxScriptTagList(tag); - System.out.println("根据删除的标签ID:"+tag+",获取到话术标签列表信息:"+wxScriptTags.size()); - // 开始组装新的数据以及更新源数据 - if (!CollectionUtils.isEmpty(wxScriptTags)) { - for (WxScriptTag wxScriptTag: wxScriptTags) { - Long scriptId = wxScriptTag.getScriptId(); - // 话术模板 - WxScriptTemplate wxScriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(scriptId); - System.out.println("根据删除的标签ID:"+tag+",话术模板:"+wxScriptTemplate.getScriptName()); - if (Objects.nonNull(wxScriptTemplate)) { - WxScriptTag tagsVO = new WxScriptTag(); - tagsVO.setScriptId(scriptId); - // 反查得到所有的标签 - List wxScriptTotalTags = wxScriptTagMapper.selectWxScriptTagList(tagsVO); - System.out.println("根据删除的标签ID:"+tag+",获取到所有的标签信息:"+wxScriptTotalTags.size()); - // 过滤删除的标签 - if (!CollectionUtils.isEmpty(wxScriptTotalTags)) { - wxScriptTemplate.setTagNames(""); - wxScriptTemplate.setTagIds(""); - // 获取过滤后的标签的信息 - List collectList = wxScriptTotalTags.stream().filter(x -> !String.valueOf(x.getTagId()).equals(String.valueOf(tagId))).collect(Collectors.toList()); - System.out.println("根据删除的标签ID:"+tag+",过滤后:"+collectList.size()); - List createSysTagList = Lists.newArrayList(); - if (!CollectionUtils.isEmpty(collectList)) { - for (WxScriptTag scriptTag : collectList) { - SysTag sysTag = sysTagMapper.selectDeptById(scriptTag.getTagId()); - if (Objects.nonNull(sysTag)) { - createSysTagList.add(sysTag); - } - } - } - if (!CollectionUtils.isEmpty(createSysTagList)) { - String tagNames = createSysTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); - wxScriptTemplate.setTagNames(tagNames); - List resultList = createSysTagList.stream().map(SysTag::getId).collect(Collectors.toList()); - String ids = StringUtils.join(resultList, ","); - wxScriptTemplate.setTagIds(ids); - } - wxScriptTemplateMapper.updateWxScriptTemplate(wxScriptTemplate); - } - } - } - } +// // 先找出来,符合的所有标签 +// WxScriptTag tag = new WxScriptTag(); +// tag.setTagId(tagId); +// List wxScriptTags = wxScriptTagMapper.selectWxScriptTagList(tag); +// System.out.println("根据删除的标签ID:"+tag+",获取到话术标签列表信息:"+wxScriptTags.size()); +// // 开始组装新的数据以及更新源数据 +// if (!CollectionUtils.isEmpty(wxScriptTags)) { +// for (WxScriptTag wxScriptTag: wxScriptTags) { +// Long scriptId = wxScriptTag.getScriptId(); +// // 话术模板 +// WxScriptTemplate wxScriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(scriptId); +// System.out.println("根据删除的标签ID:"+tag+",话术模板:"+wxScriptTemplate.getScriptName()); +// if (Objects.nonNull(wxScriptTemplate)) { +// WxScriptTag tagsVO = new WxScriptTag(); +// tagsVO.setScriptId(scriptId); +// // 反查得到所有的标签 +// List wxScriptTotalTags = wxScriptTagMapper.selectWxScriptTagList(tagsVO); +// System.out.println("根据删除的标签ID:"+tag+",获取到所有的标签信息:"+wxScriptTotalTags.size()); +// // 过滤删除的标签 +// if (!CollectionUtils.isEmpty(wxScriptTotalTags)) { +// wxScriptTemplate.setTagNames(""); +// wxScriptTemplate.setTagIds(""); +// // 获取过滤后的标签的信息 +// List collectList = wxScriptTotalTags.stream().filter(x -> !String.valueOf(x.getTagId()).equals(String.valueOf(tagId))).collect(Collectors.toList()); +// System.out.println("根据删除的标签ID:"+tag+",过滤后:"+collectList.size()); +// List createSysTagList = Lists.newArrayList(); +// if (!CollectionUtils.isEmpty(collectList)) { +// for (WxScriptTag scriptTag : collectList) { +// SysTag sysTag = sysTagMapper.selectDeptById(scriptTag.getTagId()); +// if (Objects.nonNull(sysTag)) { +// createSysTagList.add(sysTag); +// } +// } +// } +// if (!CollectionUtils.isEmpty(createSysTagList)) { +// String tagNames = createSysTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); +// wxScriptTemplate.setTagNames(tagNames); +// List resultList = createSysTagList.stream().map(SysTag::getId).collect(Collectors.toList()); +// String ids = StringUtils.join(resultList, ","); +// wxScriptTemplate.setTagIds(ids); +// } +// wxScriptTemplateMapper.updateWxScriptTemplate(wxScriptTemplate); +// } +// } +// } +// } return wxScriptTagMapper.deleteWxScriptTagByTagId(tagId); } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTemplateServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTemplateServiceImpl.java index eb0e345..a09a209 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTemplateServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxScriptTemplateServiceImpl.java @@ -10,6 +10,7 @@ import com.flossom.common.core.domain.entity.SysTag; import com.flossom.common.core.domain.entity.WxScriptTag; import com.flossom.common.core.domain.entity.WxScriptTemplate; import com.flossom.common.core.domain.vo.TreeSelect; +import com.flossom.common.core.enums.TagTypeStatus; import com.flossom.common.core.mapper.SysTagMapper; import com.flossom.common.core.mapper.WxScriptTagMapper; import com.flossom.common.core.mapper.WxScriptTemplateMapper; @@ -46,7 +47,25 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService { */ @Override public WxScriptTemplate selectWxScriptTemplateById(Long id) { - return wxScriptTemplateMapper.selectWxScriptTemplateById(id); + WxScriptTemplate scriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(id); + // 处理标签关系 + List wechatTagList = Lists.newArrayList(); + List companyTagList = Lists.newArrayList(); + WxScriptTag scriptTag = new WxScriptTag(); + scriptTag.setScriptId(id); + // 获取所有的标签 + List wxScriptTagList = wxScriptTagMapper.selectWxScriptTagList(scriptTag); + for (WxScriptTag wxScriptTag: wxScriptTagList) { + SysTag sysTag = sysTagMapper.selectDeptById(wxScriptTag.getTagId()); + if (TagTypeStatus.MINI_PROGRAM.getCode().toString().equals(sysTag.getType())){ + wechatTagList.add(sysTag.getId()); + } else { + companyTagList.add(sysTag.getId()); + } + } + scriptTemplate.setTagIdArray(wechatTagList); + scriptTemplate.setCompanyIdArray(companyTagList); + return scriptTemplate; } /** @@ -57,7 +76,38 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService { */ @Override public List selectWxScriptTemplateList(WxScriptTemplate wxScriptTemplate) { - return wxScriptTemplateMapper.selectWxScriptTemplateList(wxScriptTemplate); + List templateList = wxScriptTemplateMapper.selectWxScriptTemplateList(wxScriptTemplate); + // 处理标签关系 + for (WxScriptTemplate scriptTemplate : templateList) { + List wechatTagList = Lists.newArrayList(); + List companyTagList = Lists.newArrayList(); + Long id = scriptTemplate.getId(); + WxScriptTag scriptTag = new WxScriptTag(); + scriptTag.setScriptId(id); + // 获取所有的标签 + List wxScriptTagList = wxScriptTagMapper.selectWxScriptTagList(scriptTag); + for (WxScriptTag wxScriptTag: wxScriptTagList) { + SysTag sysTag = sysTagMapper.selectDeptById(wxScriptTag.getTagId()); + if (Objects.nonNull(sysTag)) { + if (String.valueOf(TagTypeStatus.MINI_PROGRAM.getCode()).equals(sysTag.getType())){ + wechatTagList.add(sysTag); + } else { + companyTagList.add(sysTag); + } + } + } + if (!CollectionUtils.isEmpty(wechatTagList)){ + String wechatNames = wechatTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); + scriptTemplate.setTagNames(wechatNames); + } + if (!CollectionUtils.isEmpty(companyTagList)){ + String companyTagsNames = companyTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); + scriptTemplate.setCompanyTagNames(companyTagsNames); + } +// scriptTemplate.setTagIdArray(wechatTagList); +// scriptTemplate.setCompanyIdArray(companyTagList); + } + return templateList; } /** @@ -81,13 +131,22 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService { } } } - if (!CollectionUtils.isEmpty(sysTags)) { - String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); - wxScriptTemplate.setTagNames(tagNames); - List resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList()); - String ids = StringUtils.join(resultList, ","); - wxScriptTemplate.setTagIds(ids); + List companyIdArray = wxScriptTemplate.getCompanyIdArray(); + if (!CollectionUtils.isEmpty(companyIdArray)) { + for (long tagId : companyIdArray) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId); + if (Objects.nonNull(sysTag)) { + sysTags.add(sysTag); + } + } } +// if (!CollectionUtils.isEmpty(sysTags)) { +// String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); +// wxScriptTemplate.setTagNames(tagNames); +// List resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList()); +// String ids = StringUtils.join(resultList, ","); +// wxScriptTemplate.setTagIds(ids); +// } int i = wxScriptTemplateMapper.insertWxScriptTemplate(wxScriptTemplate); @@ -127,13 +186,22 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService { } } } - if (!CollectionUtils.isEmpty(sysTags)) { - String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); - wxScriptTemplate.setTagNames(tagNames); - List resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList()); - String ids = StringUtils.join(resultList, ","); - wxScriptTemplate.setTagIds(ids); + List companyIdArray = wxScriptTemplate.getCompanyIdArray(); + if (!CollectionUtils.isEmpty(companyIdArray)) { + for (long tagId : companyIdArray) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId); + if (Objects.nonNull(sysTag)) { + sysTags.add(sysTag); + } + } } +// if (!CollectionUtils.isEmpty(sysTags)) { +// String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); +// wxScriptTemplate.setTagNames(tagNames); +// List resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList()); +// String ids = StringUtils.join(resultList, ","); +// wxScriptTemplate.setTagIds(ids); +// } // 先删除原本的关系 wxScriptTagMapper.deleteWxScriptByScriptId(wxScriptTemplate.getId()); diff --git a/flossom-ui/src/views/system/leaveMessage/index.vue b/flossom-ui/src/views/system/leaveMessage/index.vue index 14350a2..dcf4f57 100644 --- a/flossom-ui/src/views/system/leaveMessage/index.vue +++ b/flossom-ui/src/views/system/leaveMessage/index.vue @@ -86,7 +86,7 @@