Commit bb0db8df by 徐康

购物车问题修改

parent 3c369517
...@@ -152,6 +152,9 @@ public class CouponDiscountCalculation { ...@@ -152,6 +152,9 @@ public class CouponDiscountCalculation {
||(ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType())) ))) { ||(ActivityTypeEnum.TYPE_31.getCode().equals(discount.getType())) || (ActivityTypeEnum.TYPE_32.getCode().equals(discount.getType())) ))) {
return; return;
} }
Map<String, Integer> extendTypeMap = calculationDiscountResult.getDiscounts().stream()
.collect(Collectors.toMap(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount::getActivityCode
, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount::getExtendType, (k1, k2) -> k1));
//订单级别券优惠 //订单级别券优惠
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> couponDiscounts = calculationDiscountResult.getDiscounts(); List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount> couponDiscounts = calculationDiscountResult.getDiscounts();
if (CollectionUtils.isEmpty(couponDiscounts)) { if (CollectionUtils.isEmpty(couponDiscounts)) {
...@@ -180,21 +183,28 @@ public class CouponDiscountCalculation { ...@@ -180,21 +183,28 @@ public class CouponDiscountCalculation {
//商品券商品 //商品券商品
if (StringUtils.isNotEmpty(cartGoods.getCouponCode()) ) { if (StringUtils.isNotEmpty(cartGoods.getCouponCode()) ) {
List<ActivityDiscountsDto> productActivityDiscountsDtos = new ArrayList<>(); List<ActivityDiscountsDto> productActivityDiscountsDtos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(discounts)) { if(CollectionUtils.isNotEmpty(calculationDiscountResult.getGoods())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Discount couponDiscount : discounts) { for(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods goods : calculationDiscountResult.getGoods()) {
if (couponDiscount.getActivityCode().equals(cartGoods.getCouponCode())) { if(cartGoods.getCartGoodsUid().equals(goods.getCartGoodsUid())) {
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto(); List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount> goodsDiscounts = goods.getDiscounts();
activityDiscountsDto.setActivityCode(couponDiscount.getActivityCode()); if(CollectionUtils.isNotEmpty(goodsDiscounts)) {
activityDiscountsDto.setActivityName(couponDiscount.getActivityName()); for(ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount goodsDiscount : goodsDiscounts) {
activityDiscountsDto.setActivityType(couponDiscount.getType()); if(goodsDiscount.getActivityCode().equals(cartGoods.getCouponCode())) {
activityDiscountsDto.setDiscountAmount(0 - couponDiscount.getDiscount()); ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
Integer extendType = couponDiscount.getExtendType(); activityDiscountsDto.setActivityCode(goodsDiscount.getActivityCode());
activityDiscountsDto.setExtendType(extendType); activityDiscountsDto.setActivityName(goodsDiscount.getActivityName());
activityDiscountsDto.setTenderId(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo()); activityDiscountsDto.setActivityType(goodsDiscount.getType());
productActivityDiscountsDtos.add(activityDiscountsDto); activityDiscountsDto.setDiscountAmount(0 - goodsDiscount.getDiscount().intValue());
cartGoods.setTotalDiscountAmount(-activityDiscountsDto.getDiscountAmount()); Integer extendType = extendTypeMap.get(goodsDiscount.getActivityCode());
cartGoods.setSalePrice(0L); activityDiscountsDto.setExtendType(extendType);
cartGoods.setActivityDiscountsDtos(productActivityDiscountsDtos); activityDiscountsDto.setTenderId(goodsMap.get(cartGoods.getCartGoodsUid()).getArtNo());
productActivityDiscountsDtos.add(activityDiscountsDto);
cartGoods.setTotalDiscountAmount(-activityDiscountsDto.getDiscountAmount());
cartGoods.setSalePrice(0L);
cartGoods.setActivityDiscountsDtos(productActivityDiscountsDtos);
}
}
}
} }
} }
} }
......
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