Commit 9d08f345 by 缪晖

Merge branch 'feature/20201208_collageOrder_miaohui' into 'master'

组合商品加购人对应关系绑定问题修复

See merge request !82
parents 883765f5 cf249e38
...@@ -2629,7 +2629,7 @@ public class OrderSdkAdapter { ...@@ -2629,7 +2629,7 @@ public class OrderSdkAdapter {
for (CreateOrderProductRequest productRequest : products) { for (CreateOrderProductRequest productRequest : products) {
// 普通商品 订单转换 // 普通商品 订单转换
productRequest.setOpid(index); productRequest.setOpid(index);
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, "", false); originalAmount += updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, productRequest, partnerId, "", false);
if (ProductTypeEnum.MATERIAL_PRODUCT.getCode().equals(productRequest.getProductType())) { if (ProductTypeEnum.MATERIAL_PRODUCT.getCode().equals(productRequest.getProductType())) {
if (CollectionUtils.isNotEmpty(productRequest.getMaterialProduct())) { if (CollectionUtils.isNotEmpty(productRequest.getMaterialProduct())) {
// 父类商品productId=productId+seq // 父类商品productId=productId+seq
...@@ -2639,7 +2639,7 @@ public class OrderSdkAdapter { ...@@ -2639,7 +2639,7 @@ public class OrderSdkAdapter {
material.setOpid(index); material.setOpid(index);
material.setSpecification(material.getProductId()); material.setSpecification(material.getProductId());
material.setSpecificationName(material.getProductName()); material.setSpecificationName(material.getProductName());
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, partnerProductId, true); updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, material, partnerId, partnerProductId, true);
} }
} }
} }
...@@ -2648,7 +2648,7 @@ public class OrderSdkAdapter { ...@@ -2648,7 +2648,7 @@ public class OrderSdkAdapter {
// 父类商品productId=productId+seq // 父类商品productId=productId+seq
String partnerProductId = productRequest.getProductId() + "_" + index; String partnerProductId = productRequest.getProductId() + "_" + index;
if (CollectionUtils.isNotEmpty(productRequest.getComboProduct())) { if (CollectionUtils.isNotEmpty(productRequest.getComboProduct())) {
productRequest.getComboProduct().forEach(combo -> updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, combo, partnerId, partnerProductId, false)); productRequest.getComboProduct().forEach(combo -> updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, combo, partnerId, partnerProductId, false));
} }
} }
index++; index++;
...@@ -2670,7 +2670,7 @@ public class OrderSdkAdapter { ...@@ -2670,7 +2670,7 @@ public class OrderSdkAdapter {
for (CreateOrderProductRequest productRequest : products) { for (CreateOrderProductRequest productRequest : products) {
// 普通商品 订单转换 // 普通商品 订单转换
productRequest.setOpid(index); productRequest.setOpid(index);
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, "", false); originalAmount += updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, productRequest, partnerId, "", false);
// 如果是套餐商品,需要转换当前商品行子集ComboProduct&GroupProduct(固定商品、可选商品) // 如果是套餐商品,需要转换当前商品行子集ComboProduct&GroupProduct(固定商品、可选商品)
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), productRequest.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), productRequest.getProductType())) { if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), productRequest.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), productRequest.getProductType())) {
// 父类商品productId=productId+seq // 父类商品productId=productId+seq
...@@ -2678,13 +2678,13 @@ public class OrderSdkAdapter { ...@@ -2678,13 +2678,13 @@ public class OrderSdkAdapter {
if (CollectionUtils.isNotEmpty(productRequest.getComboProduct())) { if (CollectionUtils.isNotEmpty(productRequest.getComboProduct())) {
for(CreateOrderProductRequest combo : productRequest.getComboProduct()) { for(CreateOrderProductRequest combo : productRequest.getComboProduct()) {
combo.setOpid(comboIndex); combo.setOpid(comboIndex);
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, combo, partnerId, parentProductId, false); updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, combo, partnerId, parentProductId, false);
if(CollectionUtils.isNotEmpty(combo.getMaterialProduct())) { if(CollectionUtils.isNotEmpty(combo.getMaterialProduct())) {
String addProductId = combo.getProductId() + "_" + comboIndex; String addProductId = combo.getProductId() + "_" + comboIndex;
for(CreateOrderProductRequest material : combo.getMaterialProduct()) { for(CreateOrderProductRequest material : combo.getMaterialProduct()) {
material.setSpecification(material.getProductId()); material.setSpecification(material.getProductId());
material.setSpecificationName(material.getProductName()); material.setSpecificationName(material.getProductName());
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, addProductId, true); updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, material, partnerId, addProductId, true);
} }
} }
comboIndex++; comboIndex++;
...@@ -2696,7 +2696,7 @@ public class OrderSdkAdapter { ...@@ -2696,7 +2696,7 @@ public class OrderSdkAdapter {
for (CreateOrderProductRequest material: productRequest.getMaterialProduct()){ for (CreateOrderProductRequest material: productRequest.getMaterialProduct()){
material.setSpecification(material.getProductId()); material.setSpecification(material.getProductId());
material.setSpecificationName(material.getProductName()); material.setSpecificationName(material.getProductName());
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, addProductId, true); updateOrderItemAndSettlement(productRequest, orderItemList, orderSettlementCreateReqList, material, partnerId, addProductId, true);
} }
} }
index++; index++;
...@@ -2714,7 +2714,7 @@ public class OrderSdkAdapter { ...@@ -2714,7 +2714,7 @@ public class OrderSdkAdapter {
* @param parentProductId 套餐父商品Id * @param parentProductId 套餐父商品Id
* @return * @return
*/ */
private Long updateOrderItemAndSettlement(List<OrderItemCreateReq> orderItemList, List<OrderSettlementCreateReq> orderSettlementCreateReqList, CreateOrderProductRequest product, String partnerId, String parentProductId, Boolean isMaterial) { private Long updateOrderItemAndSettlement(CreateOrderProductRequest productRequest, List<OrderItemCreateReq> orderItemList, List<OrderSettlementCreateReq> orderSettlementCreateReqList, CreateOrderProductRequest product, String partnerId, String parentProductId, Boolean isMaterial) {
OrderItemCreateReq orderItemCreateReq = new OrderItemCreateReq(); OrderItemCreateReq orderItemCreateReq = new OrderItemCreateReq();
orderItemCreateReq.setId(product.getId()); orderItemCreateReq.setId(product.getId());
orderItemCreateReq.setPartnerId(partnerId); orderItemCreateReq.setPartnerId(partnerId);
...@@ -2843,11 +2843,11 @@ public class OrderSdkAdapter { ...@@ -2843,11 +2843,11 @@ public class OrderSdkAdapter {
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo)); orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo));
// 拼单加购人信息 add by miaohui 2020.10.12 start // 拼单加购人信息 add by miaohui 2020.10.12 start
orderItemCreateReq.setUserId(product.getUserId()); orderItemCreateReq.setUserId(productRequest.getUserId());
orderItemCreateReq.setOpenId(product.getOpenId()); orderItemCreateReq.setOpenId(productRequest.getOpenId());
orderItemCreateReq.setNickName(product.getNickName()); orderItemCreateReq.setNickName(productRequest.getNickName());
orderItemCreateReq.setPhotoUrl(product.getPhotoUrl()); orderItemCreateReq.setPhotoUrl(productRequest.getPhotoUrl());
orderItemCreateReq.setPackPrice(product.getPackPrice()); orderItemCreateReq.setPackPrice(productRequest.getPackPrice());
// 拼单加购人信息 add by miaohui 2020.10.12 end // 拼单加购人信息 add by miaohui 2020.10.12 end
orderItemList.add(orderItemCreateReq); orderItemList.add(orderItemCreateReq);
......
...@@ -103,6 +103,7 @@ public class ShoppingCartConvertAdapter { ...@@ -103,6 +103,7 @@ public class ShoppingCartConvertAdapter {
cartGoodsDetailDto.setOpenId(cartGoods.getOpenId()); cartGoodsDetailDto.setOpenId(cartGoods.getOpenId());
cartGoodsDetailDto.setUserName(cartGoods.getUserName()); cartGoodsDetailDto.setUserName(cartGoods.getUserName());
cartGoodsDetailDto.setPhotoUrl(cartGoods.getPhotoUrl()); cartGoodsDetailDto.setPhotoUrl(cartGoods.getPhotoUrl());
cartGoodsDetailDto.setPackPrice(cartGoods.getPackPrice());
cartGoodsDetailDto.setSalePrice(cartGoods.getOriginalPrice()); cartGoodsDetailDto.setSalePrice(cartGoods.getOriginalPrice());
cartGoodsDetailDto.setPicture(cartGoods.getPic()); cartGoodsDetailDto.setPicture(cartGoods.getPic());
cartGoodsDetailDto.setQty(cartGoods.getQty()); cartGoodsDetailDto.setQty(cartGoods.getQty());
......
...@@ -93,7 +93,6 @@ public class BuyAndGiftsPromotionService implements IPromotionService { ...@@ -93,7 +93,6 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
cartGoods.setClassificationName(product.getCategoryName()); cartGoods.setClassificationName(product.getCategoryName());
// nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额 // nodeId标识activeCode,用于计算均摊时每个商品在每个活动上均摊金额
cartGoods.setNodeId(sendActivity.getActivityCode()); cartGoods.setNodeId(sendActivity.getActivityCode());
cartGoods.setOriginalGoodsUid(sendGoods.getOriginalGoodsUid());
this.setGiftExtra(cartGoods,product,cartGoodsList); this.setGiftExtra(cartGoods,product,cartGoodsList);
cartGoodsList.add(cartGoods); cartGoodsList.add(cartGoods);
totalGiftAmount += product.getFinalPrice() * sendGoods.getSendNumber(); totalGiftAmount += product.getFinalPrice() * sendGoods.getSendNumber();
...@@ -171,10 +170,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService { ...@@ -171,10 +170,7 @@ public class BuyAndGiftsPromotionService implements IPromotionService {
long count = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).count(); long count = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).count();
//购物车内存在同类 //购物车内存在同类
if (count>0) { if (count>0) {
CartGoods find = cartGoodsList.stream().filter(c -> c.getCartGoodsUid().equals(cartGoods.getOriginalGoodsUid())).findFirst().orElseGet(null); CartGoods find = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).findFirst().get();
if (null == find) {
find = cartGoodsList.stream().filter(c -> c.getSpuId().equals(cartGoods.getSpuId())).findFirst().get();
}
cartGoods.setExtra(find.getExtra()); cartGoods.setExtra(find.getExtra());
cartGoods.setSpuName(find.getSpuName()); cartGoods.setSpuName(find.getSpuName());
cartGoods.setSkuName(find.getSkuName()); cartGoods.setSkuName(find.getSkuName());
......
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