Commit 19ca47e6 by chongfu.liang

Merge branch 'feature/1.9.32-加料商品开发' into develop

parents 7a319b7e 8716be4b
......@@ -2565,7 +2565,11 @@ public class OrderSdkAdapter {
// 普通商品 订单转换
productRequest.setOpid(index);
if (ProductTypeEnum.MATERIAL_PRODUCT.getCode().equals(productRequest.getProductType())) {
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, productRequest.getParentProductId());
if (CollectionUtils.isNotEmpty(productRequest.getMaterialProduct())) {
productRequest.getMaterialProduct().stream().forEach(
material -> updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, productRequest.getProductId())
);
}
} else {
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, "");
}
......
......@@ -134,6 +134,10 @@ public class CreateOrderProductRequest extends BaseConfig {
*/
private List<CreateOrderProductRequest> comboProduct;
/**
*加料商品
*/
private List<CreateOrderProductRequest> materialProduct;
/**
* 优惠列表
*/
private List<CreateOrderAccountRequest> accounts;
......
......@@ -143,19 +143,12 @@ public class OrderAdapter {
// 根据购物车商品信息获取优惠信息
int orderAccountIndex = 0;
// TODO 取出加料信息
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) {
Integer qty = cartGoodsDetailDto.getQty();
if (qty > 0) {
CreateOrderProductRequest createOrderProductDto = convent2OrderProduct(cartGoodsDetailDto);
createOrderProductDto.setIgnoreProductPrice(1);
products.add(createOrderProductDto);
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getMaterialList())) {
cartGoodsDetailDto.getMaterialList().stream().forEach(p -> {
CreateOrderProductRequest orderProductDto = convent2OrderProductByMaterial(cartGoodsDetailDto, p);
products.add(orderProductDto);
});
}
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) {
createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
}
......@@ -258,18 +251,6 @@ public class OrderAdapter {
return createOrderDto;
}
private CreateOrderProductRequest convent2OrderProductByMaterial(ShoppingCartGoodsDto.CartGoodsDetailDto goodsDetail, ShoppingCartGoodsDto.CartGoodsDetailDto.CartGoodsMaterial material) {
CreateOrderProductRequest createOrderProductRequest = new CreateOrderProductRequest();
createOrderProductRequest.setParentProductId(goodsDetail.getSpuId());
createOrderProductRequest.setProductId(material.getMaterialId());
createOrderProductRequest.setProductName(material.getMaterialName());
createOrderProductRequest.setPrice(material.getOriginalPrice());
createOrderProductRequest.setSalePrice(material.getSalePrice());
createOrderProductRequest.setTotalDiscountAmount(material.getTotalDiscountAmount());
createOrderProductRequest.setNumber(goodsDetail.getQty());
return createOrderProductRequest;
}
public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) {
......@@ -1936,6 +1917,16 @@ public class OrderAdapter {
});
createOrderProductDemoDto.setComboProduct(comboProducts);
}
//加料商品
if (cartGoodsDetailDto.getProductType() != null && (cartGoodsDetailDto.getProductType() == ProductType.MATERIALPRODUCT_UPPRICE.getCode())) {
List<CreateOrderProductRequest> materialProducts = new ArrayList<>();
cartGoodsDetailDto.getMaterialList().forEach(product -> {
materialProducts.add(convent2OrderProductDemo(product));
});
createOrderProductDemoDto.setMaterialProduct(materialProducts);
}
createOrderProductDemoDto.setProductType(cartGoodsDetailDto.getProductType());
return createOrderProductDemoDto;
}
......
......@@ -212,7 +212,7 @@ public class ShoppingCartGoodsDto {
*/
private List<CartGoodsDetailDto> comboProducts;
private List<CartGoodsMaterial> materialList;
private List<CartGoodsDetailDto> materialList;
@Data
public final static class CartGoodsExtra {
......@@ -227,45 +227,6 @@ public class ShoppingCartGoodsDto {
}
@Data
public final static class CartGoodsMaterial {
/**
* 加料Id
*/
private String materialId;
/**
* 加料名称
*/
private String materialName;
/**
* 加料数量
*/
private Integer qty;
/**
* 加料原始价格
*/
private Long originalPrice;
/**
* 加料优惠价格
*/
private Long totalDiscountAmount;
/**
* 销售价格
*/
private Long salePrice;
/**
* 商品类型
*/
private Integer type;
/**
* 商品优惠信息
*/
List<ActivityDiscountsDto> activityDiscountsDtos;
}
/**
* 获取extras attributeNames
*/
......
......@@ -16,7 +16,8 @@ public enum ProductType {
NOSPEC(1, "无规格"),
HAVESPEC(10, "有规格"),
SETMEALPRODUCT(6,"套餐商品"),
SETMEALPRODUCT_UPPRICE(7,"加价套餐商品");
SETMEALPRODUCT_UPPRICE(7,"加价套餐商品"),
MATERIALPRODUCT_UPPRICE(88,"加料商品");
private int code;
......
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