Commit 3b746a63 by 徐康

问题修复

parent 23ab3d05
...@@ -179,6 +179,7 @@ public class CouponDiscountCalculation { ...@@ -179,6 +179,7 @@ public class CouponDiscountCalculation {
for (int i = 0; i < cartGoodsList.size(); i++) { for (int i = 0; i < cartGoodsList.size(); i++) {
CartGoods cartGoods = cartGoodsList.get(i); CartGoods cartGoods = cartGoodsList.get(i);
cartGoods.setIsB3S1CouponGoods(0); cartGoods.setIsB3S1CouponGoods(0);
boolean useCoupon = false;
if("9998".equals(cartGoods.getSkuId())) { if("9998".equals(cartGoods.getSkuId())) {
continue; continue;
} }
...@@ -199,47 +200,48 @@ public class CouponDiscountCalculation { ...@@ -199,47 +200,48 @@ public class CouponDiscountCalculation {
.filter(t -> ActivityTypeEnum.TYPE_32.getCode().equals(t.getType()) .filter(t -> ActivityTypeEnum.TYPE_32.getCode().equals(t.getType())
|| ActivityTypeEnum.TYPE_37.getCode().equals(t.getType()) || ActivityTypeEnum.TYPE_37.getCode().equals(t.getType())
|| ActivityTypeEnum.TYPE_39.getCode().equals(t.getType())).findFirst(); || ActivityTypeEnum.TYPE_39.getCode().equals(t.getType())).findFirst();
useCoupon = targetDiscount.isPresent();
if (null != targetDiscount && targetDiscount.isPresent()) { if (null != targetDiscount && targetDiscount.isPresent()) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount goodsDiscount = targetDiscount.get(); ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount goodsDiscount = targetDiscount.get();
cartGoods.setCouponName(goodsDiscount.getActivityName()); cartGoods.setCouponName(goodsDiscount.getActivityName());
//普通商品券 和月享卡1.0的 商品最终售价更新为促销返回价格 //普通商品券 和月享卡1.0的 商品最终售价更新为促销返回价格
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount()); cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
} }
}
}
Optional<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> b3S1DiscountOptional = discountsNew.stream() Optional<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> b3S1DiscountOptional = discountsNew.stream()
.filter(t -> ActivityTypeEnum.TYPE_35.getCode().equals(t.getType())).findFirst(); .filter(t -> ActivityTypeEnum.TYPE_35.getCode().equals(t.getType())).findFirst();
if(b3S1DiscountOptional.isPresent()) { if(b3S1DiscountOptional.isPresent()) {
haveB3S1Fav = true; haveB3S1Fav = true;
if(b3S1DiscountOptional.get().getActivityCode().equals(b3S1SeedCode)) { if(b3S1DiscountOptional.get().getActivityCode().equals(b3S1SeedCode)) {
useTimes += b3S1DiscountOptional.get().getActualGoodsNumber(); useTimes += b3S1DiscountOptional.get().getActualGoodsNumber();
} }
if(cartGoods.getQty() > b3S1DiscountOptional.get().getActualGoodsNumber()) { if(cartGoods.getQty() > b3S1DiscountOptional.get().getActualGoodsNumber()) {
int newNum = cartGoods.getQty() - b3S1DiscountOptional.get().getActualGoodsNumber(); int newNum = cartGoods.getQty() - b3S1DiscountOptional.get().getActualGoodsNumber();
CartGoods cartGoodsNew = new CartGoods(); CartGoods cartGoodsNew = new CartGoods();
BeanUtils.copyProperties(cartGoods, cartGoodsNew); BeanUtils.copyProperties(cartGoods, cartGoodsNew);
cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber()); cartGoods.setQty(b3S1DiscountOptional.get().getActualGoodsNumber());
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode()); cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName()); cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName());
cartGoods.setIsB3S1CouponGoods(1); cartGoods.setIsB3S1CouponGoods(1);
cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString()); cartGoodsNew.setCartGoodsUid(UUID.randomUUID().toString());
cartGoodsNew.setQty(newNum); cartGoodsNew.setQty(newNum);
cartGoodsNew.setCouponCode(null); cartGoodsNew.setCouponCode(null);
cartGoodsNew.setCouponName(null); cartGoodsNew.setCouponName(null);
cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * cartGoods.getQty()); cartGoodsNew.setAmount(cartGoods.getOriginalPrice() * cartGoods.getQty());
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount()); cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
newCartGoodsList.add(cartGoodsNew); newCartGoodsList.add(cartGoodsNew);
} else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) { } else if(cartGoods.getQty() == b3S1DiscountOptional.get().getActualGoodsNumber()) {
cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode()); cartGoods.setCouponCode(b3S1DiscountOptional.get().getActivityCode());
cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName()); cartGoods.setCouponName(b3S1DiscountOptional.get().getActivityName());
cartGoods.setIsB3S1CouponGoods(1); cartGoods.setIsB3S1CouponGoods(1);
cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount()); cartGoods.setAmount(goodsMap.get(cartGoods.getCartGoodsUid()).getRealAmount());
} }
} else { } else {
if(!targetDiscount.isPresent()) { if(!useCoupon) {
cartGoods.setCouponCode(null); cartGoods.setCouponCode(null);
cartGoods.setCouponName(null); cartGoods.setCouponName(null);
}
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment