Commit 0b98b853 by chongfu.liang

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

parents 69ca4cd1 1f797f10
...@@ -742,10 +742,6 @@ public class OrderSdkAdapter { ...@@ -742,10 +742,6 @@ public class OrderSdkAdapter {
List<OrderItemResp> parentOrderItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream() List<OrderItemResp> parentOrderItemList = orderItemList == null ? new ArrayList<>() : orderItemList.stream()
.filter(item -> StringUtils.isEmpty(item.getParentProductId()) || ObjectUtils.equals("0", item.getParentProductId())) .filter(item -> StringUtils.isEmpty(item.getParentProductId()) || ObjectUtils.equals("0", item.getParentProductId()))
.collect(Collectors.toList()); .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) { for (OrderItemResp orderItem : parentOrderItemList) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = getOldOrderProduct(orderSettlementResps, orderItem); 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())) { 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 { ...@@ -755,16 +751,14 @@ public class OrderSdkAdapter {
List<OrderItemResp> comboProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList()); List<OrderItemResp> comboProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
comboProducts.forEach(combo -> productBean.getComboProduct().add(getOldOrderProduct(orderSettlementResps, combo))); comboProducts.forEach(combo -> productBean.getComboProduct().add(getOldOrderProduct(orderSettlementResps, combo)));
} }
productList.add(productBean); if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), orderItem.getProductType())) {
} // 获取加料子商品列表
for (OrderItemResp metarail : materailProductItemList){ productBean.setMaterialProduct(new ArrayList<>());
// 获取加料商品列表 String partnerProductId = orderItem.getProductId();
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = productList.stream().filter(item -> item.getProductId().equals(metarail.getParentProductId())).findFirst().get(); List<OrderItemResp> materialProducts = orderItemList.stream().filter(item -> ObjectUtils.equals(partnerProductId, item.getParentProductId())).collect(Collectors.toList());
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> meterailProduct = productBean.getMeterailProduct(); materialProducts.forEach(material -> productBean.getMaterialProduct().add(getOldOrderProduct(orderSettlementResps, material)));
if (CollectionUtils.isEmpty(meterailProduct)){
productBean.setMeterailProduct(new ArrayList<>());
} }
productBean.getMeterailProduct().add(getOldOrderProduct(orderSettlementResps, metarail)); productList.add(productBean);
} }
return productList; return productList;
} }
...@@ -2571,6 +2565,13 @@ public class OrderSdkAdapter { ...@@ -2571,6 +2565,13 @@ public class OrderSdkAdapter {
// 普通商品 订单转换 // 普通商品 订单转换
productRequest.setOpid(index); productRequest.setOpid(index);
originalAmount += updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, productRequest, partnerId, ""); 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(固定商品、可选商品) // 如果是套餐商品,需要转换当前商品行子集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
......
...@@ -134,6 +134,10 @@ public class CreateOrderProductRequest extends BaseConfig { ...@@ -134,6 +134,10 @@ public class CreateOrderProductRequest extends BaseConfig {
*/ */
private List<CreateOrderProductRequest> comboProduct; private List<CreateOrderProductRequest> comboProduct;
/** /**
*加料商品
*/
private List<CreateOrderProductRequest> materialProduct;
/**
* 优惠列表 * 优惠列表
*/ */
private List<CreateOrderAccountRequest> accounts; private List<CreateOrderAccountRequest> accounts;
......
...@@ -552,7 +552,7 @@ public class QueryOrdersResponse { ...@@ -552,7 +552,7 @@ public class QueryOrdersResponse {
/** /**
* 套餐子商品 * 套餐子商品
*/ */
public List<ProductBean> meterailProduct; public List<ProductBean> materialProduct;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
......
...@@ -143,19 +143,12 @@ public class OrderAdapter { ...@@ -143,19 +143,12 @@ public class OrderAdapter {
// 根据购物车商品信息获取优惠信息 // 根据购物车商品信息获取优惠信息
int orderAccountIndex = 0; int orderAccountIndex = 0;
// TODO 取出加料信息
for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) { for (ShoppingCartGoodsDto.CartGoodsDetailDto cartGoodsDetailDto : cartGoodsDetailDtos) {
Integer qty = cartGoodsDetailDto.getQty(); Integer qty = cartGoodsDetailDto.getQty();
if (qty > 0) { if (qty > 0) {
CreateOrderProductRequest createOrderProductDto = convent2OrderProduct(cartGoodsDetailDto); CreateOrderProductRequest createOrderProductDto = convent2OrderProduct(cartGoodsDetailDto);
createOrderProductDto.setIgnoreProductPrice(1); createOrderProductDto.setIgnoreProductPrice(1);
products.add(createOrderProductDto); 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())) { if (CollectionUtils.isNotEmpty(cartGoodsDetailDto.getActivityDiscountsDtos())) {
createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos())); createOrderProductDto.setAccounts(getAccounts(createOrderProductDto, cartGoodsDetailDto.getActivityDiscountsDtos()));
} }
...@@ -258,21 +251,6 @@ public class OrderAdapter { ...@@ -258,21 +251,6 @@ public class OrderAdapter {
return createOrderDto; 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, public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto, OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) { String appId) {
...@@ -1673,6 +1651,11 @@ public class OrderAdapter { ...@@ -1673,6 +1651,11 @@ public class OrderAdapter {
productBean.getComboProduct().forEach(product -> setMealProducts.add(convent2ProductVo(product))); productBean.getComboProduct().forEach(product -> setMealProducts.add(convent2ProductVo(product)));
productVo.setSetMealProducts(setMealProducts); 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.add(productVo);
} }
productVos.sort(Comparator.comparing(ProductVo::getSequence)); productVos.sort(Comparator.comparing(ProductVo::getSequence));
...@@ -1939,6 +1922,16 @@ public class OrderAdapter { ...@@ -1939,6 +1922,16 @@ public class OrderAdapter {
}); });
createOrderProductDemoDto.setComboProduct(comboProducts); 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()); createOrderProductDemoDto.setProductType(cartGoodsDetailDto.getProductType());
return createOrderProductDemoDto; return createOrderProductDemoDto;
} }
......
...@@ -212,7 +212,7 @@ public class ShoppingCartGoodsDto { ...@@ -212,7 +212,7 @@ public class ShoppingCartGoodsDto {
*/ */
private List<CartGoodsDetailDto> comboProducts; private List<CartGoodsDetailDto> comboProducts;
private List<CartGoodsMaterail> materailList; private List<CartGoodsDetailDto> materialList;
@Data @Data
public final static class CartGoodsExtra { public final static class CartGoodsExtra {
...@@ -227,40 +227,6 @@ public class ShoppingCartGoodsDto { ...@@ -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 * 获取extras attributeNames
*/ */
......
...@@ -152,4 +152,6 @@ public class ProductVo { ...@@ -152,4 +152,6 @@ public class ProductVo {
private List<InventedParentActivityVo> InventedParentActivitiesVo; private List<InventedParentActivityVo> InventedParentActivitiesVo;
private List<ProductVo> setMaterialProducts;
} }
...@@ -16,7 +16,8 @@ public enum ProductType { ...@@ -16,7 +16,8 @@ public enum ProductType {
NOSPEC(1, "无规格"), NOSPEC(1, "无规格"),
HAVESPEC(10, "有规格"), HAVESPEC(10, "有规格"),
SETMEALPRODUCT(6,"套餐商品"), SETMEALPRODUCT(6,"套餐商品"),
SETMEALPRODUCT_UPPRICE(7,"加价套餐商品"); SETMEALPRODUCT_UPPRICE(7,"加价套餐商品"),
MATERIALPRODUCT_UPPRICE(88,"加料商品");
private int code; private int code;
......
...@@ -15,14 +15,15 @@ public enum ProductTypeEnum { ...@@ -15,14 +15,15 @@ public enum ProductTypeEnum {
GENERAL_PRODUCT(1,"普通商品"), GENERAL_PRODUCT(1,"普通商品"),
MATERAIL_PRODUCT(2,"加料商品"),
GROUP_PRODUCT(3,"组合商品"), GROUP_PRODUCT(3,"组合商品"),
SETMEAL_PRODUCT(6,"套餐商品"), SETMEAL_PRODUCT(6,"套餐商品"),
SETMEAL_UPPRICE_PRODUCT(7,"加价套餐商品"), SETMEAL_UPPRICE_PRODUCT(7,"加价套餐商品"),
VIRTUAL_PRODUCT(9,"虚拟商品"), VIRTUAL_PRODUCT(9,"虚拟商品"),
MORD_SPECIFICATION_PRODUCT(10,"多规格商品"), MORD_SPECIFICATION_PRODUCT(10,"多规格商品"),
WEIGHT_PRODUCT(11,"称重商品"), 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