Commit 4abf0156 by dingkai

mall

parent 17696f93
......@@ -93,7 +93,7 @@ public class OrderSdkAdapter {
request.setSettlementAmount(requestVO.getAmount());
//实际支付现金金额,扣除支付自生优惠,单位分
request.setActualPayAmount(requestVO.getAmount());
request.setOrderClient(OrderClientType.SAAS.getIndex());
request.setOrderClient(requestVO.getOrderClientType() == null ? OrderClientType.SAAS.getIndex() : requestVO.getOrderClientType().getIndex());
//订单业务类型 1:普通订单 2:虚拟订单
request.setBizType(1);
request.setNote(requestVO.getRemark());
......@@ -129,6 +129,9 @@ public class OrderSdkAdapter {
deliveryContactInfoCreateReq.setLatitude(StringUtils.isBlank(requestVO.getLatitude()) ? null : new BigDecimal(requestVO.getLatitude()));
deliveryContactInfoCreateReq.setLongitude(StringUtils.isBlank(requestVO.getLongitude()) ? null : new BigDecimal(requestVO.getLongitude()));
deliveryContactInfoCreateReq.setAddressDetail(requestVO.getAddress());
deliveryContactInfoCreateReq.setProvince(requestVO.getProvince());
deliveryContactInfoCreateReq.setCity(requestVO.getCity());
deliveryContactInfoCreateReq.setRegion(requestVO.getRegion());
deliveryContactInfoList.add(deliveryContactInfoCreateReq);
//第三方配送信息
getThirdDeliveryInfo(deliveryContactInfoList, requestVO.getAddInfo());
......@@ -137,6 +140,9 @@ public class OrderSdkAdapter {
request.setOrderExtended(requestVO.getOrderExtended());
request.setOrderTask(requestVO.getOrderTask());
//订单重量
Double orderWeight = sumOrderWeight(requestVO.getProducts());
request.setWeight(orderWeight);
return request;
}
......@@ -756,6 +762,9 @@ public class OrderSdkAdapter {
for (DeliveryContactInfoResp deliveryContactInfoResp : orderInfoReqs.getDeliveryContactInfoList()) {
//地址类型 1:订单地址 2:售后单地址 3:配送员信息
if (deliveryContactInfoResp.getRelateObjectType() == 1) {
data.setReceiveProvince(orderInfoReqs.getDeliveryContactInfoList().get(0).getProvince());
data.setReceiveCity(orderInfoReqs.getDeliveryContactInfoList().get(0).getCity());
data.setReceiveRegion(orderInfoReqs.getDeliveryContactInfoList().get(0).getRegion());
data.setAddress(orderInfoReqs.getDeliveryContactInfoList().get(0).getAddressDetail());
data.setPhone(orderInfoReqs.getDeliveryContactInfoList().get(0).getMobile());
if (orderInfoReqs.getDeliveryContactInfoList().get(0).getLatitude() != null
......@@ -854,6 +863,8 @@ public class OrderSdkAdapter {
data.setAbnormalDesc(orderInfoReqs.getAbnormalDesc());
data.setAbnormalState(orderInfoReqs.getAbnormalState());
data.setWeight(orderInfoReqs.getWeight());
List<QueryOrdersResponse.DataBean.OrderBean.ProductBean> productList = getOldOrderProductList(orderInfoReqs.getOrderSettlementDetailList(), orderInfoReqs.getOrderItemList());
data.setProductList(productList);
......@@ -1122,6 +1133,9 @@ public class OrderSdkAdapter {
case "meal":
orderClientType = 19;
break;
case "mall":
orderClientType = 23;
break;
default:
orderClientType = OrderClientType.SAAS.getIndex();
break;
......@@ -1159,6 +1173,9 @@ public class OrderSdkAdapter {
case 19:
name = "meals";
break;
case 23:
name = "mall";
break;
default:
name = orderClientType.toString();
break;
......@@ -1191,6 +1208,9 @@ public class OrderSdkAdapter {
case 19:
name = "saas 围餐";
break;
case 23:
name = "saas 商城";
break;
default:
break;
}
......@@ -2587,4 +2607,26 @@ public class OrderSdkAdapter {
return name;
}
/**
* 计算所有商品的重量 单位g
*/
private Double sumOrderWeight(List<CreateOrderProductRequest> products) {
Double totalWeight = 0D;
if (CollectionUtils.isEmpty(products)) {
return totalWeight;
}
for (CreateOrderProductRequest productRequest : products) {
if (ObjectUtils.equals(ProductTypeEnum.SETMEAL_PRODUCT.getCode(), productRequest.getProductType()) || ObjectUtils.equals(ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode(), productRequest.getProductType())) {
if (CollectionUtils.isNotEmpty(productRequest.getComboProduct())) {
Double comboProductTotalWeight = productRequest.getComboProduct().stream().map(t -> t.getWeight() == null ? 0D : t.getWeight()).reduce(0D, Double::sum);
totalWeight += comboProductTotalWeight;
}
} else {
Double productWeight = productRequest.getWeight() == null ? 0D : productRequest.getWeight();
totalWeight += productWeight;
}
}
return totalWeight;
}
}
package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
......@@ -41,6 +42,7 @@ public class BaseCreateOrderRequest extends BaseConfig {
* 用户电话
*/
private String phone;
/**
* 收货地址 非必填
*/
......@@ -129,6 +131,23 @@ public class BaseCreateOrderRequest extends BaseConfig {
*/
public ActivityUpdateStockRequest activityUpdateStockRequest;
private OrderClientType orderClientType;
/**
* 省
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 区
*/
private String region;
@Data
public static class DeliveryTypeInfo {
/**
......
......@@ -299,6 +299,27 @@ public class QueryOrdersResponse {
*/
private Integer dinersNumber;
/**
* 收件人省份
*/
private String receiveProvince;
/**
* 收件人城市
*/
private String receiveCity;
/**
* 收件人区
*/
private String receiveRegion;
/**
* 订单重量
*/
private BigDecimal weight;
@NoArgsConstructor
@Data
public static class AddDeliveryInfo {
......
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