优惠券价格未渲染,但是优惠券却使用问题

This commit is contained in:
chc
2025-06-03 10:52:01 +08:00
parent a5aa090f4a
commit 05db6501f7

View File

@@ -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<String, MemberCouponDTO> 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);
}
}