微信发货接口对接,逻辑编写
This commit is contained in:
parent
a2eb7be948
commit
328fa9d802
@ -12,11 +12,13 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.modules.store.ShopStoreSfOrder;
|
||||
import com.suisung.mall.common.pojo.dto.WxOrderBaseInfoDTO;
|
||||
import com.suisung.mall.common.utils.DateTimeUtils;
|
||||
import com.suisung.mall.common.utils.RestTemplateHttpUtil;
|
||||
import com.suisung.mall.common.utils.phone.PhoneNumberUtils;
|
||||
import com.suisung.mall.shop.order.service.ShopOrderBaseService;
|
||||
import com.suisung.mall.shop.store.service.ShopStoreSfOrderService;
|
||||
import com.suisung.mall.shop.wechat.service.WxOrderShippingService;
|
||||
import com.suisung.mall.shop.wechat.utils.WxUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -41,6 +43,10 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService {
|
||||
@Autowired
|
||||
private ShopOrderBaseService shopOrderBaseService;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ShopStoreSfOrderService shopStoreSfOrderService;
|
||||
|
||||
/**
|
||||
* 上传发货信息到微信
|
||||
* 参考:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html#%E4%B8%80%E3%80%81%E5%8F%91%E8%B4%A7%E4%BF%A1%E6%81%AF%E5%BD%95%E5%85%A5%E6%8E%A5%E5%8F%A3
|
||||
@ -63,6 +69,11 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService {
|
||||
return Pair.of(false, PARAMETER_ERROR);
|
||||
}
|
||||
|
||||
if (logisticsType == null || logisticsType < 1 || logisticsType > 4) {
|
||||
log.error("物流类型错误,订单ID: {}, 物流类型: {}", orderId, logisticsType);
|
||||
return Pair.of(false, "物流类型错误");
|
||||
}
|
||||
|
||||
try {
|
||||
String accessToken = wxUtil.getAccessToken();
|
||||
if (StrUtil.isBlank(accessToken)) {
|
||||
@ -82,9 +93,35 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService {
|
||||
shippingItem.set("item_desc", orderBaseInfo.getSubject()); // 必填项
|
||||
|
||||
|
||||
String trackingId = "";
|
||||
String expressCompany = "";
|
||||
String receiverMobile = "";
|
||||
if (logisticsType == 1) {
|
||||
// 实体物流配送
|
||||
shippingItem.set("shipping_type", 2);
|
||||
shippingItem.set("shipping_id", orderBaseInfo.getLkl_merchant_no());
|
||||
} else if (logisticsType == 2) {
|
||||
// 同城配送(顺丰同城)
|
||||
ShopStoreSfOrder shopStoreSfOrder = shopStoreSfOrderService.getBySfOrderId(orderId);
|
||||
if (shopStoreSfOrder == null) {
|
||||
log.error("无法获取顺丰同城订单记录,订单ID: {}", orderId);
|
||||
return Pair.of(false, "无法获取顺丰同城订单记录");
|
||||
}
|
||||
|
||||
trackingId = shopStoreSfOrder.getSf_bill_id();
|
||||
expressCompany = "SF"; // 顺丰同城的快递公司代码
|
||||
receiverMobile = "";
|
||||
} else if (logisticsType == 3) {
|
||||
// 虚拟商品
|
||||
shippingItem.set("shipping_type", 4);
|
||||
} else {
|
||||
// 用户自提
|
||||
shippingItem.set("shipping_type", 1);
|
||||
}
|
||||
|
||||
// 发物流快递的必填字段
|
||||
shippingItem.set("tracking_no", expressNo);
|
||||
shippingItem.set("express_company", trackingNo);
|
||||
shippingItem.set("tracking_no", trackingId);
|
||||
shippingItem.set("express_company", expressCompany);
|
||||
shippingItem.set("contact.receiver_contact", CommonConstant.IDD_ZH_CN + "-" + PhoneNumberUtils.maskPhoneNumber("13128998786"));
|
||||
|
||||
JSONArray shippingList = new JSONArray().put(shippingItem);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user