From b297f27c6dbbeb5d5b4b991c5a5a1d9ca84bc6ed Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Thu, 4 Jan 2024 10:38:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E7=AE=A1=E7=90=86-=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/req/WxUserMemberVm.java | 25 ++++ .../core/mapper/WxUserMemberMapper.java | 5 +- .../resources/mapper/WxUserMemberMapper.xml | 123 +++++++++++++++++- .../service/impl/WxUserMemberServiceImpl.java | 21 +-- 4 files changed, 161 insertions(+), 13 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxUserMemberVm.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxUserMemberVm.java index eb08683..4c38f37 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxUserMemberVm.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxUserMemberVm.java @@ -102,11 +102,21 @@ public class WxUserMemberVm extends BaseEntity { */ List wecomTags; + /** + * 企微标签个数 + */ + Integer wecomTagNum; + /** * 小程序标签 */ List miniProgramTags; + /** + * 小程序标签 + */ + Integer miniProgramTagNum; + public WxUserMemberVm() { @@ -263,4 +273,19 @@ public class WxUserMemberVm extends BaseEntity { this.miniProgramTags = miniProgramTags; } + public Integer getWecomTagNum() { + return wecomTagNum; + } + + public void setWecomTagNum(Integer wecomTagNum) { + this.wecomTagNum = wecomTagNum; + } + + public Integer getMiniProgramTagNum() { + return miniProgramTagNum; + } + + public void setMiniProgramTagNum(Integer miniProgramTagNum) { + this.miniProgramTagNum = miniProgramTagNum; + } } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserMemberMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserMemberMapper.java index ebd7e81..91785d7 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserMemberMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxUserMemberMapper.java @@ -3,6 +3,7 @@ package com.flossom.common.core.mapper; import com.flossom.common.core.domain.entity.WxUserMember; import com.flossom.common.core.domain.req.WxUserMemberVm; +import com.flossom.common.core.domain.ret.WxUserMemberRet; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -74,7 +75,7 @@ public interface WxUserMemberMapper { void upgradeMember(@Param("phoneNumber") String phoneNumber, @Param("id") Integer id); - List selectWxUserMemberListByVm(WxUserMemberVm wxUserMemberVm); + List selectWxUserMemberListByVm(WxUserMemberVm wxUserMemberVm); List selectUserCount(); @@ -84,4 +85,6 @@ public interface WxUserMemberMapper { List selectWxUserMemberByMobile(@Param("mobile") String mobile); List selectWxUserMemberByIdList(@Param("userIdList") List userIdList); + + List selectWxUserMemberRetListByVm(WxUserMemberVm wxUserMemberVm); } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserMemberMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserMemberMapper.xml index 84dd262..ebdf137 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserMemberMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserMemberMapper.xml @@ -38,6 +38,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, nickname, headimg, username, credit, expire_credit, openid, unionid, user_type, level, mobile, province_id, city_id, area_id, province, city, area, birthday, clock, activity, wechat, is_abutment, login_time, is_complete_information, devices_num, status, create_by, create_time, update_by, update_time, remark from wx_user_member @@ -127,14 +161,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and id in ( SELECT - DISTINCT user_id + user_id FROM wx_user_tag WHERE - tag_id IN + type = 2 + AND tag_id IN #{wecomTag} + GROUP BY + user_id + HAVING + COUNT( DISTINCT tag_id ) = #{wecomTagNum} ) @@ -144,10 +183,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM wx_user_tag WHERE - tag_id IN + type = 1 + AND tag_id IN #{miniProgramTag} + GROUP BY + user_id + HAVING + COUNT( DISTINCT tag_id ) = #{miniProgramTagNum} ) and member.status = 0 @@ -311,5 +355,78 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file 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 f91fab2..cad3c15 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 @@ -116,7 +116,7 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { */ @Override public List selectWxUserMemberList(WxUserMemberVm wxUserMemberVm) { - return (List) wxUserMemberMapper.selectWxUserMemberListByVm(wxUserMemberVm); + return wxUserMemberMapper.selectWxUserMemberListByVm(wxUserMemberVm); } /** @@ -357,21 +357,24 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { @Override public List selectWxUserMemberRetList(WxUserMemberVm wxUserMemberVm) { - List wxUserMembers = (List) wxUserMemberMapper.selectWxUserMemberListByVm(wxUserMemberVm); - if (wxUserMembers != null && wxUserMembers.size() > 0) { - WxUserMemberRet wxUserMemberRet; - for (WxUserMember wxUserMember : wxUserMembers) { - wxUserMemberRet = new WxUserMemberRet(); - BeanUtils.copyProperties(wxUserMember, wxUserMemberRet); + if (wxUserMemberVm.getWecomTags() != null) { + wxUserMemberVm.setWecomTagNum(wxUserMemberVm.getWecomTags().size()); + } + if (wxUserMemberVm.getMiniProgramTags() != null) { + wxUserMemberVm.setMiniProgramTagNum(wxUserMemberVm.getMiniProgramTags().size()); + } + List wxUserMemberRetList = wxUserMemberMapper.selectWxUserMemberRetListByVm(wxUserMemberVm); + if (wxUserMemberRetList != null && wxUserMemberRetList.size() > 0) { + for (WxUserMemberRet wxUserMemberRet : wxUserMemberRetList) { WxUserTag wxUserTag = new WxUserTag(); - wxUserTag.setUserId(wxUserMember.getId()); + wxUserTag.setUserId(wxUserMemberRet.getId()); wxUserTag.setType(TagTypeStatus.MINI_PROGRAM.getCode()); wxUserMemberRet.setMiniProgramTags(wxUserTagMapper.selectWxUserTagList(wxUserTag)); wxUserTag.setType(TagTypeStatus.ENTERPRISE_WECHAT.getCode()); wxUserMemberRet.setWecomTags(wxUserTagMapper.selectWxUserTagList(wxUserTag)); } } - return wxUserMembers; + return wxUserMemberRetList; } @Override