Commit 14a4aa9b by yu.sun

sunyu::fixbug::fix bug about combox-product price calculate

parent 95d0b30b
...@@ -637,7 +637,11 @@ public class ShoppingCartConvertAdapter { ...@@ -637,7 +637,11 @@ 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()){
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();
...@@ -852,9 +856,18 @@ public class ShoppingCartConvertAdapter { ...@@ -852,9 +856,18 @@ public class ShoppingCartConvertAdapter {
//更新当前商品行价格 //更新当前商品行价格
Long newOrigOriginalPrice = 0L; Long newOrigOriginalPrice = 0L;
if (isSetMealProduct) { if (isSetMealProduct) {
Long comboxGoodsOriginalPrice = cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum(); Long comboxGoodsFinalPrice = 0L;
Long comboxGoodsOriginalPrice = 0L;
if (null != cartGoods.getOriginalPrice()) {
comboxGoodsOriginalPrice = cartGoods.getOriginalPrice();
comboxGoodsFinalPrice = cartGoods.getFinalPrice();
}else {
comboxGoodsOriginalPrice =
cartGoods.getProductComboList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
comboxGoodsFinalPrice =
cartGoods.getProductComboList().stream().mapToLong(t -> t.getFinalPrice()).sum();
}
Long groupGoodsOriginalPrice = cartGoods.getProductGroupList().stream().mapToLong(t -> t.getOriginalAmount()).sum(); Long groupGoodsOriginalPrice = cartGoods.getProductGroupList().stream().mapToLong(t -> t.getOriginalAmount()).sum();
Long comboxGoodsFinalPrice = cartGoods.getProductComboList().stream().mapToLong(t -> t.getFinalPrice()).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(comboxGoodsOriginalPrice);
cartGoods.setOriginalAmount((comboxGoodsOriginalPrice+groupGoodsOriginalPrice)* cartGoods.getQty()); cartGoods.setOriginalAmount((comboxGoodsOriginalPrice+groupGoodsOriginalPrice)* cartGoods.getQty());
...@@ -941,4 +954,4 @@ public class ShoppingCartConvertAdapter { ...@@ -941,4 +954,4 @@ public class ShoppingCartConvertAdapter {
} }
} }
} }
\ No newline at end of file
...@@ -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())
|| Objects.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());
......
...@@ -87,10 +87,11 @@ public class SetMealCalculation { ...@@ -87,10 +87,11 @@ public class SetMealCalculation {
} }
} }
cartGoods.setOriginalAmount(productGroupTotalAmount + productComboTotalAmount + materialPrice);
cartGoods.setOriginalPrice(productComboTotalAmount);
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);
cartGoods.setOriginalPrice(productComboTotalAmount);
cartGoods.setAmount(amount); cartGoods.setAmount(amount);
cartGoods.setFinalPrice(productComboTotalAmount); cartGoods.setFinalPrice(productComboTotalAmount);
......
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