Browse Source

promotion: 订单使用品类券时,根据品类过滤可用商品

owen 1 year ago
parent
commit
71efa0ed6f

+ 3 - 0
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);
     }