From ef01587e55b5ef5dd1951a0e24246722870c8fd7 Mon Sep 17 00:00:00 2001 From: elliott <382696293@qq.com> Date: Mon, 8 Jan 2024 17:18:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxScriptTagServiceImpl.java | 54 +++++++++++++++++++ .../src/views/system/scriptMessage/index.vue | 4 +- .../src/views/system/scriptTag/index.vue | 6 +-- .../views/system/siteCarouselInfo/index.vue | 8 +-- .../src/views/system/siteInfo/index.vue | 4 +- 5 files changed, 65 insertions(+), 11 deletions(-) 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 838a343..a5fb7da 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 @@ -1,13 +1,22 @@ package com.flossom.system.service.impl; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +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.mapper.SysTagMapper; import com.flossom.common.core.mapper.WxScriptTagMapper; +import com.flossom.common.core.mapper.WxScriptTemplateMapper; import com.flossom.common.core.utils.DateUtils; +import com.flossom.common.core.utils.StringUtils; +import org.apache.commons.compress.utils.Lists; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.flossom.system.service.IWxScriptTagService; +import org.springframework.util.CollectionUtils; /** * 话术模板与标签关联Service业务层处理 @@ -20,6 +29,10 @@ public class WxScriptTagServiceImpl implements IWxScriptTagService { @Autowired private WxScriptTagMapper wxScriptTagMapper; + @Autowired + private WxScriptTemplateMapper wxScriptTemplateMapper; + @Autowired + private SysTagMapper sysTagMapper; /** * 查询话术模板与标签关联 @@ -97,6 +110,47 @@ public class WxScriptTagServiceImpl implements IWxScriptTagService @Override public int deleteWxScriptTagByTagId(Long tagId) { + // 先找出来,符合的所有标签 + WxScriptTag tag = new WxScriptTag(); + tag.setTagId(tagId); + List wxScriptTags = wxScriptTagMapper.selectWxScriptTagList(tag); + // 开始组装新的数据以及更新源数据 + if (!CollectionUtils.isEmpty(wxScriptTags)) { + for (WxScriptTag wxScriptTag: wxScriptTags) { + Long scriptId = wxScriptTag.getScriptId(); + // 话术模板 + WxScriptTemplate wxScriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(scriptId); + if (Objects.nonNull(wxScriptTemplate)) { + WxScriptTag tagsVO = new WxScriptTag(); + tagsVO.setScriptId(scriptId); + // 反查得到所有的标签 + List wxScriptTotalTags = wxScriptTagMapper.selectWxScriptTagList(tagsVO); + // 过滤删除的标签 + if (!CollectionUtils.isEmpty(wxScriptTotalTags)) { + // 获取过滤后的标签的信息 + List collectList = wxScriptTotalTags.stream().filter(x -> !String.valueOf(x.getTagId()).equals(String.valueOf(tagId))).collect(Collectors.toList()); + 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-ui/src/views/system/scriptMessage/index.vue b/flossom-ui/src/views/system/scriptMessage/index.vue index 908ad77..38326a1 100644 --- a/flossom-ui/src/views/system/scriptMessage/index.vue +++ b/flossom-ui/src/views/system/scriptMessage/index.vue @@ -290,7 +290,7 @@ @@ -369,7 +369,7 @@ export default { { required: true, message: "跳转参数不能为空", trigger: "blur" } ], redirectUrl: [ - { required: true, message: "页面链接不能为空", trigger: "blur" } + { required: true, message: "小程序页面不能为空", trigger: "blur" } ], videoNo: [ { required: true, message: "视频号ID不能为空", trigger: "blur" } diff --git a/flossom-ui/src/views/system/scriptTag/index.vue b/flossom-ui/src/views/system/scriptTag/index.vue index 1ecdf3b..9f59b02 100644 --- a/flossom-ui/src/views/system/scriptTag/index.vue +++ b/flossom-ui/src/views/system/scriptTag/index.vue @@ -175,8 +175,8 @@ - - + + @@ -265,7 +265,7 @@ export default { { required: true, message: "小程序appid不能为空", trigger: "blur" } ], redirectUrl: [ - { required: true, message: "跳转URL不能为空", trigger: "blur" } + { required: true, message: "小程序页面不能为空", trigger: "blur" } ], videoNo: [ { required: true, message: "视频号ID不能为空", trigger: "blur" } diff --git a/flossom-ui/src/views/system/siteCarouselInfo/index.vue b/flossom-ui/src/views/system/siteCarouselInfo/index.vue index 58c08b5..c616234 100644 --- a/flossom-ui/src/views/system/siteCarouselInfo/index.vue +++ b/flossom-ui/src/views/system/siteCarouselInfo/index.vue @@ -398,7 +398,7 @@ @@ -615,10 +615,10 @@ export default { channelId: null, machineName: null, machineId: null, - userType: null, + userType: 2, operate: null, signNumber: null, - orderNumber: null, + orderNumber: 1000, type: null, link: null, linkParams: null, @@ -653,7 +653,7 @@ export default { handleAdd() { this.reset(); this.open = true; - this.title = "添加站点管理"; + this.title = "添加轮播图"; this.form.orderNumber = 1000; this.form.userType = 2; }, diff --git a/flossom-ui/src/views/system/siteInfo/index.vue b/flossom-ui/src/views/system/siteInfo/index.vue index cfe21f3..b42bf2a 100644 --- a/flossom-ui/src/views/system/siteInfo/index.vue +++ b/flossom-ui/src/views/system/siteInfo/index.vue @@ -398,7 +398,7 @@ @@ -611,7 +611,7 @@ export default { userType: null, operate: null, signNumber: null, - orderNumber: null, + orderNumber: 1000, type: null, link: null, linkParams: null, From cbb5f8f0d578bbc21baaa1b8d3c69392dc55ae11 Mon Sep 17 00:00:00 2001 From: elliott <382696293@qq.com> Date: Mon, 8 Jan 2024 18:13:39 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flossom/system/service/impl/SysUserServiceImpl.java | 8 +++++++- flossom-ui/src/views/system/role/index.vue | 4 ++-- flossom-ui/src/views/system/user/index.vue | 6 +++--- flossom-ui/src/views/system/wechatTag/index.vue | 5 +++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java index ca8279c..560fcec 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysUserServiceImpl.java @@ -495,6 +495,7 @@ public class SysUserServiceImpl implements ISysUserService String password = configService.selectConfigByKey("sys.user.initPassword"); for (SysUser user : userList) { + user.setUserId(null); try { // 验证是否存在这个用户 @@ -542,7 +543,12 @@ public class SysUserServiceImpl implements ISysUserService { successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); } - return successMsg.toString(); + if (StringUtils.isNotEmpty(successMsg.toString()) && !"null".equals(successMsg.toString())) { + return successMsg.toString(); + } else { + return failureMsg.toString(); + } + } } diff --git a/flossom-ui/src/views/system/role/index.vue b/flossom-ui/src/views/system/role/index.vue index fb3b5ef..da31a1f 100644 --- a/flossom-ui/src/views/system/role/index.vue +++ b/flossom-ui/src/views/system/role/index.vue @@ -598,8 +598,8 @@ export default { handleExport() { this.download('system/role/export', { ...this.queryParams - }, `role_${new Date().getTime()}.xlsx`) + }, `角色数据_${new Date().getTime()}.xlsx`) } } }; - \ No newline at end of file + diff --git a/flossom-ui/src/views/system/user/index.vue b/flossom-ui/src/views/system/user/index.vue index ae87fe4..58d03b6 100644 --- a/flossom-ui/src/views/system/user/index.vue +++ b/flossom-ui/src/views/system/user/index.vue @@ -637,7 +637,7 @@ export default { handleExport() { this.download('system/user/export', { ...this.queryParams - }, `user_${new Date().getTime()}.xlsx`) + }, `用户数据_${new Date().getTime()}.xlsx`) }, /** 导入按钮操作 */ handleImport() { @@ -647,7 +647,7 @@ export default { /** 下载模板操作 */ importTemplate() { this.download('system/user/importTemplate', { - }, `user_template_${new Date().getTime()}.xlsx`) + }, `用户管理模版_${new Date().getTime()}.xlsx`) }, // 文件上传中处理 handleFileUploadProgress(event, file, fileList) { @@ -667,4 +667,4 @@ export default { } } }; - \ No newline at end of file + diff --git a/flossom-ui/src/views/system/wechatTag/index.vue b/flossom-ui/src/views/system/wechatTag/index.vue index affc144..97fdd82 100644 --- a/flossom-ui/src/views/system/wechatTag/index.vue +++ b/flossom-ui/src/views/system/wechatTag/index.vue @@ -284,6 +284,11 @@ export default { listDeptExcludeChild(row.id).then(response => { this.deptOptions = this.handleTree(response.data, "id"); }); + if (row.parentId == 0) { + this.showParent = 1; + } else { + this.showParent = 0; + } }, /** 提交按钮 */ submitForm: function() { From 14cb516925767c2603168bb3847fe51d6d422e9b Mon Sep 17 00:00:00 2001 From: elliott <382696293@qq.com> Date: Tue, 9 Jan 2024 09:16:20 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/entity/SysTag.java | 41 +++++++++++++++---- .../main/resources/mapper/SysTagMapper.xml | 6 ++- .../system/controller/SysTagController.java | 30 +++++++++++++- .../service/impl/SysTagServiceImpl.java | 3 ++ .../src/views/system/companyTag/index.vue | 2 +- .../src/views/system/wechatTag/index.vue | 2 +- 6 files changed, 73 insertions(+), 11 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SysTag.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SysTag.java index 7447028..a9a38c2 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SysTag.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SysTag.java @@ -1,5 +1,6 @@ package com.flossom.common.core.domain.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import com.flossom.common.core.annotation.Excel; import com.flossom.common.core.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -10,6 +11,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -26,16 +28,18 @@ public class SysTag extends BaseEntity /** 父标签ID */ private Long parentId; + /** 父标签名称 */ + @Excel(name = "一级标签名称") + private String parentName; /** 祖级列表 */ private String ancestors; /** 标签名称 */ - @Excel(name = "标签名称") + @Excel(name = "二级标签名称") private String tagName; /** 显示顺序 */ - @Excel(name = "排序顺序") private Integer orderNum; /** 负责人 */ @@ -47,18 +51,25 @@ public class SysTag extends BaseEntity /** 邮箱 */ private String email; + /** 标签状态:1小程序标签,2企微标签 */ + @Excel(name = "标签类型") + private String type; + /** 标签状态:0正常,1停用 */ - @Excel(name = "标签状态:0正常,1停用") +// @Excel(name = "标签状态:0正常,1停用") private String status; - /** 标签状态:1小程序标签,2企微标签 */ - private String type; + + @Excel(name = "标签添加时间") + private String addTime; /** 删除标志(0代表存在 2代表删除) */ private String delFlag; - /** 父标签名称 */ - private String parentName; + + + @Excel(name = "标签人数") + private Integer tagUsers; /** 子标签 */ private List children = new ArrayList(); @@ -194,6 +205,22 @@ public class SysTag extends BaseEntity this.type = type; } + public String getAddTime() { + return addTime; + } + + public void setAddTime(String addTime) { + this.addTime = addTime; + } + + public Integer getTagUsers() { + return tagUsers; + } + + public void setTagUsers(Integer tagUsers) { + this.tagUsers = tagUsers; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SysTagMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SysTagMapper.xml index 5e74cad..1e0fa92 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/SysTagMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SysTagMapper.xml @@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -24,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select d.id, d.parent_id, d.ancestors, d.tag_name, d.order_num, d.leader, d.phone, d.email, d.status, d.type, d.del_flag, d.create_by, d.create_time + select d.id,d.parent_name, d.parent_id, d.ancestors, d.tag_name, d.order_num, d.leader, d.phone, d.email, d.status, d.type, d.del_flag, d.create_by, d.create_time from sys_tag d @@ -102,6 +103,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into sys_tag( id, parent_id, + parent_name, tag_name, ancestors, order_num, @@ -115,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" )values( #{id}, #{parentId}, + #{parentName}, #{tagName}, #{ancestors}, #{orderNum}, @@ -132,6 +135,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_tag parent_id = #{parentId}, + parent_name = #{parentName}, tag_name = #{tagName}, ancestors = #{ancestors}, order_num = #{orderNum}, diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SysTagController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SysTagController.java index ede1dc4..e03ca50 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SysTagController.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SysTagController.java @@ -5,6 +5,9 @@ import com.flossom.common.core.domain.R; import com.flossom.common.core.domain.SysFiringInfo; import com.flossom.common.core.domain.entity.SysDept; import com.flossom.common.core.domain.entity.SysTag; +import com.flossom.common.core.domain.entity.WxUserTag; +import com.flossom.common.core.enums.TagTypeStatus; +import com.flossom.common.core.utils.DateUtils; import com.flossom.common.core.utils.StringUtils; import com.flossom.common.core.utils.poi.ExcelUtil; import com.flossom.common.core.web.controller.BaseController; @@ -39,6 +42,8 @@ public class SysTagController extends BaseController { private IWxUserTagService wxUserTagService; @Autowired private IWxScriptTagService wxScriptTagService; + @Autowired + private IWxUserTagService userTagService; /** * 获取标签列表 */ @@ -165,8 +170,31 @@ public class SysTagController extends BaseController { @PostMapping("/export") public void export(HttpServletResponse response, SysTag tag) { + String sheetName = ""; + String s = DateUtils.dateTimeNow("yyyyMMddHHmmss"); + if (TagTypeStatus.MINI_PROGRAM.getCode().toString().equals(tag.getType())) { + sheetName += "小程序标签数据"+ s ; + } else { + sheetName += "企微标签数据"+ s ; + } List list = tagService.selectDeptList(tag); + for (SysTag sysTag: list) { + if (TagTypeStatus.MINI_PROGRAM.getCode().toString().equals(sysTag.getType())) { + sysTag.setType("小程序标签"); + } else { + sysTag.setType("企微标签"); + } + if (0 == sysTag.getParentId()) { + sysTag.setParentName(sysTag.getTagName()); + sysTag.setTagName(""); + } + sysTag.setAddTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sysTag.getCreateTime())); + WxUserTag userTag = new WxUserTag(); + userTag.setTagId(sysTag.getId()); + List wxUserTags = userTagService.selectWxUserTagList(userTag); + sysTag.setTagUsers(wxUserTags.size()); + } ExcelUtil util = new ExcelUtil(SysTag.class); - util.exportExcel(response, list, "标签信息数据"); + util.exportExcel(response, list, sheetName); } } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysTagServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysTagServiceImpl.java index f7ffb30..5502e57 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysTagServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SysTagServiceImpl.java @@ -204,6 +204,8 @@ public class SysTagServiceImpl implements ISysTagService { if (Objects.isNull(info)) { tag.setAncestors("0"); tag.setParentId(0l); + } else { + tag.setParentName(info.getTagName()); } return tagMapper.insertDept(tag); @@ -225,6 +227,7 @@ public class SysTagServiceImpl implements ISysTagService { tag.setAncestors(newAncestors); updateDeptChildren(tag.getId(), newAncestors, oldAncestors); } + tag.setParentName(newParentDept.getTagName()); int result = tagMapper.updateDept(tag); if (UserConstants.DEPT_NORMAL.equals(tag.getStatus()) && StringUtils.isNotEmpty(tag.getAncestors()) && !StringUtils.equals("0", tag.getAncestors())) { diff --git a/flossom-ui/src/views/system/companyTag/index.vue b/flossom-ui/src/views/system/companyTag/index.vue index 03a690c..b587e87 100644 --- a/flossom-ui/src/views/system/companyTag/index.vue +++ b/flossom-ui/src/views/system/companyTag/index.vue @@ -345,7 +345,7 @@ export default { handleExport() { this.download('system/tagInfo/export', { ...this.queryParams - }, `info_${new Date().getTime()}.xlsx`) + }, `企微标签数据_${new Date().getTime()}.xlsx`) } } }; diff --git a/flossom-ui/src/views/system/wechatTag/index.vue b/flossom-ui/src/views/system/wechatTag/index.vue index 97fdd82..3ac9fc3 100644 --- a/flossom-ui/src/views/system/wechatTag/index.vue +++ b/flossom-ui/src/views/system/wechatTag/index.vue @@ -339,7 +339,7 @@ export default { handleExport() { this.download('system/tagInfo/export', { ...this.queryParams - }, `info_${new Date().getTime()}.xlsx`) + }, `小程序标签数据_${new Date().getTime()}.xlsx`) } } };