From 41aa579a9b573401b176212424dc586a26651e71 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 20 Feb 2024 15:58:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=8D=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E7=9A=84=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bir/service/impl/BirCenterRateServiceImpl.java | 6 +++++- .../goods/controller/GoodsSpuController.java | 7 +++++++ .../qs/serve/modules/goods/entity/GoodsSpu.java | 6 ++++++ src/main/resources/mapper/goods/GoodsSpuMapper.xml | 14 ++++++++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java index 5f4a2919..73e2532e 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java @@ -245,7 +245,11 @@ public class BirCenterRateServiceImpl implements BirCenterRateService { costApplyRateVo.setAllCostAmt(allUsedCost); if(dispatchSumAllsAmt!=null&&dispatchSumAllsAmt.compareTo(BigDecimal.ZERO)!=0){ - costApplyRateVo.setAllByRate(costApplyRateVo.getAllCostAmt().divide(costApplyRateVo.getAllDisAmt(),2,RoundingMode.DOWN)); + if(costApplyRateVo.getAllCostAmt()!=null){ + costApplyRateVo.setAllByRate(costApplyRateVo.getAllCostAmt().divide(costApplyRateVo.getAllDisAmt(),2,RoundingMode.DOWN)); + }else { + costApplyRateVo.setAllByRate(BigDecimal.ZERO); + } } costApplyRateVoList.add(costApplyRateVo); diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java index 617ff772..38e770eb 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -37,6 +37,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.time.LocalDate; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.stream.Collectors; @@ -57,6 +58,7 @@ public class GoodsSpuController { private GoodsSpuService goodsSpuService; private GoodsSpuSpecService goodsSpuSpecService; private GoodsSkuSpecValueService goodsSkuSpecValueService; + private GoodsCategoryRuleService goodsCategoryRuleService; private TbsActivityGoodsService activityGoodsService; private TbsBudgetConditionService budgetConditionService; private GoodsCategoryService goodsCategoryService; @@ -116,6 +118,11 @@ public class GoodsSpuController { */ @GetMapping("/getSkuJoinSpuList") public R> getSkuJoinSpuList(GoodsSpu param){ + GoodsCategoryRule categoryRule = goodsCategoryRuleService.getById(param.getSearchCateRuleId()); + if(categoryRule!=null&&categoryRule.getIgnoreBrandIds()!=null&&categoryRule.getIgnoreBrandIds().length>0){ + param.setSelectNotIntCateIds(Arrays.asList(categoryRule.getIgnoreBrandIds())); + log.warn("setSelectNotIntCateIds {}",JsonUtil.objectToJson(param)); + } Long total = goodsSpuService.selectCountSkuJoinSpuList(param); if(total<1){ return R.byEmptyList(); diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 6b34cdeb..5642e4e8 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -152,6 +152,9 @@ public class GoodsSpu implements Serializable { @TableField(exist = false) private List selectCateIds; + @TableField(exist = false) + private List selectNotIntCateIds; + @TableField(exist = false) private Integer selectSpecialFlag; @@ -196,6 +199,9 @@ public class GoodsSpu implements Serializable { @TableField(exist = false) private Integer skuSpecialFlag; + @TableField(exist = false) + private String searchCateRuleId; + public void toSetSkuInfo(GoodsSku goodsSku){ this.setSkuId(goodsSku.getId()); this.setSkuName(goodsSku.getSkuName()); diff --git a/src/main/resources/mapper/goods/GoodsSpuMapper.xml b/src/main/resources/mapper/goods/GoodsSpuMapper.xml index ef9af6b2..a8b7211b 100644 --- a/src/main/resources/mapper/goods/GoodsSpuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSpuMapper.xml @@ -140,6 +140,20 @@ #{selectId} ) + + and (`goods_spu`.`category_first` not in + + #{selectId} + + and `goods_spu`.`category_second` not in + + #{selectId} + + and `goods_spu`.`category_third` not in + + #{selectId} + ) +