Commit 13f48178 by 周晓航

依据促销 设置 套餐划线价展示问题

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent bc6db67e
...@@ -340,8 +340,8 @@ public class ShoppingCartAdapter { ...@@ -340,8 +340,8 @@ public class ShoppingCartAdapter {
//更新当前商品行价格 //更新当前商品行价格
Long newOrigOriginalPrice = 0L; Long newOrigOriginalPrice = 0L;
if (isSetMealProduct) { if (isSetMealProduct) {
// fisherman ---> 套餐划线价取值--> 根据商户号配置 取值不同
newOrigOriginalPrice += cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum(); newOrigOriginalPrice += cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
newOrigOriginalPrice += cartGoods.getProductGroupList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
} else { } else {
newOrigOriginalPrice = isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice(); newOrigOriginalPrice = isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice();
} }
......
...@@ -83,11 +83,12 @@ public class CalculationCommonService { ...@@ -83,11 +83,12 @@ public class CalculationCommonService {
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
originalAmount = 0L;amount = 0L;packageAmount = 0L; originalAmount = 0L;amount = 0L;packageAmount = 0L;
this.rowRealAmount(goods, cartGoods, couponCode);
//原价行记录 //原价行记录
originalAmount = cartGoods.getOriginalPrice() * cartGoods.getQty(); originalAmount = cartGoods.getOriginalPrice() * cartGoods.getQty();
cartGoods.setOriginalAmount(originalAmount); cartGoods.setOriginalAmount(originalAmount);
this.rowRealAmount(goods, cartGoods, couponCode);
//成交价行记录 //成交价行记录
amount = cartGoods.getAmount(); amount = cartGoods.getAmount();
totalAmount += amount; totalAmount += amount;
...@@ -222,6 +223,7 @@ public class CalculationCommonService { ...@@ -222,6 +223,7 @@ public class CalculationCommonService {
} }
if (GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) { if (GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType().equals(cartGoods.getGoodsType())) {
cartGoods.setOriginalAmount(originPrice); cartGoods.setOriginalAmount(originPrice);
cartGoods.setOriginalPrice(find.getOriginalPrice());
} }
} }
...@@ -500,19 +502,26 @@ public class CalculationCommonService { ...@@ -500,19 +502,26 @@ public class CalculationCommonService {
/** /**
* 固定搭配 * 固定搭配
* productComboList * productComboList
* fisherman 固定搭配套餐价设置,促销不计算可选搭配价格
*/ */
Long originalPriceSum = 0L; Long originalPriceSum = 0L;
List<ShoppingCartGoodsDto.CartGoodsDetailDto> combs = new ArrayList<>(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> combs = new ArrayList<>();
if (CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) { if (calculationGoods !=null) {
HashMap<String, BlockRow> gxDiscount = this.drawnSmallAndGroupRow(calculationGoods, 2, true); originalPriceSum = calculationGoods.getOriginalPrice();
List<ShoppingCartGoodsDto.CartGoodsDetailDto> comboLists = this.com2DetailGoods(gxDiscount, cartGoods.getProductComboList(), cartGoods, true);
combs.addAll(comboLists);
cartGoodsDetailDto.setProductType(ProductType.SETMEAL.getCode());
for (ShoppingCartGoodsDto.CartGoodsDetailDto comboList : comboLists) {
originalPriceSum += (comboList.getQty() / cartGoods.getQty()) * comboList.getOriginalPrice();
}
cartGoodsDetailDto.setOriginalPrice(originalPriceSum); cartGoodsDetailDto.setOriginalPrice(originalPriceSum);
}else {
if (CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) {
HashMap<String, BlockRow> gxDiscount = this.drawnSmallAndGroupRow(calculationGoods, 2, true);
List<ShoppingCartGoodsDto.CartGoodsDetailDto> comboLists = this.com2DetailGoods(gxDiscount, cartGoods.getProductComboList(), cartGoods, true);
combs.addAll(comboLists);
cartGoodsDetailDto.setProductType(ProductType.SETMEAL.getCode());
for (ShoppingCartGoodsDto.CartGoodsDetailDto comboList : comboLists) {
originalPriceSum += (comboList.getQty() / cartGoods.getQty()) * comboList.getOriginalPrice();
}
cartGoodsDetailDto.setOriginalPrice(originalPriceSum);
}
} }
/** /**
* 可选商品 * 可选商品
* productGroupList * productGroupList
......
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