Commit f16d9b9c by 胡敬轩

结算页可用券列表改造

parent c6cd445c
...@@ -350,6 +350,8 @@ public class ActivityAdapter { ...@@ -350,6 +350,8 @@ public class ActivityAdapter {
couponAvailableCartInfo.setChannelIdList(orgCodes); couponAvailableCartInfo.setChannelIdList(orgCodes);
Long totalMealDiscountAmount = 0L;//套餐优惠不算在内 Long totalMealDiscountAmount = 0L;//套餐优惠不算在内
Long sendDiscountAmount = 0L;//赠送和换购商品优惠不算在内
Long sendRealAmount = 0L;//赠送和换购商品实付不算在内
if(discountResult!=null){ if(discountResult!=null){
//已使用券 //已使用券
if(CollectionUtils.isNotEmpty(discountResult.getDiscounts())){ if(CollectionUtils.isNotEmpty(discountResult.getDiscounts())){
...@@ -365,11 +367,17 @@ public class ActivityAdapter { ...@@ -365,11 +367,17 @@ public class ActivityAdapter {
if(CollectionUtils.isNotEmpty(discountResult.getGoods())){ if(CollectionUtils.isNotEmpty(discountResult.getGoods())){
List<CartProduct> goods = new ArrayList<>(); List<CartProduct> goods = new ArrayList<>();
for(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods discountGood : discountResult.getGoods()){ for(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods discountGood : discountResult.getGoods()){
//小料和可选搭配金额
Pair<Long,Long> pair = getSmallMaterialAmountSharing(discountGood.getSmallMaterial());//value1=总实付 value2=总优惠
if(Objects.equals(CalculationGoodsType.TYPE_1.getType(),discountGood.getCartGoodType()) || Objects.equals(CalculationGoodsType.TYPE_2.getType(),discountGood.getCartGoodType())){
sendRealAmount += discountGood.getRealAmount() + pair.getFirst();
sendDiscountAmount += discountGood.getDiscountAmount() + pair.getSecond();
continue;
}
CartProduct cartProduct = new CartProduct(); CartProduct cartProduct = new CartProduct();
cartProduct.setProductId(discountGood.getGoodsId()); cartProduct.setProductId(discountGood.getGoodsId());
cartProduct.setQuantity(discountGood.getGoodsQuantity()); cartProduct.setQuantity(discountGood.getGoodsQuantity());
//小料和可选搭配金额
Pair<Long,Long> pair = getSmallMaterialAmountSharing(discountGood.getSmallMaterial());//value1=总实付 value2=总优惠
Long mealDiscountAmount = 0L;//套餐优惠不算在内 Long mealDiscountAmount = 0L;//套餐优惠不算在内
if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){ if(CollectionUtils.isNotEmpty(discountGood.getDiscounts())){
Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode()) Optional<String> goodCoupon = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_32.getCode())
...@@ -378,16 +386,16 @@ public class ActivityAdapter { ...@@ -378,16 +386,16 @@ public class ActivityAdapter {
mealDiscountAmount = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getDiscount).sum(); mealDiscountAmount = discountGood.getDiscounts().stream().filter(goodsDiscount -> Objects.equals(goodsDiscount.getType(),ActivityTypeEnum.TYPE_310.getCode())).mapToLong(CalculationSharingDiscountResponseDto.CalculationDiscountResult.Goods.GoodsDiscount::getDiscount).sum();
} }
cartProduct.setOriginalTotalAmount(discountGood.getRealAmount()+discountGood.getDiscountAmount() + pair.getFirst()+pair.getSecond() - mealDiscountAmount); cartProduct.setOriginalTotalAmount(discountGood.getRealAmount()+discountGood.getDiscountAmount() + pair.getFirst() + pair.getSecond() - mealDiscountAmount);
cartProduct.setRealAmount(discountGood.getRealAmount()+pair.getFirst()); cartProduct.setRealAmount(discountGood.getRealAmount() + pair.getFirst());
cartProduct.setDiscountAmount(discountGood.getDiscountAmount()+pair.getSecond() -mealDiscountAmount); cartProduct.setDiscountAmount(discountGood.getDiscountAmount()+pair.getSecond() - mealDiscountAmount);
goods.add(cartProduct); goods.add(cartProduct);
} }
couponAvailableCartInfo.setProductList(goods); couponAvailableCartInfo.setProductList(goods);
} }
couponAvailableCartInfo.setOriginalTotalAmount(discountResult.getOriginalTotalAmount() - totalMealDiscountAmount); couponAvailableCartInfo.setOriginalTotalAmount(discountResult.getOriginalTotalAmount() - totalMealDiscountAmount - sendRealAmount - sendDiscountAmount);
couponAvailableCartInfo.setRealAmount(discountResult.getTotalAmount()); couponAvailableCartInfo.setRealAmount(discountResult.getTotalAmount() - sendRealAmount);
couponAvailableCartInfo.setDiscountAmount(discountResult.getTotalDiscountAmount() - totalMealDiscountAmount); couponAvailableCartInfo.setDiscountAmount(discountResult.getTotalDiscountAmount() - totalMealDiscountAmount - sendDiscountAmount);
}else{ }else{
couponAvailableCartInfo.setProductList(new ArrayList<>()); couponAvailableCartInfo.setProductList(new ArrayList<>());
couponAvailableCartInfo.setOriginalTotalAmount(0L); couponAvailableCartInfo.setOriginalTotalAmount(0L);
......
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