|
|
|
|
@ -150,6 +150,26 @@ public class SiteInfoServiceImpl implements ISiteInfoService {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private List<SiteInfo> filterSite(List<SiteInfo> siteInfos) {
|
|
|
|
|
/* 获取用户拥有的小程序标签和企微标签 */
|
|
|
|
|
List<Long> userMiniTageIdList = new ArrayList<>();
|
|
|
|
|
List<Long> userWecomTageIdList = new ArrayList<>();
|
|
|
|
|
WxUserMember wxUserMember = SecurityUtils.getLoginUser().getWxUserMember();
|
|
|
|
|
WxUserTag wxUserTag = new WxUserTag();
|
|
|
|
|
wxUserTag.setUserId(wxUserMember.getId());
|
|
|
|
|
wxUserTag.setType(TagTypeStatus.MINI_PROGRAM.getCode());
|
|
|
|
|
// 用户拥有的小程序标签
|
|
|
|
|
List<WxUserTag> 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<WxUserTag> userWecomTags = wxUserTagMapper.selectWxUserTagList(wxUserTag);
|
|
|
|
|
if (userWecomTags != null && userWecomTags.size() > 0) {
|
|
|
|
|
userWecomTageIdList = userWecomTags.stream().map(WxUserTag::getTagId).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 开始判断 */
|
|
|
|
|
List<SiteInfo> 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<Long> userMiniTageIdList = new ArrayList<>();
|
|
|
|
|
List<Long> userWecomTageIdList = new ArrayList<>();
|
|
|
|
|
WxUserMember wxUserMember = SecurityUtils.getLoginUser().getWxUserMember();
|
|
|
|
|
WxUserTag wxUserTag = new WxUserTag();
|
|
|
|
|
wxUserTag.setUserId(wxUserMember.getId());
|
|
|
|
|
wxUserTag.setType(TagTypeStatus.MINI_PROGRAM.getCode());
|
|
|
|
|
// 用户拥有的小程序标签
|
|
|
|
|
List<WxUserTag> 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<WxUserTag> 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<Long> 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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|