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 c79934265..71bdd4a54 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 @@ -212,22 +212,27 @@ public class CouponRender implements CartRenderStep { MemberCouponDTO platformCoupon = tradeDTO.getPlatformCoupon(); //如果有勾选平台优惠券 if (platformCoupon != null) { - for (MemberCoupon canUseCoupon : tradeDTO.getCanUseCoupons()) { - if(canUseCoupon.getCouponId().equals(platformCoupon.getMemberCoupon().getCouponId())){ - renderSku(tradeDTO, platformCoupon); - } + //判断该优惠券是否可以使用,如果可以进行价格渲染,如果不可以使用,去掉该优惠券的使用 + boolean checkFlag = tradeDTO.getCanUseCoupons().stream().anyMatch(item -> item.getCouponId().equals(platformCoupon.getMemberCoupon().getCouponId())); + if(checkFlag){ + renderSku(tradeDTO, platformCoupon); + }else{ + tradeDTO.setPlatformCoupon(null); } } //计算商家优惠券 Map map = tradeDTO.getStoreCoupons(); if (map != null && map.size() > 0) { for (MemberCouponDTO memberCouponDTO : map.values()) { - for (MemberCoupon canUseCoupon : tradeDTO.getCanUseCoupons()) { - if(canUseCoupon.getCouponId().equals(memberCouponDTO.getMemberCoupon().getCouponId())){ - renderSku(tradeDTO, memberCouponDTO); - } + //判断该优惠券是否可以使用,如果可以进行价格渲染,如果不可以使用,去掉该优惠券的使用 + boolean storeCouponCheck = tradeDTO.getCanUseCoupons().stream().anyMatch(item -> item.getCouponId().equals(memberCouponDTO.getMemberCoupon().getCouponId())); + if(storeCouponCheck){ + renderSku(tradeDTO, memberCouponDTO); + }else{ + map.values().remove(memberCouponDTO); } } + tradeDTO.setStoreCoupons(map); } }