From c9b35bf9cf0311616342199b67463bf8c6079fd2 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Mon, 15 Jan 2024 14:07:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BC=B9=E7=AA=97=E6=88=96?= =?UTF-8?q?=E8=80=85=E8=BD=AE=E6=92=AD=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SiteInfoServiceImpl.java | 60 ++++++++++++------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/SiteInfoServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/SiteInfoServiceImpl.java index 10c8bb1..58ae882 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/SiteInfoServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/SiteInfoServiceImpl.java @@ -150,6 +150,26 @@ public class SiteInfoServiceImpl implements ISiteInfoService { * @return */ private List filterSite(List siteInfos) { + /* 获取用户拥有的小程序标签和企微标签 */ + List userMiniTageIdList = new ArrayList<>(); + List userWecomTageIdList = new ArrayList<>(); + WxUserMember wxUserMember = SecurityUtils.getLoginUser().getWxUserMember(); + WxUserTag wxUserTag = new WxUserTag(); + wxUserTag.setUserId(wxUserMember.getId()); + wxUserTag.setType(TagTypeStatus.MINI_PROGRAM.getCode()); + // 用户拥有的小程序标签 + List userMiniProgramTags = wxUserTagMapper.selectWxUserTagList(wxUserTag); + if (userMiniProgramTags != null && userMiniProgramTags.size() > 0) { + userMiniTageIdList = userMiniProgramTags.stream().map(WxUserTag::getTagId).collect(Collectors.toList()); + } + wxUserTag.setType(TagTypeStatus.ENTERPRISE_WECHAT.getCode()); + // 用户拥有的企微标签 + List userWecomTags = wxUserTagMapper.selectWxUserTagList(wxUserTag); + if (userWecomTags != null && userWecomTags.size() > 0) { + userWecomTageIdList = userWecomTags.stream().map(WxUserTag::getTagId).collect(Collectors.toList()); + } + + /* 开始判断 */ List resultList = new ArrayList<>(); for (SiteInfo info : siteInfos) { /* 1、开启结束时间判定 */ @@ -184,7 +204,7 @@ public class SiteInfoServiceImpl implements ISiteInfoService { if (userType != 0) { Integer loginUserType = SecurityUtils.getLoginUser().getWxUserMember().getUserType(); // 当用户类型为游客 - if (loginUserType == 0) { + if (loginUserType== null || loginUserType == 0) { if (userType != 1) { continue; } @@ -198,25 +218,6 @@ public class SiteInfoServiceImpl implements ISiteInfoService { } /* 4、弹窗标签判断 */ - // 4.1、获取用户拥有的小程序标签和企微标签 - List userMiniTageIdList = new ArrayList<>(); - List userWecomTageIdList = new ArrayList<>(); - WxUserMember wxUserMember = SecurityUtils.getLoginUser().getWxUserMember(); - WxUserTag wxUserTag = new WxUserTag(); - wxUserTag.setUserId(wxUserMember.getId()); - wxUserTag.setType(TagTypeStatus.MINI_PROGRAM.getCode()); - // 用户拥有的小程序标签 - List userMiniProgramTags = wxUserTagMapper.selectWxUserTagList(wxUserTag); - if (userMiniProgramTags != null && userMiniProgramTags.size() > 0) { - userMiniTageIdList = userMiniProgramTags.stream().map(WxUserTag::getTagId).collect(Collectors.toList()); - } - wxUserTag.setType(TagTypeStatus.ENTERPRISE_WECHAT.getCode()); - // 用户拥有的企微标签 - List userWecomTags = wxUserTagMapper.selectWxUserTagList(wxUserTag); - if (userWecomTags != null && userWecomTags.size() > 0) { - userWecomTageIdList = userWecomTags.stream().map(WxUserTag::getTagId).collect(Collectors.toList()); - } - // 4.2、禁止标签 SiteInfoTag siteInfoTag = new SiteInfoTag(); siteInfoTag.setSiteId(info.getId()); @@ -225,11 +226,28 @@ public class SiteInfoServiceImpl implements ISiteInfoService { if (forbidSiteInfoTags != null && forbidSiteInfoTags.size() > 0) { List forbidTagIdList = forbidSiteInfoTags.stream().map(SiteInfoTag::getTagId).collect(Collectors.toList()); if (userMiniTageIdList.size() > 0) { + boolean isContinue = false; for (Long tagid : userMiniTageIdList) { if (forbidTagIdList.contains(tagid)) { - continue; + isContinue = true; + break; } } + if(isContinue){ + continue; + } + } + if (userWecomTageIdList.size() > 0) { + boolean isContinue = false; + for (Long tagid : userWecomTageIdList) { + if (forbidTagIdList.contains(tagid)) { + isContinue = true; + break; + } + } + if(isContinue){ + continue; + } } }