Commit 632ad43f by 缪晖

Merge branch 'feature/20201208_collageOrder_miaohui' into 'qa'

直接从促销goods获取均摊总优惠金额

See merge request !73
parents debe06cc 3a4a7525
......@@ -708,7 +708,7 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
updatePackPrice(shoppingCartGoodsResponseVo, shoppingCartGoodsDto);
// 重新计算购物车行折扣总金额
//updateTotalDiscountAmount(shoppingCartGoodsDto);
updateTotalDiscountAmount(calculationDiscountResult, shoppingCartGoodsDto);
return ResponseUtil.success(shoppingCartGoodsDto);
}
......@@ -733,14 +733,15 @@ public class ShoppingCartCollageServiceImpl extends AbstractShoppingCartImpl imp
/**
* 重新计算拼单购物车行总折扣金额
*/
private void updateTotalDiscountAmount(ShoppingCartGoodsDto shoppingCartGoodsDto) {
if (null != shoppingCartGoodsDto && null != shoppingCartGoodsDto.getProducts()) {
private void updateTotalDiscountAmount(ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, ShoppingCartGoodsDto shoppingCartGoodsDto) {
if (null != shoppingCartGoodsDto && null != shoppingCartGoodsDto.getProducts() && null != calculationDiscountResult.getGoods()) {
shoppingCartGoodsDto.getProducts().stream().forEach(product -> {
List<ActivityDiscountsDto> activityDiscountsDtos = product.getActivityDiscountsDtos();
if (null != activityDiscountsDtos && !activityDiscountsDtos.isEmpty()) {
product.setTotalDiscountAmount(activityDiscountsDtos.stream().mapToInt(ActivityDiscountsDto::getDiscountAmount).sum());
calculationDiscountResult.getGoods().stream().forEach(goods -> {
if (goods.getCartGoodsUid().equals(product.getCartGoodsUid())) {
product.setTotalDiscountAmount(Integer.valueOf(String.valueOf(goods.getDiscountAmount())));
}
});
});
}
}
......
......@@ -81,12 +81,12 @@ public class TwoNDiscountServiceImpl implements IPromotionService {
return null;
}
List<ApportionGoodsDetail> list = Lists.newArrayList();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods apportionGood : calculationDiscountResult.getGoods()) {
if (!CollectionUtils.isEmpty(apportionGood.getDiscounts())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount apportionDetail : apportionGood.getDiscounts()) {
if (apportionDetail.getType().equals(ActivityTypeEnum.TYPE_53.getCode())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) {
if (!CollectionUtils.isEmpty(apportionGood.getApportionDetails())) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : apportionGood.getApportionDetails()) {
if (apportionDetail.getActivityType().equals(ActivityTypeEnum.TYPE_53.getCode())) {
ApportionGoodsDetail apportionGoodsDetail = new ApportionGoodsDetail();
apportionGoodsDetail.setActivityApportionAmount(apportionDetail.getDiscount());
apportionGoodsDetail.setActivityApportionAmount(apportionDetail.getActivityApportionAmount());
apportionGoodsDetail.setActivityCode(apportionDetail.getActivityCode());
apportionGoodsDetail.setActivityName(apportionDetail.getActivityName());
apportionGoodsDetail.setGoodsId(apportionGood.getGoodsId());
......
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