Commit 4b10147f by 徐康

Merge remote-tracking branch 'origin/develop' into develop

parents 17241f6d 072d9c6a
......@@ -2451,7 +2451,7 @@ public class OrderSdkAdapter {
for (CreateOrderProductRequest productRequest : products) {
// 普通商品 订单转换
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 (CollectionUtils.isNotEmpty(productRequest.getMaterialProduct())) {
// 父类商品productId=productId+seq
......@@ -2460,7 +2460,7 @@ public class OrderSdkAdapter {
index++;
material.setOpid(index);
material.setSpecification(material.getProductId());
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, partnerProductId);
updateOrderItemAndSettlement(orderItemList, orderSettlementCreateReqList, material, partnerId, partnerProductId, true);
}
}
}
......@@ -2469,7 +2469,7 @@ public class OrderSdkAdapter {
// 父类商品productId=productId+seq
String partnerProductId = productRequest.getProductId() + "_" + index;
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++;
......@@ -2487,7 +2487,7 @@ public class OrderSdkAdapter {
* @param parentProductId 套餐父商品Id
* @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.setId(product.getId());
orderItemCreateReq.setPartnerId(partnerId);
......@@ -2611,7 +2611,7 @@ public class OrderSdkAdapter {
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo));
orderItemList.add(orderItemCreateReq);
if (product.getTotalDiscountAmount() != null && product.getTotalDiscountAmount() > 0L) {
if (product.getTotalDiscountAmount() != null && product.getTotalDiscountAmount() > 0L && !isMaterial) {
//优惠信息转换
OrderSettlementCreateReq orderSettlementCreateReq = new OrderSettlementCreateReq();
orderSettlementCreateReq.setProductId(product.getSpecification());
......
......@@ -257,6 +257,28 @@ public class OrderAdapter {
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,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto,
String appId) {
......@@ -1742,7 +1764,7 @@ public class OrderAdapter {
productVo.setOriginalPrice(new BigDecimal(productVo.getOriginalPrice()).subtract(new BigDecimal(material.getOriginalPrice())).longValue());
productVo.setFinalPrice(new BigDecimal(productVo.getFinalPrice()).subtract(new BigDecimal(material.getFinalPrice())).longValue());
productVo.setOriginalTotalAmount(new BigDecimal(productVo.getOriginalTotalAmount()).subtract(new BigDecimal(material.getOriginalTotalAmount())).longValue());
productVo.setSaleTotalAmount(new BigDecimal(productVo.getSaleTotalAmount()).subtract(new BigDecimal(material.getSaleTotalAmount())).longValue());
productVo.setSaleTotalAmount(new BigDecimal(productVo.getSaleTotalAmount()).subtract(new BigDecimal(product.getSettlementPrice())).longValue());
});
productVo.setSetMaterialProducts(setMaterialProducts);
}
......@@ -2024,7 +2046,7 @@ public class OrderAdapter {
if (cartGoodsDetailDto.getProductType() != null && (cartGoodsDetailDto.getProductType() == ProductType.MATERIALPRODUCT_UPPRICE.getCode())) {
List<CreateOrderProductRequest> materialProducts = new ArrayList<>();
cartGoodsDetailDto.getMaterialList().forEach(product -> {
materialProducts.add(convent2OrderProductDemo(product));
materialProducts.add(convent2OrderProductMaterial(product));
});
createOrderProductDemoDto.setMaterialProduct(materialProducts);
}
......@@ -2034,6 +2056,35 @@ public class OrderAdapter {
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) {
CreateOrderProductRequest createOrderProductDemoDto = new CreateOrderProductRequest();
createOrderProductDemoDto.setProductId(cartGoodsDetailDto.getSpuId());
......
......@@ -46,7 +46,7 @@ public class McCafeCouponAdapter {
public MCCafeCouponRequest convert2MCCafeCouponRequest(QueryOrdersResponse.DataBean.OrderBean orderBean, QueryOrdersResponse.DataBean.OrderBean.AccountBean accountBean) {
List<MCCafeProductRedeemVo> products = new ArrayList<>();
//商品券核销核销参数
if (QueryOrderAccountType.PRODUCT_COUPON.equals(accountBean.getType())) {
if (QueryOrderAccountType.PRODUCT_COUPON.equals(getQueryOrderAccountType(getOrderAccountType(accountBean.getType())))) {
for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
......@@ -67,6 +67,18 @@ public class McCafeCouponAdapter {
}
}
}
}else if (QueryOrderAccountType.COUPON.equals(getQueryOrderAccountType(getOrderAccountType(accountBean.getType())))) {
for (int i = 0; i < orderBean.getProductList().size(); i++) {
QueryOrdersResponse.DataBean.OrderBean.ProductBean productBean = orderBean.getProductList().get(i);
String pid = StringUtils.isNotBlank(productBean.getSpecification()) ? productBean.getSpecification() : productBean.getProductId();
MCCafeProductRedeemVo mcCafeProductRedeemVo = new MCCafeProductRedeemVo();
mcCafeProductRedeemVo.setPid(pid);
mcCafeProductRedeemVo.setKeyProductCode(productBean.getCustomerCode());
mcCafeProductRedeemVo.setCustomer_code(productBean.getCustomerCode());
mcCafeProductRedeemVo.setConsume_num(productBean.getNumber());
mcCafeProductRedeemVo.setSeq(i + 1);
products.add(mcCafeProductRedeemVo);
}
}
MCCafeCouponRequest mcCafeCouponRequest = new MCCafeCouponRequest();
mcCafeCouponRequest.setVer(Integer.valueOf(Version.VERSION_1));
......
......@@ -95,15 +95,14 @@ public class MCoffeeShoppingCartController {
/**
* 切换点餐方式或者门店
* 切换门店购物车,校验商品或者复制原门店购物车到新门店
*/
@ApiAnnotation(logMessage = "switchCartGoodsCheck")
@PostMapping(value = "/switchCartGoodsCheck")
public BaseResponse switchCartGoodsCheck(@Validated @LogParams @RequestBody SwitchShoppingCartRequestVo request) {
return shoppingCartMCoffeeService.switchCartGoodsCheck(request);
@ApiAnnotation(logMessage = "switchCartGoods")
@PostMapping(value = "/switchCartGoods")
public BaseResponse switchCartGoods(@Validated @LogParams @RequestBody SwitchShoppingCartRequestVo request) {
return shoppingCartMCoffeeService.switchCartGoods(request);
}
/**
* 再来一单
*/
......
......@@ -17,8 +17,8 @@ public enum ShoppingCartOperationType {
ADD_PRODUCT_COUPON(1,"增加商品券"),
ADD_SUPER_PRICE_GOODS(2,"增加超值加购商品"),
UPDATE3(3,"确认切换门店"),
UPDATE4(4,"切换门店校验")
UPDATE3(3,"切换门店校验"),
UPDATE4(4,"确认切换门店")
;
......
......@@ -293,7 +293,7 @@ public class CalculationServiceImpl {
*/
private Long calculateDeliveryAmount(String receiveId, String partnerId, String storeId, String menuType) {
Long deliveryAmount = 0l;
if (StringUtils.isBlank(receiveId) && !BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)) {
if (StringUtils.isBlank(receiveId) || !BusinessTypeEnum.SAAS_DELIVERY.getCode().equals(menuType)) {
return deliveryAmount;
}
String trackingNo = LogThreadLocal.getTrackingNo();
......
......@@ -36,9 +36,11 @@ public class SwitchShoppingCartRequestVo {
/**
* 门店Id
*/
@NotEmpty(message = "shopId不能为空")
private String shopId;
@NotEmpty(message = "fromShopId不能为空")
private String fromShopId;
@NotEmpty(message = "toShopId不能为空")
private String toShopId;
/**
* 下单类型 CreateOrderType 外卖、到店、商城
*/
......@@ -71,6 +73,11 @@ public class SwitchShoppingCartRequestVo {
/**
* 业务类型
*/
private String menuType ;
private String menuType;
/**
* 操作类型 ShoppingCartOperationType 枚举
*/
private Integer operationType;
}
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