Commit 2a722b73 by yu.sun

sunyu::fix bug about combo-product calculate

parent c5af05c4
...@@ -637,8 +637,13 @@ public class ShoppingCartConvertAdapter { ...@@ -637,8 +637,13 @@ public class ShoppingCartConvertAdapter {
//更新当前商品行价格 //更新当前商品行价格
Long newOrigOriginalPrice = 0L; Long newOrigOriginalPrice = 0L;
if (isSetMealProduct) { if (isSetMealProduct) {
newOrigOriginalPrice += cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum(); if (null != cartGoods.getOriginalPrice() && cartGoods.getOriginalPrice()>0){
newOrigOriginalPrice += cartGoods.getOriginalPrice();
}else {
newOrigOriginalPrice += cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
}
newOrigOriginalPrice += cartGoods.getProductGroupList().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();
} }
...@@ -856,11 +861,13 @@ public class ShoppingCartConvertAdapter { ...@@ -856,11 +861,13 @@ public class ShoppingCartConvertAdapter {
Long comboxGoodsOriginalPrice = cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum(); Long comboxGoodsOriginalPrice = cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
Long groupGoodsOriginalPrice = cartGoods.getProductGroupList().stream().mapToLong(t -> t.getOriginalAmount()).sum(); Long groupGoodsOriginalPrice = cartGoods.getProductGroupList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
Long groupGoodsFinalPrice = cartGoods.getProductGroupList().stream().mapToLong(t -> t.getFinalPrice()).sum(); Long groupGoodsFinalPrice = cartGoods.getProductGroupList().stream().mapToLong(t -> t.getFinalPrice()).sum();
cartGoods.setOriginalPrice(comboxGoodsOriginalPrice); cartGoods.setOriginalPrice(null != cartGoods.getOriginalPrice()? cartGoods.getOriginalPrice() :
cartGoods.setOriginalAmount((comboxGoodsOriginalPrice+groupGoodsOriginalPrice)* cartGoods.getQty()); comboxGoodsOriginalPrice);
cartGoods.setAmount((comboxGoodsFinalPrice+groupGoodsFinalPrice) * cartGoods.getQty()); cartGoods.setOriginalAmount((cartGoods.getOriginalPrice()+groupGoodsOriginalPrice)* cartGoods.getQty());
//咨询商品服务,套餐售价取originalPrice //咨询商品服务,套餐售价取originalPrice
cartGoods.setFinalPrice(comboxGoodsFinalPrice); cartGoods.setFinalPrice(null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice() :
comboxGoodsFinalPrice);
cartGoods.setAmount((cartGoods.getFinalPrice()+groupGoodsFinalPrice) * cartGoods.getQty());
} else { } else {
newOrigOriginalPrice = isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice(); newOrigOriginalPrice = isSkuProduct ? skuProduct.getFinalPrice() : spuProduct.getFinalPrice();
cartGoods.setOriginalPrice(newOrigOriginalPrice); cartGoods.setOriginalPrice(newOrigOriginalPrice);
......
...@@ -1230,7 +1230,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1230,7 +1230,8 @@ public class ShoppingCartMCoffeeServiceImpl {
//超值加购商品赋值 //超值加购商品赋值
if (ObjectUtils.equals(GoodsTypeEnum.REDUCE_PRICE_GOODS.getGoodsType(), cartGoods.getGoodsType()) if (ObjectUtils.equals(GoodsTypeEnum.REDUCE_PRICE_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| ObjectUtils.equals(GoodsTypeEnum.COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType())) { || ObjectUtils.equals(GoodsTypeEnum.COUPON_GOODS.getGoodsType(), cartGoods.getGoodsType())
|| ObjectUtils.equals(GoodsTypeEnum.SET_MEAL_GOODS.getGoodsType(), cartGoods.getGoodsType())) {
cartGoods.setOriginalPrice(productBeanListSpuClass.get(0).getOriginalPrice()); cartGoods.setOriginalPrice(productBeanListSpuClass.get(0).getOriginalPrice());
cartGoods.setFinalPrice(productBeanListSpuClass.get(0).getFinalPrice()); cartGoods.setFinalPrice(productBeanListSpuClass.get(0).getFinalPrice());
cartGoods.setPackPrice(productBeanListSpuClass.get(0).getPackPrice()); cartGoods.setPackPrice(productBeanListSpuClass.get(0).getPackPrice());
......
...@@ -90,10 +90,14 @@ public class SetMealCalculation { ...@@ -90,10 +90,14 @@ public class SetMealCalculation {
Long amount = null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice() + productGroupTotalAmount + materialPrice : Long amount = null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice() + productGroupTotalAmount + materialPrice :
productGroupTotalAmount + productComboTotalAmount + materialPrice; productGroupTotalAmount + productComboTotalAmount + materialPrice;
cartGoods.setOriginalAmount(productGroupTotalAmount + productComboTotalAmount + materialPrice); Long comboOriginalPriceAmount = null != cartGoods.getOriginalAmount() ? cartGoods.getOriginalAmount() :
cartGoods.setOriginalPrice(productComboTotalAmount); productComboTotalAmount;
cartGoods.setOriginalAmount(productGroupTotalAmount + comboOriginalPriceAmount + materialPrice);
cartGoods.setOriginalPrice(null != cartGoods.getOriginalPrice() ? cartGoods.getOriginalPrice() :
productComboTotalAmount);
cartGoods.setAmount(amount); cartGoods.setAmount(amount);
cartGoods.setFinalPrice(productComboTotalAmount); cartGoods.setFinalPrice(null != cartGoods.getFinalPrice() ? cartGoods.getFinalPrice() :
productComboTotalAmount);
// 套餐(固定商品)现价 // 套餐(固定商品)现价
// String toastMsg = getTotalAmount(cartGoods, productGroupAmount, numberMap, goodsMap); // String toastMsg = getTotalAmount(cartGoods, productGroupAmount, numberMap, goodsMap);
......
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