Commit 0b98b853 by chongfu.liang

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

parents 69ca4cd1 1f797f10
......@@ -742,10 +742,6 @@ public class OrderSdkAdapter {
List<OrderItemResp> parentOrderItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream()
.filter(item -> StringUtils.isEmpty(item.getParentProductId()) || ObjectUtils.equals("0", item.getParentProductId()))
.collect(Collectors.toList());
List<OrderItemResp> materailProductItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream()
.filter(item -> StringUtils.isNotBlank(item.getParentProductId()) && ObjectUtils.equals(ProductTypeEnum.MATERAIL_PRODUCT.getCode(), item.getProductType()))
.collect(Collectors.toList());
for (OrderItemResp orderItem : parentOrderItemList) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = getOldOrderProduct(orderSettlementResps, orderItem);
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), orderItem.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), orderItem.getProductType())) {
......@@ -755,16 +751,14 @@ public class OrderSdkAdapter {
List<OrderItemResp> comboProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
comboProducts.forEach(combo -> productBean.getComboProduct().add(getOldOrderProduct(orderSettlementResps, combo)));
}
productList.add(productBean);
}
for (OrderItemResp metarail : materailProductItemList){
// 获取加料商品列表
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = productList.stream().filter(item -> item.getProductId().equals(metarail.getParentProductId())).findFirst().get();
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> meterailProduct = productBean.getMeterailProduct();
if (CollectionUtils.isEmpty(meterailProduct)){
productBean.setMeterailProduct(new ArrayList<>());
if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), orderItem.getProductType())) {
// 获取加料子商品列表
productBean.setMaterialProduct(new ArrayList<>());
String partnerProductId = orderItem.getProductId();
List<OrderItemResp> materialProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
materialProducts.forEach(material -> productBean.getMaterialProduct().add(getOldOrderProduct(orderSettlementResps, material)));
}
productBean.getMeterailProduct().add(getOldOrderProduct(orderSettlementResps, metarail));
productList.add(productBean);
}
return productList;
}
......@@ -2571,6 +2565,13 @@ public class OrderSdkAdapter {
// 普通商品 订单转换
productRequest.setOpid(index);
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, "");
if (ProductTypeEnum.MATERIAL_PRODUCT.getCode().equals(productRequest.getProductType())) {
if (CollectionUtils.isNotEmpty(productRequest.getMaterialProduct())) {
productRequest.getMaterialProduct().stream().forEach(
material -> updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, productRequest.getProductId())
);
}
}
// 如果是套餐商品,需要转换当前商品行子集ComboProduct&GroupProduct(固定商品、可选商品)
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), productRequest.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), productRequest.getProductType())) {
// 父类商品productId=productId+seq
......
......@@ -134,6 +134,10 @@ public class CreateOrderProductRequest extends BaseConfig {
*/
private List<CreateOrderProductRequest> comboProduct;
/**
*加料商品
*/
private List<CreateOrderProductRequest> materialProduct;
/**
* 优惠列表
*/
private List<CreateOrderAccountRequest> accounts;
......
......@@ -552,7 +552,7 @@ public class QueryOrdersResponse {
/**
* 套餐子商品
*/
public List<ProductBean> meterailProduct;
public List<ProductBean> materialProduct;
@NoArgsConstructor
@Data
......
......@@ -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.getMaterailList())) {
cartGoodsDetailDto.getMaterailList().stream().forEach(p -> {
CreateOrderProductRequest orderProductDto = convent2OrderProductByMaterail(cartGoodsDetailDto, p);
products.add(orderProductDto);
});
}
if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) {
createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
}
......@@ -258,21 +251,6 @@ public class OrderAdapter {
return createOrderDto;
}
private CreateOrderProductRequest convent2OrderProductByMaterail(ShoppingCartGoodsDto.CartGoodsDetailDto goodsDetail, ShoppingCartGoodsDto.CartGoodsDetailDto.CartGoodsMaterail materail) {
CreateOrderProductRequest createOrderProductRequest = new CreateOrderProductRequest();
createOrderProductRequest.setParentProductId(goodsDetail.getSpuId());
createOrderProductRequest.setProductId(materail.getMaterailId());
createOrderProductRequest.setProductName(materail.getMaterailName());
createOrderProductRequest.setPrice(materail.getOriginalPrice());
createOrderProductRequest.setSalePrice(materail.getOriginalPrice());
// TODO 优惠数量问题
createOrderProductRequest.setTotalDiscountAmount(materail.getDiscountAmount());
createOrderProductRequest.setNumber(materail.getQty());
// TODO 加料商品类型问题, 默认为2
createOrderProductRequest.setProductType(materail.getType());
return createOrderProductRequest;
}
public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) {
......@@ -1673,6 +1651,11 @@ public class OrderAdapter {
productBean.getComboProduct().forEach(product -> setMealProducts.add(convent2ProductVo(product)));
productVo.setSetMealProducts(setMealProducts);
}
if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), productBean.getProductType())) {
List<ProductVo> setMaterialProducts = new ArrayList<>();
productBean.getMaterialProduct().forEach(product -> setMaterialProducts.add(convent2ProductVo(product)));
productVo.setSetMaterialProducts(setMaterialProducts);
}
productVos.add(productVo);
}
productVos.sort(Comparator.comparing(ProductVo::getSequence));
......@@ -1939,6 +1922,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<CartGoodsMaterail> materailList;
private List<CartGoodsDetailDto> materialList;
@Data
public final static class CartGoodsExtra {
......@@ -227,40 +227,6 @@ public class ShoppingCartGoodsDto {
}
@Data
public final static class CartGoodsMaterail {
/**
* 加料Id
*/
private String materailId;
/**
* 加料名称
*/
private String materailName;
/**
* 加料数量
*/
private Integer qty;
/**
* 加料原始价格
*/
private Long originalPrice;
/**
* 加料优惠价格
*/
private Long discountAmount;
/**
* 加料实际价格
*/
private Long actualPrice;
/**
* 商品类型
*/
private Integer type;
}
/**
* 获取extras attributeNames
*/
......
......@@ -152,4 +152,6 @@ public class ProductVo {
private List<InventedParentActivityVo> InventedParentActivitiesVo;
private List<ProductVo> setMaterialProducts;
}
......@@ -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;
......
......@@ -15,14 +15,15 @@ public enum ProductTypeEnum {
GENERAL_PRODUCT(1,"普通商品"),
MATERAIL_PRODUCT(2,"加料商品"),
GROUP_PRODUCT(3,"组合商品"),
SETMEAL_PRODUCT(6,"套餐商品"),
SETMEAL_UPPRICE_PRODUCT(7,"加价套餐商品"),
VIRTUAL_PRODUCT(9,"虚拟商品"),
MORD_SPECIFICATION_PRODUCT(10,"多规格商品"),
WEIGHT_PRODUCT(11,"称重商品"),
TABLEWARE_PRODUCT(12,"餐具商品");
TABLEWARE_PRODUCT(12,"餐具商品"),
MATERIAL_PRODUCT(88,"加料商品");
......
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