## 专区商品列表添加等级、奖衔权限判断;
This commit is contained in:
parent
20f647105d
commit
c7a4d7be16
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.sale.wares.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
|
@ -1244,6 +1245,23 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
|||
specialAreaList = saList;
|
||||
}
|
||||
|
||||
// 查询推荐商品
|
||||
List<BdWaresExt> recommendWaresList = this.selectByRecommentList(pkCountry, specialAreaList);
|
||||
// 校验商品奖衔和等级/团队权限
|
||||
List<Integer> waresIdList = recommendWaresList.stream().map(BdWares::getPkId).collect(Collectors.toList());
|
||||
Set<Integer> waresIdSet = new HashSet<>();
|
||||
List<String> authWaresList = new ArrayList<>();
|
||||
if (waresIdList.size() > 0) {
|
||||
// 处理商品权限
|
||||
List<WaresGradeAwards> waresGradeAwardsList = iBdWaresGradeService.queryWaresGradeAwards(waresIdList);
|
||||
// 先处理没有配置等级、奖衔的商品
|
||||
waresGradeAwardsList.forEach(waresGradeAwards -> {
|
||||
waresIdSet.add(waresGradeAwards.getPkWares());
|
||||
String key = waresGradeAwards.getPkWares() + "_" + waresGradeAwards.getRangeType() + "_" + waresGradeAwards.getPkRange().toString();
|
||||
authWaresList.add(key);
|
||||
});
|
||||
}
|
||||
|
||||
RecommendWaresInfoVo recommendWaresInfoVo = new RecommendWaresInfoVo();
|
||||
// 推荐专区
|
||||
List<RecommendSpecialAreaVo> resultList = new ArrayList<>();
|
||||
|
@ -1263,16 +1281,27 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
|||
recommendSpecialAreaVo.setSpecialAreaName(sArea.getLabel());
|
||||
resultList.add(recommendSpecialAreaVo);
|
||||
|
||||
// 推荐商品 取值前两个
|
||||
List<BdWaresExt> waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap);
|
||||
List<BdWaresExt> filterList = new ArrayList<>();
|
||||
if (waresList.size() > 3) {
|
||||
filterList.add(waresList.get(0));
|
||||
filterList.add(waresList.get(1));
|
||||
filterList.add(waresList.get(2));
|
||||
} else {
|
||||
filterList.addAll(waresList);
|
||||
// 推荐商品,TODO 此处查询推荐商品,可以先全查出来在内存进行分专区处理,后续有时间可以优化
|
||||
List<BdWaresExt> waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap);
|
||||
if (CollectionUtil.isNotEmpty(waresList)) {
|
||||
for (BdWaresExt waresExt : waresList) {
|
||||
if (waresIdSet.contains(waresExt.getPkId())) {
|
||||
String gradeKey = waresExt.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade();
|
||||
String awardsKey = waresExt.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards();
|
||||
String authorityKey = waresExt.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority();
|
||||
if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (filterList.size() > 2) {
|
||||
break;
|
||||
} else {
|
||||
filterList.add(waresExt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<WaresVo> waresVoList = filterList.stream().map(wl -> {
|
||||
WaresVo waresVo = new WaresVo();
|
||||
waresVo.setPkWares(wl.getPkId());
|
||||
|
|
|
@ -414,7 +414,6 @@
|
|||
<!-- 查询推荐商品 -->
|
||||
<select id="queryByRecommendList" resultMap="BaseResultMap">
|
||||
select bw.*, be.IS_SALE, be.PRE_SALE_STATUS,
|
||||
|
||||
be.INVENTORY, be.INVENTORY_RATIO, be.MEMBER_LIMIT, be.MEMBER_MONTH_LIMIT, be.INVENTORY_USE
|
||||
from bd_wares bw
|
||||
left join bd_wares_extend be on bw.pk_id = be.pk_wares
|
||||
|
|
Loading…
Reference in New Issue