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} + ) +