Commit 59b7bb7a by xiaoer.li@freemud.com

update:均摊

parent 41d67e3a
...@@ -153,13 +153,18 @@ public class BuySendPromotionService implements IPromotionService { ...@@ -153,13 +153,18 @@ public class BuySendPromotionService implements IPromotionService {
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos() == null ? new ArrayList<>() : shoppingCartGoodsDto.getActivityDiscountsDtos(); List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos() == null ? new ArrayList<>() : shoppingCartGoodsDto.getActivityDiscountsDtos();
if (CollectionUtils.isNotEmpty(sendGoods1)) { if (CollectionUtils.isNotEmpty(sendGoods1)) {
ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity = sendGoods1.get(0); ActivityCalculationDiscountResponseDto.CalculationDiscountResult.SendActivity sendActivity = sendGoods1.get(0);
boolean type230 = false;
if(ActivityTypeEnum.TYPE_230.getCode().equals(sendActivity.getActivityCode())) {
type230 = true;
}
Integer discountAmount = shoppingCartGoodsDto.getProducts().stream().filter(product -> ObjectUtils.equals(product.getActivityType(), sendActivity.getActivityType())).mapToInt(ShoppingCartGoodsDto.CartGoodsDetailDto::getTotalDiscountAmount).sum(); Integer discountAmount = shoppingCartGoodsDto.getProducts().stream().filter(product -> ObjectUtils.equals(product.getActivityType(), sendActivity.getActivityType())).mapToInt(ShoppingCartGoodsDto.CartGoodsDetailDto::getTotalDiscountAmount).sum();
Long totalAmount = shoppingCartGoodsDto.getProducts().stream().filter(product -> ObjectUtils.equals(product.getActivityType(), sendActivity.getActivityType())).mapToLong(ShoppingCartGoodsDto.CartGoodsDetailDto::getOriginalPrice).sum();
//设置优惠活动 //设置优惠活动
ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto(); ActivityDiscountsDto activityDiscountsDto = new ActivityDiscountsDto();
activityDiscountsDto.setActivityCode(sendActivity.getActivityCode()); activityDiscountsDto.setActivityCode(sendActivity.getActivityCode());
activityDiscountsDto.setActivityName(sendActivity.getActivityName()); activityDiscountsDto.setActivityName(sendActivity.getActivityName());
activityDiscountsDto.setActivityType(sendActivity.getActivityType()); activityDiscountsDto.setActivityType(sendActivity.getActivityType());
activityDiscountsDto.setDiscountAmount(0 - discountAmount); activityDiscountsDto.setDiscountAmount(type230 ? totalAmount.intValue() :0 - discountAmount);
activityDiscountsDtos.add(activityDiscountsDto); activityDiscountsDtos.add(activityDiscountsDto);
// 设置商品行优惠明细 // 设置商品行优惠明细
...@@ -170,7 +175,7 @@ public class BuySendPromotionService implements IPromotionService { ...@@ -170,7 +175,7 @@ public class BuySendPromotionService implements IPromotionService {
ProductActivityDiscountsDto.setActivityCode(sendActivity.getActivityCode()); ProductActivityDiscountsDto.setActivityCode(sendActivity.getActivityCode());
ProductActivityDiscountsDto.setActivityName(sendActivity.getActivityName()); ProductActivityDiscountsDto.setActivityName(sendActivity.getActivityName());
ProductActivityDiscountsDto.setActivityType(sendActivity.getActivityType()); ProductActivityDiscountsDto.setActivityType(sendActivity.getActivityType());
ProductActivityDiscountsDto.setDiscountAmount(cartGoodsDetailDto.getTotalDiscountAmount()); ProductActivityDiscountsDto.setDiscountAmount(type230 ? cartGoodsDetailDto.getOriginalPrice().intValue():cartGoodsDetailDto.getTotalDiscountAmount());
activityDiscountsDtoList.add(ProductActivityDiscountsDto); activityDiscountsDtoList.add(ProductActivityDiscountsDto);
cartGoodsDetailDto.setActivityDiscountsDtos(activityDiscountsDtoList); cartGoodsDetailDto.setActivityDiscountsDtos(activityDiscountsDtoList);
} }
......
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