Commit 65874527 by chongfu.liang

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

parents 42d392c2 485cddc3
......@@ -751,6 +751,15 @@ 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)));
}
if (ObjectUtils.equals(ProductTypeEnum.MATERAIL_PRODUCT.getCode(), orderItem.getProductType())) {
// 获取加料商品列表
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> meterailProduct = productBean.getMeterailProduct();
if (CollectionUtils.isEmpty(meterailProduct)){
productBean.setMeterailProduct(new ArrayList<>());
}
productBean.getMeterailProduct().add(getOldOrderProduct(orderSettlementResps, orderItem));
}
productList.add(productBean);
}
return productList;
......
......@@ -549,6 +549,11 @@ public class QueryOrdersResponse {
*/
public List<ProductBean> comboProduct;
/**
* 套餐子商品
*/
public List<ProductBean> meterailProduct;
@NoArgsConstructor
@Data
public static class ProductDiscount {
......
......@@ -143,12 +143,19 @@ 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()));
}
......@@ -251,6 +258,21 @@ 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) {
......
......@@ -41,7 +41,7 @@ public class DeliveryController {
@ApiOperation(value = "配送回调", notes = "配送回调", produces = "application/json")
@PostMapping("/delivery/callbackUrl")
public BaseResponse callbackUrl(@Valid @LogParams @RequestBody CallbackUrlRequestDto request) {
return deliveryService.callbackUrl(request);
return deliveryService. callbackUrl(request);
}
@ApiAnnotation(logMessage = "商城配送回调")
......
......@@ -212,6 +212,8 @@ public class ShoppingCartGoodsDto {
*/
private List<CartGoodsDetailDto> comboProducts;
private List<CartGoodsMaterail> materailList;
@Data
public final static class CartGoodsExtra {
/**
......@@ -224,6 +226,41 @@ public class ShoppingCartGoodsDto {
private String attributeName;
}
@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
*/
......
......@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j
@RequestMapping("/order")
@RestController
@Validated
public class DeliveryOrderController {
......
......@@ -15,6 +15,7 @@ public enum ProductTypeEnum {
GENERAL_PRODUCT(1,"普通商品"),
MATERAIL_PRODUCT(2,"加料商品"),
GROUP_PRODUCT(3,"组合商品"),
SETMEAL_PRODUCT(6,"套餐商品"),
SETMEAL_UPPRICE_PRODUCT(7,"加价套餐商品"),
......
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