Commit b7d92189 by 张跃

购物车价格

parent b3a5f6f0
...@@ -96,7 +96,7 @@ public class TimeSalePromotionService implements IPromotionService { ...@@ -96,7 +96,7 @@ public class TimeSalePromotionService implements IPromotionService {
return; return;
} }
// 商品实际享受优惠的数量: key:skuId; value:实际数量 // 商品实际享受优惠的数量: key:skuId; value:实际数量
Map<String, Integer> numberMap = new HashMap<>(); // Map<String, Integer> numberMap = new HashMap<>();
Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> goodsMap = goodsList.parallelStream() Map<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods> goodsMap = goodsList.parallelStream()
.collect(Collectors.toMap(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods::getCartGoodsUid, Function.identity(), (k1, k2) -> k1)); .collect(Collectors.toMap(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods::getCartGoodsUid, Function.identity(), (k1, k2) -> k1));
...@@ -111,21 +111,21 @@ public class TimeSalePromotionService implements IPromotionService { ...@@ -111,21 +111,21 @@ public class TimeSalePromotionService implements IPromotionService {
continue; continue;
} }
if (numberMap.get(cartGoods.getSkuId()) == null) { // if (numberMap.get(cartGoods.getSkuId()) == null) {
numberMap.put(cartGoods.getSkuId(), goods.getActualGoodsNumber()); // numberMap.put(cartGoods.getSkuId(), goods.getActualGoodsNumber());
} // }
Integer actualGoodsNumber = numberMap.get(cartGoods.getSkuId()); Integer actualGoodsNumber = goodsDiscount.getActualGoodsNumber();
if (actualGoodsNumber > 0) { if (actualGoodsNumber > 0) {
Long totalDiscountAmount = cartGoods.getQty() > actualGoodsNumber ? goodsDiscount.getDiscount() * actualGoodsNumber / goodsDiscount.getActualGoodsNumber() : goodsDiscount.getDiscount() * cartGoods.getQty() / goodsDiscount.getActualGoodsNumber(); // Long totalDiscountAmount = cartGoods.getQty() > actualGoodsNumber ? goodsDiscount.getDiscount() * actualGoodsNumber / goodsDiscount.getActualGoodsNumber() : goodsDiscount.getDiscount() * cartGoods.getQty() / goodsDiscount.getActualGoodsNumber();
//Long totalDiscountAmount = cartGoods.getQty() > actualGoodsNumber ? goods.getDiscountAmount() * actualGoodsNumber / goods.getActualGoodsNumber() : goods.getDiscountAmount() * cartGoods.getQty() / goods.getActualGoodsNumber(); //Long totalDiscountAmount = cartGoods.getQty() > actualGoodsNumber ? goods.getDiscountAmount() * actualGoodsNumber / goods.getActualGoodsNumber() : goods.getDiscountAmount() * cartGoods.getQty() / goods.getActualGoodsNumber();
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto(); ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
activityDiscountsDto.setActivityCode(goodsDiscount.getActivityCode()); activityDiscountsDto.setActivityCode(goodsDiscount.getActivityCode());
activityDiscountsDto.setActivityName(goodsDiscount.getActivityName()); activityDiscountsDto.setActivityName(goodsDiscount.getActivityName());
activityDiscountsDto.setActivityType(ActivityTypeEnum.TYPE_2.getCode()); activityDiscountsDto.setActivityType(ActivityTypeEnum.TYPE_2.getCode());
activityDiscountsDto.setDiscountAmount(totalDiscountAmount.intValue()); activityDiscountsDto.setDiscountAmount(goodsDiscount.getDiscount().intValue());
cartGoods.getActivityDiscountsDtos().add(activityDiscountsDto); cartGoods.getActivityDiscountsDtos().add(activityDiscountsDto);
cartGoods.setTotalDiscountAmount(cartGoods.getTotalDiscountAmount() + totalDiscountAmount.intValue()); cartGoods.setTotalDiscountAmount(cartGoods.getTotalDiscountAmount() + goodsDiscount.getDiscount().intValue());
numberMap.put(cartGoods.getSkuId(), actualGoodsNumber - cartGoods.getQty()); // numberMap.put(cartGoods.getSkuId(), actualGoodsNumber - cartGoods.getQty());
} else { } else {
cartGoods.setTotalDiscountAmount(0); cartGoods.setTotalDiscountAmount(0);
} }
......
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