diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/TradeDTO.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/TradeDTO.java index b6286359..cc072b28 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/TradeDTO.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/TradeDTO.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 购物车视图 @@ -147,4 +148,16 @@ public class TradeDTO implements Serializable { public TradeDTO() { this(CartTypeEnum.CART); } + + /** + * 过滤购物车中已选择的sku + * + * @return + */ + public List getCheckedSkuList() { + if (skuList != null && !skuList.isEmpty()) { + return skuList.stream().filter(CartSkuVO::getChecked).collect(Collectors.toList()); + } + return skuList; + } } diff --git a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java index cbb9f9f6..ad833422 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/render/impl/CouponRender.java @@ -103,7 +103,7 @@ public class CouponRender implements CartRenderStep { if (memberCoupon == null) { return; } - List filterSku = filterSkuVo(tradeDTO.getSkuList(), memberCoupon); + List filterSku = filterSkuVo(tradeDTO.getCheckedSkuList(), memberCoupon); if (filterSku == null || filterSku.isEmpty()) { tradeDTO.getCantUseCoupons().add(new MemberCouponVO(memberCoupon, "购物车中没有满足优惠券使用范围的优惠券"));