## 专区商品列表添加等级、奖衔权限判断;
This commit is contained in:
parent
80f27bbec8
commit
d4aec35734
|
|
@ -1,6 +1,7 @@
|
||||||
package com.hzs.sale.wares.service.impl;
|
package com.hzs.sale.wares.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
|
@ -1244,6 +1245,23 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
||||||
specialAreaList = saList;
|
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();
|
RecommendWaresInfoVo recommendWaresInfoVo = new RecommendWaresInfoVo();
|
||||||
// 推荐专区
|
// 推荐专区
|
||||||
List<RecommendSpecialAreaVo> resultList = new ArrayList<>();
|
List<RecommendSpecialAreaVo> resultList = new ArrayList<>();
|
||||||
|
|
@ -1263,16 +1281,27 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
||||||
recommendSpecialAreaVo.setSpecialAreaName(sArea.getLabel());
|
recommendSpecialAreaVo.setSpecialAreaName(sArea.getLabel());
|
||||||
resultList.add(recommendSpecialAreaVo);
|
resultList.add(recommendSpecialAreaVo);
|
||||||
|
|
||||||
// 推荐商品 取值前两个
|
|
||||||
List<BdWaresExt> waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap);
|
|
||||||
List<BdWaresExt> filterList = new ArrayList<>();
|
List<BdWaresExt> filterList = new ArrayList<>();
|
||||||
if (waresList.size() > 3) {
|
// 推荐商品,TODO 此处查询推荐商品,可以先全查出来在内存进行分专区处理,后续有时间可以优化
|
||||||
filterList.add(waresList.get(0));
|
List<BdWaresExt> waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap);
|
||||||
filterList.add(waresList.get(1));
|
if (CollectionUtil.isNotEmpty(waresList)) {
|
||||||
filterList.add(waresList.get(2));
|
for (BdWaresExt waresExt : waresList) {
|
||||||
} else {
|
if (waresIdSet.contains(waresExt.getPkId())) {
|
||||||
filterList.addAll(waresList);
|
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 -> {
|
List<WaresVo> waresVoList = filterList.stream().map(wl -> {
|
||||||
WaresVo waresVo = new WaresVo();
|
WaresVo waresVo = new WaresVo();
|
||||||
waresVo.setPkWares(wl.getPkId());
|
waresVo.setPkWares(wl.getPkId());
|
||||||
|
|
|
||||||
|
|
@ -414,7 +414,6 @@
|
||||||
<!-- 查询推荐商品 -->
|
<!-- 查询推荐商品 -->
|
||||||
<select id="queryByRecommendList" resultMap="BaseResultMap">
|
<select id="queryByRecommendList" resultMap="BaseResultMap">
|
||||||
select bw.*, be.IS_SALE, be.PRE_SALE_STATUS,
|
select bw.*, be.IS_SALE, be.PRE_SALE_STATUS,
|
||||||
|
|
||||||
be.INVENTORY, be.INVENTORY_RATIO, be.MEMBER_LIMIT, be.MEMBER_MONTH_LIMIT, be.INVENTORY_USE
|
be.INVENTORY, be.INVENTORY_RATIO, be.MEMBER_LIMIT, be.MEMBER_MONTH_LIMIT, be.INVENTORY_USE
|
||||||
from bd_wares bw
|
from bd_wares bw
|
||||||
left join bd_wares_extend be on bw.pk_id = be.pk_wares
|
left join bd_wares_extend be on bw.pk_id = be.pk_wares
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue