From 71efa0ed6f7c684f11f74606ddd0268cfe6c2b0e Mon Sep 17 00:00:00 2001 From: owen Date: Sat, 2 Sep 2023 10:05:56 +0800 Subject: [PATCH] promotion: 订单使用品类券时,根据品类过滤可用商品 --- yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradeCouponPriceCalculator.java | 3 +++ 1 file changed, 3 insertions(+), 0 deletions(-) diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradeCouponPriceCalculator.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradeCouponPriceCalculator.java index 96db817..68955ce 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradeCouponPriceCalculator.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradeCouponPriceCalculator.java @@ -103,6 +103,9 @@ public class TradeCouponPriceCalculator implements TradePriceCalculator { if (PromotionProductScopeEnum.SPU.getScope().equals(coupon.getProductScope())) { matchPredicate = matchPredicate // 额外加如下条件 .and(orderItem -> coupon.getProductScopeValues().contains(orderItem.getSpuId())); + } else if (PromotionProductScopeEnum.CATEGORY.getScope().equals(coupon.getProductScope())) { + matchPredicate = matchPredicate // 额外加如下条件 + .and(orderItem -> coupon.getProductScopeValues().contains(orderItem.getCategoryId())); } return filterList(result.getItems(), matchPredicate); } -- libgit2 0.21.4