From efdaa52eb856cb0156959fb0bc6cd98d52139829 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Wed, 20 Dec 2023 10:15:50 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=89=B9=E9=87=8F/=E5=85=A8=E9=87=8F?= =?UTF-8?q?=20=E5=88=A0=E9=99=A4=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/mapper/WxUserTagMapper.java | 2 + .../main/resources/mapper/WxUserTagMapper.xml | 15 +++++ .../controller/WxUserMemberController.java | 32 +++++++++ .../system/service/IWxUserMemberService.java | 2 + .../service/impl/WxUserMemberServiceImpl.java | 67 ++++++++++++------- 5 files changed, 92 insertions(+), 26 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java index 16fc97f..78ce92b 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserTagMapper.java @@ -64,4 +64,6 @@ public interface WxUserTagMapper { List selectWxUserTagByTagId(@Param("tagId") Integer tagId, @Param("type") Integer type); void insertBatch(@Param("list") List list); + + void deleteBatch(@Param("tagIdList") List tagIdList, @Param("userIdList") List userIdList); } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml index cb54a00..0a45abe 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserTagMapper.xml @@ -112,4 +112,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + DELETE + FROM + wx_user_tag + WHERE + tag_id IN + + #{tagId} + + AND user_id IN + + #{userId} + + \ No newline at end of file diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java index 6240be0..5899bc2 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxUserMemberController.java @@ -133,4 +133,36 @@ public class WxUserMemberController extends BaseController { return R.ok(); } + /** + * 批量 删除小程序标签 + */ + @PostMapping("/batchDelMiniProgramTag") + public R batchDelMiniProgramTag(@RequestParam("tagIdList") List tagIdList, + @RequestParam(value = "userIdList") List userIdList) { + if (tagIdList == null || tagIdList.size() == 0 + || userIdList == null || userIdList.size() == 0) { + logger.error("参数有误"); + throw new ServiceException("参数有误"); + } + wxUserMemberService.batchDelMiniProgramTag(tagIdList, userIdList); + return R.ok(); + } + + /** + * 全量 删除小程序标签 + */ + @PostMapping("/allDelMiniProgramTag") + public R allDelMiniProgramTag(@RequestParam("tagIdList") List tagIdList, WxUserMemberVm wxUserMemberVm) { + if (tagIdList == null || tagIdList.size() == 0) { + logger.error("参数有误"); + throw new ServiceException("参数有误"); + } + List list = wxUserMemberService.selectWxUserMemberList(wxUserMemberVm); + if (list != null && list.size() > 0) { + List collect = list.stream().map(wxUserMember -> wxUserMember.getId().intValue()).collect(Collectors.toList()); + wxUserMemberService.batchDelMiniProgramTag(tagIdList, collect); + } + return R.ok(); + } + } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxUserMemberService.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxUserMemberService.java index 4ad63bc..4fa1a2e 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxUserMemberService.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxUserMemberService.java @@ -73,4 +73,6 @@ public interface IWxUserMemberService List selectUserCount(); void batchAddMiniProgramTag(List tagId, List userIds); + + void batchDelMiniProgramTag(List tagIdList, List userIdList); } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java index f7d0979..833068f 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java @@ -118,39 +118,54 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { return wxUserMemberMapper.selectUserCount(); } + /** + * 批量添加小程序标签 + * + * @param tagIdList + * @param userIdList + */ @Override - public void batchAddMiniProgramTag(List tagIdList, List userIds) { - if (tagIdList != null && tagIdList.size() > 0) { - // 对单个标签操作 - for (Integer tagId : tagIdList) { - SysTag sysTag = sysTagMapper.selectDeptById(tagId.longValue()); - if (sysTag != null) { - List needAddIdList = new ArrayList<>(); - // 1、查询该标签下,有那些用户关联 - List existedUserList = wxUserTagMapper.selectWxUserTagByTagId(tagId, TagTypeStatus.MINI_PROGRAM.getCode()); - if (existedUserList != null && existedUserList.size() > 0) { - Iterator iterator = userIds.iterator(); - while (iterator.hasNext()) { - Integer element = iterator.next(); - if (!existedUserList.contains(element)) { - needAddIdList.add(element); - } + public void batchAddMiniProgramTag(List tagIdList, List userIdList) { + // 对单个标签操作 + for (Integer tagId : tagIdList) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId.longValue()); + if (sysTag != null) { + List needAddIdList = new ArrayList<>(); + // 1、查询该标签下,有那些用户关联 + List existedUserList = wxUserTagMapper.selectWxUserTagByTagId(tagId, TagTypeStatus.MINI_PROGRAM.getCode()); + if (existedUserList != null && existedUserList.size() > 0) { + Iterator iterator = userIdList.iterator(); + while (iterator.hasNext()) { + Integer element = iterator.next(); + if (!existedUserList.contains(element)) { + needAddIdList.add(element); } } + } - // 2、添加用户与标签的关联 - List list = new ArrayList<>(); - WxUserTag wxUserTag; - if (needAddIdList != null && needAddIdList.size() > 0) { - for (Integer userId : needAddIdList) { - wxUserTag = new WxUserTag(null, userId.longValue(), sysTag.getTagName(), tagId.longValue(), TagTypeStatus.MINI_PROGRAM.getCode(), null); - wxUserTag.setCreateTime(DateUtils.getNowDate()); - list.add(wxUserTag); - } - wxUserTagMapper.insertBatch(list); + // 2、添加用户与标签的关联 + List list = new ArrayList<>(); + WxUserTag wxUserTag; + if (needAddIdList != null && needAddIdList.size() > 0) { + for (Integer userId : needAddIdList) { + wxUserTag = new WxUserTag(null, userId.longValue(), sysTag.getTagName(), tagId.longValue(), TagTypeStatus.MINI_PROGRAM.getCode(), null); + wxUserTag.setCreateTime(DateUtils.getNowDate()); + list.add(wxUserTag); } + wxUserTagMapper.insertBatch(list); } } } } + + /** + * 批量删除小程序标签 + * + * @param tagIdList + * @param userIdList + */ + @Override + public void batchDelMiniProgramTag(List tagIdList, List userIdList) { + wxUserTagMapper.deleteBatch(tagIdList, userIdList); + } }