Commit 419472d4 by xiaoer.li@freemud.com

fix:增加折扣判断

parent c22a5d64
...@@ -136,7 +136,7 @@ public class ShoppingCartConvertAdapter { ...@@ -136,7 +136,7 @@ public class ShoppingCartConvertAdapter {
* 2. 普通商品:cartGoodsDetailDto.couponCode空,去掉32的 * 2. 普通商品:cartGoodsDetailDto.couponCode空,去掉32的
*/ */
List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails> apportionDetails = apportionGoods.getApportionDetails().stream().filter(detail -> !detail.getActivityType().equals(ActivityTypeEnum.TYPE_32.getCode()) List<ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails> apportionDetails = apportionGoods.getApportionDetails().stream().filter(detail -> !detail.getActivityType().equals(ActivityTypeEnum.TYPE_32.getCode())
&& !detail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_2.getCode())).collect(Collectors.toList()); && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_104.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_2.getCode()) && !detail.getActivityType().equals(ActivityTypeEnum.TYPE_21.getCode())).collect(Collectors.toList());
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails detail : apportionDetails) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails detail : apportionDetails) {
List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList()); List<ActivityDiscountsDto> currentDiscount = activityDiscountsDtoList.stream().filter(discount -> ObjectUtils.equals(discount.getActivityCode(), detail.getActivityCode())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(currentDiscount)) { if (CollectionUtils.isNotEmpty(currentDiscount)) {
...@@ -167,6 +167,19 @@ public class ShoppingCartConvertAdapter { ...@@ -167,6 +167,19 @@ public class ShoppingCartConvertAdapter {
Long originalPrice = cartGoodsDetailDto.getOriginalPrice(); Long originalPrice = cartGoodsDetailDto.getOriginalPrice();
Long discountPrice = 0L; Long discountPrice = 0L;
int goodsTotalQty = apportionGoodsList.stream().mapToInt(apportionGoods -> apportionGoods.getGoodsQuantity()).sum(); int goodsTotalQty = apportionGoodsList.stream().mapToInt(apportionGoods -> apportionGoods.getGoodsQuantity()).sum();
Long a = 0L, b = 0L;
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGoods : apportionGoodsList) {
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.ApportionDetails apportionDetail : apportionGoods.getApportionDetails()) {
if (!ActivityTypeEnum.TYPE_32.getCode().equals(apportionDetail.getActivityType())
&& !ActivityTypeEnum.TYPE_104.getCode().equals(apportionDetail.getActivityType())
&& !ActivityTypeEnum.TYPE_2.getCode().equals(apportionDetail.getActivityType())
&& !ActivityTypeEnum.TYPE_21.getCode().equals(apportionDetail.getActivityType())
) {
a = apportionDetail.getActivityApportionAmount() * apportionGoods.getGoodsQuantity();
}
}
b += a * cartGoodsDetailDto.getQty() / goodsTotalQty;
}
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGoods : apportionGoodsList) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGoods : apportionGoodsList) {
//折扣=所有折扣和*百分比(当前行商品数量/购物车总商品数量) //折扣=所有折扣和*百分比(当前行商品数量/购物车总商品数量)
discountPrice += apportionGoods.getApportionDetails().stream().filter(d -> ObjectUtils.notEqual(ActivityTypeEnum.TYPE_32.getCode(), d.getActivityType()) discountPrice += apportionGoods.getApportionDetails().stream().filter(d -> ObjectUtils.notEqual(ActivityTypeEnum.TYPE_32.getCode(), d.getActivityType())
......
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