Commit 92d35a50 by ping.wu

Merge branches 'develop' and 'feature-yu.sun-material-20201030' of…

Merge branches 'develop' and 'feature-yu.sun-material-20201030' of http://gitlab.freemud.com/order-group-application/order-group into develop

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
parents fb99dcec 3ae88433
...@@ -133,6 +133,8 @@ public class ShoppingCartConvertAdapter { ...@@ -133,6 +133,8 @@ public class ShoppingCartConvertAdapter {
goods.setSpuName(materialGoods.getSpuName()); goods.setSpuName(materialGoods.getSpuName());
goods.setOriginalPrice(materialGoods.getOriginalPrice()); goods.setOriginalPrice(materialGoods.getOriginalPrice());
goods.setSalePrice(materialGoods.getFinalPrice()); goods.setSalePrice(materialGoods.getFinalPrice());
goods.setCustomerCode(materialGoods.getCustomerCode());
goods.setProductCode(materialGoods.getCustomerCode());
goods.setQty(cartGoods.getQty()); goods.setQty(cartGoods.getQty());
goods.setTotalDiscountAmount(0); goods.setTotalDiscountAmount(0);
materialList.add(goods); materialList.add(goods);
......
...@@ -858,6 +858,24 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -858,6 +858,24 @@ public class ShoppingCartMCoffeeServiceImpl {
cartGoods.setSkuName(orderItem.getProductSpecName()); cartGoods.setSkuName(orderItem.getProductSpecName());
cartGoods.setSpuName(orderItem.getProductName()); cartGoods.setSpuName(orderItem.getProductName());
} }
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), orderItem.getProductType())
|| ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), orderItem.getProductType())) {
// 获取套餐子商品列表
cartGoods.setProductComboList(new ArrayList<>());
cartGoods.setProductGroupList(new ArrayList<>());
String partnerProductId = orderItem.getProductId() + "_" + orderItem.getProductSeq();
List<OrderItemResp> comboProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
comboProducts.forEach(combo -> {
getComboxGoods(cartGoods, combo, orderItemList);
});
}
if (ObjectUtils.equals(88, orderItem.getProductType())) {
// 获取套餐子商品列表
cartGoods.setProductMaterialList(new ArrayList<>());
String partnerProductId = orderItem.getProductId() + "_" + orderItem.getProductSeq();
List<OrderItemResp> materialProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
materialProducts.forEach(material -> getMaterialGoods(cartGoods, material));
}
cartGoodsList.add(cartGoods); cartGoodsList.add(cartGoods);
} }
...@@ -865,7 +883,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -865,7 +883,7 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
private CartGoods.ComboxGoods getComboxGoods(CartGoods cartGoods, OrderItemResp orderItemResp) { private CartGoods.ComboxGoods getComboxGoods(CartGoods cartGoods, OrderItemResp orderItemResp, List<OrderItemResp> orderItemList) {
CartGoods.ComboxGoods comboxGoods = new CartGoods.ComboxGoods(); CartGoods.ComboxGoods comboxGoods = new CartGoods.ComboxGoods();
comboxGoods.setSkuId(orderItemResp.getProductSpec()); comboxGoods.setSkuId(orderItemResp.getProductSpec());
comboxGoods.setGoodsId(orderItemResp.getProductId()); comboxGoods.setGoodsId(orderItemResp.getProductId());
...@@ -896,10 +914,40 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -896,10 +914,40 @@ public class ShoppingCartMCoffeeServiceImpl {
if (map.containsKey("isFixedProduct") && !(boolean) map.get("isFixedProduct")) { if (map.containsKey("isFixedProduct") && !(boolean) map.get("isFixedProduct")) {
cartGoods.getProductGroupList().add(comboxGoods); cartGoods.getProductGroupList().add(comboxGoods);
} }
if (ObjectUtils.equals(88, orderItemResp.getProductType())) {
comboxGoods.setProductMaterialList(new ArrayList<>());
String partnerProductId = orderItemResp.getProductId() + "_" + orderItemResp.getProductSeq();
List<OrderItemResp> materialProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
materialProducts.forEach(material -> getMaterialGoods(comboxGoods, material));
}
return comboxGoods; return comboxGoods;
} }
private CartGoods.MaterialGoods getMaterialGoods(CartGoods cartGoods, OrderItemResp orderItemResp) {
CartGoods.MaterialGoods materialGoods = new CartGoods.MaterialGoods();
materialGoods.setSpuId(orderItemResp.getProductId());
materialGoods.setCustomerCode(orderItemResp.getThirdProductId());
materialGoods.setFinalPrice(orderItemResp.getSalePrice().longValue());
materialGoods.setOriginalPrice(orderItemResp.getProductPrice().longValue());
materialGoods.setSpuName(orderItemResp.getProductName());
cartGoods.getProductMaterialList().add(materialGoods);
return materialGoods;
}
private CartGoods.MaterialGoods getMaterialGoods(CartGoods.ComboxGoods comboGoods, OrderItemResp orderItemResp) {
CartGoods.MaterialGoods materialGoods = new CartGoods.MaterialGoods();
materialGoods.setSpuId(orderItemResp.getProductId());
materialGoods.setCustomerCode(orderItemResp.getThirdProductId());
materialGoods.setFinalPrice(orderItemResp.getSalePrice().longValue());
materialGoods.setOriginalPrice(orderItemResp.getProductPrice().longValue());
materialGoods.setSpuName(orderItemResp.getProductName());
comboGoods.getProductMaterialList().add(materialGoods);
return materialGoods;
}
private void packgeAdditional(ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) { private void packgeAdditional(ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) {
ArrayList<ShoppingCartInfoRequestVo.SendGoods> senGoods = new ArrayList<>(); ArrayList<ShoppingCartInfoRequestVo.SendGoods> senGoods = new ArrayList<>();
...@@ -1242,6 +1290,7 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1242,6 +1290,7 @@ public class ShoppingCartMCoffeeServiceImpl {
CartGoods.MaterialGoods materialGoods = new CartGoods.MaterialGoods(); CartGoods.MaterialGoods materialGoods = new CartGoods.MaterialGoods();
materialGoods.setSpuId(materialRequestVo.getSpuId()); materialGoods.setSpuId(materialRequestVo.getSpuId());
materialGoods.setGroupId(materialRequestVo.getGroupId()); materialGoods.setGroupId(materialRequestVo.getGroupId());
materialGoods.setCustomerCode(materialRequestVo.getCustomerCode());
materialGoodsList.add(materialGoods); materialGoodsList.add(materialGoods);
} }
cartGoods.setProductMaterialList(materialGoodsList); cartGoods.setProductMaterialList(materialGoodsList);
......
...@@ -473,8 +473,9 @@ public class CalculationServiceImpl { ...@@ -473,8 +473,9 @@ public class CalculationServiceImpl {
totalOriginalAmount += originalAmount; totalOriginalAmount += originalAmount;
totalAmount += amount; totalAmount += amount;
totalPackgeAmount += packAmount; totalPackgeAmount += packAmount;
cartGoods.setOriginalAmount(originalAmount); long materialPrice = getMaterialPrice(cartGoods);
cartGoods.setAmount(amount); cartGoods.setOriginalAmount(originalAmount + materialPrice);
cartGoods.setAmount(amount + materialPrice);
cartGoods.setPackPrice(packAmount); cartGoods.setPackPrice(packAmount);
} }
shoppingCartGoodsResponseVo.setOriginalTotalAmount(calculationDiscount == null ? totalOriginalAmount : calculationDiscount.getOriginalTotalAmount()); shoppingCartGoodsResponseVo.setOriginalTotalAmount(calculationDiscount == null ? totalOriginalAmount : calculationDiscount.getOriginalTotalAmount());
...@@ -489,4 +490,17 @@ public class CalculationServiceImpl { ...@@ -489,4 +490,17 @@ public class CalculationServiceImpl {
shoppingCartGoodsResponseVo.setDiscountDeliveryAmount(calculationDiscount == null ? 0L :calculationDiscount.getDistributionFee()); shoppingCartGoodsResponseVo.setDiscountDeliveryAmount(calculationDiscount == null ? 0L :calculationDiscount.getDistributionFee());
} }
private Long getMaterialPrice(CartGoods cartGoods){
Long materialPrice = 0L;
//单品、多规格加料
if(CollectionUtils.isNotEmpty(cartGoods.getProductMaterialList())){
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()){
materialPrice+= materialGoods.getFinalPrice() * cartGoods.getQty();
}
}
return materialPrice;
}
} }
...@@ -69,9 +69,22 @@ public class SetMealCalculation { ...@@ -69,9 +69,22 @@ public class SetMealCalculation {
long productComboAmount = cartGoods.getProductComboList().stream().mapToLong(t -> t.getFinalPrice() * t.getQty()).sum(); long productComboAmount = cartGoods.getProductComboList().stream().mapToLong(t -> t.getFinalPrice() * t.getQty()).sum();
long productComboTotalAmount = productComboAmount * cartGoods.getQty(); long productComboTotalAmount = productComboAmount * cartGoods.getQty();
cartGoods.setOriginalAmount(productGroupTotalAmount + productComboTotalAmount); long materialPrice = 0l;
//套餐固定商品加料
if(CollectionUtils.isNotEmpty(cartGoods.getProductComboList())){
for (CartGoods.ComboxGoods comboxGoods : cartGoods.getProductComboList()){
Long comboxmaterialPrice = 0L;
for (CartGoods.MaterialGoods materialGoods : comboxGoods.getProductMaterialList()){
comboxmaterialPrice+= materialGoods.getFinalPrice() * cartGoods.getQty();
}
comboxGoods.setAmount(comboxGoods.getAmount()+comboxmaterialPrice);
materialPrice = materialPrice + comboxmaterialPrice;
}
}
cartGoods.setOriginalAmount(productGroupTotalAmount + productComboTotalAmount + materialPrice);
cartGoods.setOriginalPrice(productComboTotalAmount); cartGoods.setOriginalPrice(productComboTotalAmount);
cartGoods.setAmount(productGroupTotalAmount + productComboTotalAmount); cartGoods.setAmount(productGroupTotalAmount + productComboTotalAmount + materialPrice);
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