Commit 8424e706 by chongfu.liang

加料开发

parent f0e248a7
...@@ -2563,7 +2563,7 @@ public class OrderSdkAdapter { ...@@ -2563,7 +2563,7 @@ public class OrderSdkAdapter {
for (CreateOrderProductRequest productRequest : products) { for (CreateOrderProductRequest productRequest : products) {
// 普通商品 订单转换 // 普通商品 订单转换
productRequest.setOpid(index); productRequest.setOpid(index);
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, ""); originalAmount += updateOrderItemAndSettlement(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
...@@ -2572,7 +2572,7 @@ public class OrderSdkAdapter { ...@@ -2572,7 +2572,7 @@ public class OrderSdkAdapter {
index++; index++;
material.setOpid(index); material.setOpid(index);
material.setSpecification(material.getProductId()); material.setSpecification(material.getProductId());
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, partnerProductId); updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, partnerProductId, true);
} }
} }
} }
...@@ -2581,7 +2581,7 @@ public class OrderSdkAdapter { ...@@ -2581,7 +2581,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)); productRequest.getComboProduct().forEach(combo -> updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, combo, partnerId, partnerProductId, false));
} }
} }
index++; index++;
...@@ -2599,7 +2599,7 @@ public class OrderSdkAdapter { ...@@ -2599,7 +2599,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) { private Long updateOrderItemAndSettlement(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);
...@@ -2715,7 +2715,7 @@ public class OrderSdkAdapter { ...@@ -2715,7 +2715,7 @@ public class OrderSdkAdapter {
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo)); orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo));
orderItemList.add(orderItemCreateReq); orderItemList.add(orderItemCreateReq);
if (product.getTotalDiscountAmount() != null && product.getTotalDiscountAmount() > 0L) { if (product.getTotalDiscountAmount() != null && product.getTotalDiscountAmount() > 0L && !isMaterial) {
//优惠信息转换 //优惠信息转换
OrderSettlementCreateReq orderSettlementCreateReq = new OrderSettlementCreateReq(); OrderSettlementCreateReq orderSettlementCreateReq = new OrderSettlementCreateReq();
orderSettlementCreateReq.setProductId(product.getSpecification()); orderSettlementCreateReq.setProductId(product.getSpecification());
......
...@@ -251,6 +251,28 @@ public class OrderAdapter { ...@@ -251,6 +251,28 @@ public class OrderAdapter {
return createOrderDto; return createOrderDto;
} }
private List<CreateOrderAccountRequest> getMaterialAccounts(CreateOrderProductRequest createOrderProductDto, ShoppingCartGoodsDto.CartGoodsDetailDto material) {
List<CreateOrderAccountRequest> orderAccountDtos = createOrderProductDto.getAccounts();
if (CollectionUtils.isEmpty(orderAccountDtos)){
orderAccountDtos = new ArrayList<>();
}
List<ActivityDiscountsDto> activityDiscountsDtos = material.getActivityDiscountsDtos();
for (ActivityDiscountsDto activityDiscountsDto : activityDiscountsDtos) {
CreateOrderAccountRequest createOrderAccountDto = CreateOrderAccountRequest.builder()
.accountId(activityDiscountsDto.getActivityCode())
.name(activityDiscountsDto.getActivityName())
.price(activityDiscountsDto.getDiscountAmount().longValue())
.accountType(getQueryOrderAccountType(getOrderAccountType(activityDiscountsDto.getActivityType())))
.sequence(createOrderProductDto.getSequence())
.productId(material.getSpuId())
.discountQty(createOrderProductDto.getNumber())
.build();
orderAccountDtos.add(createOrderAccountDto);
}
return orderAccountDtos;
}
public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto, OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) { String appId) {
...@@ -1916,7 +1938,7 @@ public class OrderAdapter { ...@@ -1916,7 +1938,7 @@ public class OrderAdapter {
if (cartGoodsDetailDto.getProductType() != null && (cartGoodsDetailDto.getProductType() == ProductType.MATERIALPRODUCT_UPPRICE.getCode())) { if (cartGoodsDetailDto.getProductType() != null && (cartGoodsDetailDto.getProductType() == ProductType.MATERIALPRODUCT_UPPRICE.getCode())) {
List<CreateOrderProductRequest> materialProducts = new ArrayList<>(); List<CreateOrderProductRequest> materialProducts = new ArrayList<>();
cartGoodsDetailDto.getMaterialList().forEach(product -> { cartGoodsDetailDto.getMaterialList().forEach(product -> {
materialProducts.add(convent2OrderProductDemo(product)); materialProducts.add(convent2OrderProductMaterial(product));
}); });
createOrderProductDemoDto.setMaterialProduct(materialProducts); createOrderProductDemoDto.setMaterialProduct(materialProducts);
} }
...@@ -1926,6 +1948,35 @@ public class OrderAdapter { ...@@ -1926,6 +1948,35 @@ public class OrderAdapter {
return createOrderProductDemoDto; return createOrderProductDemoDto;
} }
private CreateOrderProductRequest convent2OrderProductMaterial(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId());
createOrderProductDemoDto.setProductName(cartGoodsDetailDto.getSpuName());
createOrderProductDemoDto.setSpecification(cartGoodsDetailDto.getSkuId());
createOrderProductDemoDto.setSpecificationName(cartGoodsDetailDto.getSkuName());
createOrderProductDemoDto.setPrice(cartGoodsDetailDto.getOriginalPrice());
createOrderProductDemoDto.setSalePrice(cartGoodsDetailDto.getOriginalPrice());
createOrderProductDemoDto.setTotalDiscountAmount(cartGoodsDetailDto.getTotalDiscountAmount() == null ? 0 : cartGoodsDetailDto.getTotalDiscountAmount().longValue());
createOrderProductDemoDto.setNumber(cartGoodsDetailDto.getQty());
createOrderProductDemoDto.setPicture(cartGoodsDetailDto.getPicture());
createOrderProductDemoDto.setAddInfo(cartGoodsDetailDto.getAttributeNames());
createOrderProductDemoDto.setDiscountId(cartGoodsDetailDto.getCouponCode());
createOrderProductDemoDto.setProductType(cartGoodsDetailDto.getProductType());
createOrderProductDemoDto.setParentProductId(cartGoodsDetailDto.getParentProductId());
createOrderProductDemoDto.setIsFixedProduct(cartGoodsDetailDto.getIsFixedProduct());
createOrderProductDemoDto.setCustomerCode(cartGoodsDetailDto.getCustomerCode());
//createOrderProductDemoDto.setProductCode(cartGoodsDetailDto.getProductCode());
createOrderProductDemoDto.setHasStockProudct(cartGoodsDetailDto.isStockLimit());
createOrderProductDemoDto.setWeight(cartGoodsDetailDto.getWeight());
createOrderProductDemoDto.setUnit(cartGoodsDetailDto.getUnit());
createOrderProductDemoDto.setStapleFood(0);
createOrderProductDemoDto.setCategory(cartGoodsDetailDto.getClassificationId());
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) {
createOrderProductDemoDto.setAccounts(getMaterialAccounts(createOrderProductDemoDto, cartGoodsDetailDto));
}
return createOrderProductDemoDto;
}
public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) { public CreateOrderProductRequest convent2OrderProductDemo(ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest(); CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId()); createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId());
......
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