|
@@ -1,10 +1,14 @@
|
|
|
package com.ruoyi.logistics.service.impl;
|
|
package com.ruoyi.logistics.service.impl;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
+import com.ruoyi.common.core.web.domain.AjaxResult;
|
|
|
import com.ruoyi.common.redis.service.RedisIdGenerator;
|
|
import com.ruoyi.common.redis.service.RedisIdGenerator;
|
|
|
import com.ruoyi.logistics.config.SFExpressConfig;
|
|
import com.ruoyi.logistics.config.SFExpressConfig;
|
|
|
|
|
+import com.ruoyi.logistics.domain.BizWaybillOrder;
|
|
|
import com.ruoyi.logistics.domain.LogisticsOrder;
|
|
import com.ruoyi.logistics.domain.LogisticsOrder;
|
|
|
import com.ruoyi.logistics.service.LogisticsService;
|
|
import com.ruoyi.logistics.service.LogisticsService;
|
|
|
|
|
+import com.ruoyi.logistics.util.SFExpressHttpUtil;
|
|
|
import com.sf.csim.express.service.CallExpressServiceTools;
|
|
import com.sf.csim.express.service.CallExpressServiceTools;
|
|
|
import com.sf.csim.express.service.HttpClientUtil;
|
|
import com.sf.csim.express.service.HttpClientUtil;
|
|
|
import com.sf.csim.express.service.IServiceCodeStandard;
|
|
import com.sf.csim.express.service.IServiceCodeStandard;
|
|
@@ -15,6 +19,13 @@ import org.springframework.stereotype.Service;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 顺丰物流实现
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author RuiJing
|
|
|
|
|
+ * @date 2026-02-02
|
|
|
|
|
+ */
|
|
|
@Service
|
|
@Service
|
|
|
public class SFLogisticsService implements LogisticsService {
|
|
public class SFLogisticsService implements LogisticsService {
|
|
|
|
|
|
|
@@ -22,28 +33,98 @@ public class SFLogisticsService implements LogisticsService {
|
|
|
private SFExpressConfig sfExpressConfig;
|
|
private SFExpressConfig sfExpressConfig;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private RedisIdGenerator redisIdGenerator;
|
|
private RedisIdGenerator redisIdGenerator;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 顺丰物流预下单接口
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author zxf
|
|
|
|
|
+ * @date 2026-02-02
|
|
|
|
|
+ */
|
|
|
@Override
|
|
@Override
|
|
|
- public String createOrder(LogisticsOrder logisticsOrder) throws UnsupportedEncodingException {
|
|
|
|
|
- IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_CREATE_ORDER; //下订单
|
|
|
|
|
|
|
+ public JSONObject precheckOrder(BizWaybillOrder bizWaybillOrder) {
|
|
|
|
|
+ SFExpressHttpUtil sfExpressHttpUtil = new SFExpressHttpUtil(sfExpressConfig.getClientCode(), sfExpressConfig.getCheckWord(), sfExpressConfig.getCurrentApiUrl());
|
|
|
|
|
+ String serviceCode = "EXP_RECE_PRE_ORDER";
|
|
|
|
|
+ /* 物流预下单请求参数*/
|
|
|
|
|
+ JSONObject msgData = new JSONObject();
|
|
|
|
|
+ //预下单接口已拿到订单id 下单需要用到这个id
|
|
|
|
|
+
|
|
|
|
|
+ String orderId = redisIdGenerator.generateUniqueId("RJSD");
|
|
|
|
|
+ msgData.put("orderId", orderId);
|
|
|
|
|
+ msgData.put("cargoName", bizWaybillOrder.getGoodsName());
|
|
|
|
|
+ msgData.put("monthlyCard", sfExpressConfig.getMonthlyCord());
|
|
|
|
|
+ msgData.put("totalWeight", bizWaybillOrder.getGoodsWeight());
|
|
|
|
|
+ /* 快递产品类别 目前未定义 先写死
|
|
|
|
|
+ 1 顺丰特快
|
|
|
|
|
+ 2 顺丰标快
|
|
|
|
|
+ 6 顺丰即日*/
|
|
|
|
|
+ msgData.put("expressTypeId", 1);
|
|
|
|
|
+ //包裹数 未定义 非必填
|
|
|
|
|
+ msgData.put("parcelQty", 1);
|
|
|
|
|
+ //收寄方地址参数
|
|
|
|
|
+ List<Map<String, Object>> contactInfoList = new ArrayList<>();
|
|
|
|
|
+ Map<String, Object> Consignor = new HashMap<>();
|
|
|
|
|
+ Consignor.put("contactType",1);
|
|
|
|
|
+ Consignor.put("mobile", bizWaybillOrder.getSenderPhone());
|
|
|
|
|
+ Consignor.put("province", bizWaybillOrder.getSenderProvince());
|
|
|
|
|
+ Consignor.put("city", bizWaybillOrder.getSenderCity());
|
|
|
|
|
+ Consignor.put("county", bizWaybillOrder.getSenderCounty());
|
|
|
|
|
+ Consignor.put("address", bizWaybillOrder.getSenderAddress());
|
|
|
|
|
+ contactInfoList.add(Consignor);
|
|
|
|
|
+ Map<String, Object> Consignee = new HashMap<>();
|
|
|
|
|
+ Consignee.put("contactType", 2);
|
|
|
|
|
+ Consignee.put("mobile", bizWaybillOrder.getReceiverPhone());
|
|
|
|
|
+ Consignee.put("province", bizWaybillOrder.getReceiverProvince());
|
|
|
|
|
+ Consignee.put("city", bizWaybillOrder.getReceiverCity());
|
|
|
|
|
+ Consignee.put("county", bizWaybillOrder.getReceiverCounty());
|
|
|
|
|
+ Consignee.put("address", bizWaybillOrder.getReceiverAddress());
|
|
|
|
|
+ contactInfoList.add(Consignee);
|
|
|
|
|
+ msgData.put("contactInfoList",contactInfoList);
|
|
|
|
|
+ String result = sfExpressHttpUtil.sendRequest(serviceCode, msgData.toJSONString());
|
|
|
|
|
+ JSONObject jsonObject = JSON.parseObject(result).getJSONObject("apiResultData");
|
|
|
|
|
+ JSONObject resultInfo = new JSONObject();
|
|
|
|
|
+ if (jsonObject != null && jsonObject.containsKey("success") && jsonObject.getBooleanValue("success")) {
|
|
|
|
|
+ bizWaybillOrder.setWaybillNo(orderId);
|
|
|
|
|
+ resultInfo.put("success", true);
|
|
|
|
|
+ resultInfo.put("data", bizWaybillOrder);
|
|
|
|
|
+ resultInfo.put("msg", "预下单校验成功!");
|
|
|
|
|
+ return resultInfo;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ resultInfo.put("success", false);
|
|
|
|
|
+ resultInfo.put("data", null);
|
|
|
|
|
+ resultInfo.put("msg", "预下单校验失败!失败原因:"+jsonObject.get("errorMsg"));
|
|
|
|
|
+ return resultInfo;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 顺丰物流下单接口
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author zxf
|
|
|
|
|
+ * @date 2026-02-02
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public JSONObject createOrder(BizWaybillOrder bizWaybillOrder) {
|
|
|
|
|
+ IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_CREATE_ORDER; //下订单
|
|
|
CallExpressServiceTools tools=CallExpressServiceTools.getInstance();
|
|
CallExpressServiceTools tools=CallExpressServiceTools.getInstance();
|
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
Map<String, String> params = new HashMap<String, String>();
|
|
|
String timeStamp = String.valueOf(System.currentTimeMillis());
|
|
String timeStamp = String.valueOf(System.currentTimeMillis());
|
|
|
Map<String,Object> orderData= new HashMap<>();
|
|
Map<String,Object> orderData= new HashMap<>();
|
|
|
orderData.put("language","zh_CN");
|
|
orderData.put("language","zh_CN");
|
|
|
- orderData.put("orderId",redisIdGenerator.generateUniqueId("RJSD"));//客户订单号,重复使用订单号时返回第一次下单成功时的运单信息
|
|
|
|
|
- orderData.put("monthlyCard","7551234567");//月结账户
|
|
|
|
|
- orderData.put("parcelQty",3);
|
|
|
|
|
|
|
+ //预下单 已返回订单id
|
|
|
|
|
+ orderData.put("orderId",bizWaybillOrder.getWaybillNo());
|
|
|
|
|
+ orderData.put("monthlyCard",sfExpressConfig.getMonthlyCord());//月结账户
|
|
|
|
|
+ //包裹数目前字段没有
|
|
|
|
|
+ orderData.put("parcelQty",1);
|
|
|
//商品信息
|
|
//商品信息
|
|
|
List<Map<String,Object>> cargoDetails = new ArrayList<>();
|
|
List<Map<String,Object>> cargoDetails = new ArrayList<>();
|
|
|
Map cargo=new HashMap<>();
|
|
Map cargo=new HashMap<>();
|
|
|
- cargo.put("name","笔记本");
|
|
|
|
|
- cargo.put("count",1);
|
|
|
|
|
- cargo.put("unit","个");
|
|
|
|
|
- cargo.put("weight",1.012);
|
|
|
|
|
- cargo.put("amount",4999.189);
|
|
|
|
|
|
|
+ cargo.put("name",bizWaybillOrder.getGoodsName());
|
|
|
|
|
+ cargo.put("count",bizWaybillOrder.getGoodsQty());
|
|
|
|
|
+ cargo.put("weight",bizWaybillOrder.getGoodsWeight());
|
|
|
cargoDetails.add(cargo);
|
|
cargoDetails.add(cargo);
|
|
|
orderData.put("cargoDetails",cargoDetails);
|
|
orderData.put("cargoDetails",cargoDetails);
|
|
|
|
|
+
|
|
|
//增值服务信息 serviceList":[{"name":"INSURE","value":"500"}]
|
|
//增值服务信息 serviceList":[{"name":"INSURE","value":"500"}]
|
|
|
List<Map<String,Object>> serviceList = new ArrayList<>();
|
|
List<Map<String,Object>> serviceList = new ArrayList<>();
|
|
|
Map service=new HashMap<>();
|
|
Map service=new HashMap<>();
|
|
@@ -53,48 +134,165 @@ public class SFLogisticsService implements LogisticsService {
|
|
|
orderData.put("serviceList",serviceList);
|
|
orderData.put("serviceList",serviceList);
|
|
|
//收寄双方信息
|
|
//收寄双方信息
|
|
|
List<Map<String,Object>> contactInfoList = new ArrayList<>();
|
|
List<Map<String,Object>> contactInfoList = new ArrayList<>();
|
|
|
- Map contactInfo1=new HashMap<>();
|
|
|
|
|
- contactInfo1.put("address","河南省洛阳市洛龙区科技园街道和风雅叙");
|
|
|
|
|
- contactInfo1.put("contact","张三");
|
|
|
|
|
- contactInfo1.put("contactType",1);
|
|
|
|
|
- contactInfo1.put("country","CN");
|
|
|
|
|
- contactInfo1.put("postCode","580058");
|
|
|
|
|
- contactInfo1.put("tel","15639072145");
|
|
|
|
|
- contactInfoList.add(contactInfo1);
|
|
|
|
|
- Map contactInfo=new HashMap<>();
|
|
|
|
|
- contactInfo.put("address","河南省郑州市惠济区美景麟起城");
|
|
|
|
|
- contactInfo.put("company","神州");
|
|
|
|
|
- contactInfo.put("contact","小乔");
|
|
|
|
|
- contactInfo.put("contactType",2);
|
|
|
|
|
- contactInfo.put("country","CN");
|
|
|
|
|
- contactInfo.put("tel","15539739074");
|
|
|
|
|
- contactInfoList.add(contactInfo1);
|
|
|
|
|
- contactInfoList.add(contactInfo);
|
|
|
|
|
|
|
+ Map<String,Object> Consignor= new HashMap<>();
|
|
|
|
|
+ Consignor.put("contactType","1");
|
|
|
|
|
+ Consignor.put("mobile",bizWaybillOrder.getSenderPhone());
|
|
|
|
|
+ Consignor.put("province",bizWaybillOrder.getSenderProvince());
|
|
|
|
|
+ Consignor.put("city",bizWaybillOrder.getSenderCity());
|
|
|
|
|
+ Consignor.put("county",bizWaybillOrder.getSenderCounty());
|
|
|
|
|
+ Consignor.put("address",bizWaybillOrder.getSenderAddress());
|
|
|
|
|
+ contactInfoList.add(Consignor);
|
|
|
|
|
+ Map<String,Object> Consignee= new HashMap<>();
|
|
|
|
|
+ Consignee.put("contactType","2");
|
|
|
|
|
+ Consignee.put("mobile",bizWaybillOrder.getReceiverPhone());
|
|
|
|
|
+ Consignee.put("province",bizWaybillOrder.getReceiverProvince());
|
|
|
|
|
+ Consignee.put("city",bizWaybillOrder.getReceiverCity());
|
|
|
|
|
+ Consignee.put("county",bizWaybillOrder.getReceiverCounty());
|
|
|
|
|
+ Consignee.put("address",bizWaybillOrder.getReceiverAddress());
|
|
|
|
|
+ contactInfoList.add(Consignee);
|
|
|
orderData.put("contactInfoList",contactInfoList);
|
|
orderData.put("contactInfoList",contactInfoList);
|
|
|
|
|
+ try {
|
|
|
|
|
+ String msgData =tools.packageMsgData(standardService);
|
|
|
|
|
+ msgData= JSON.toJSONString(orderData);
|
|
|
|
|
+ params.put("partnerID", sfExpressConfig.getClientCode()); // 顾客编码 ,对应丰桥上获取的clientCode
|
|
|
|
|
+ params.put("requestID", UUID.randomUUID().toString().replace("-", ""));
|
|
|
|
|
+ params.put("serviceCode",standardService.getCode());// 接口服务码
|
|
|
|
|
+ params.put("timestamp", timeStamp);
|
|
|
|
|
+ params.put("msgData", msgData);
|
|
|
|
|
+ params.put("msgDigest", tools.getMsgDigest(msgData, timeStamp, sfExpressConfig.getCheckWord()));
|
|
|
|
|
+ String result = HttpClientUtil.post(sfExpressConfig.getCurrentApiUrl(), params);
|
|
|
|
|
+ JSONObject jsonObject = JSON.parseObject(result);
|
|
|
|
|
|
|
|
|
|
+ return jsonObject;
|
|
|
|
|
+ }catch(Exception e){
|
|
|
|
|
+ throw new RuntimeException();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 顺丰物流取消订单接口
|
|
|
|
|
+ * 客服描述 订单揽收前 可以进行取消订单或者修改订单信息
|
|
|
|
|
+ * @author zxf
|
|
|
|
|
+ * @date 2026-02-02
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public JSONObject cancelOrder(BizWaybillOrder bizWaybillOrder) {
|
|
|
|
|
+ IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_UPDATE_ORDER;
|
|
|
|
|
+ CallExpressServiceTools tools=CallExpressServiceTools.getInstance();
|
|
|
|
|
+ Map<String, String> params = new HashMap<String, String>();
|
|
|
|
|
+ String timeStamp = String.valueOf(System.currentTimeMillis());
|
|
|
|
|
+ Map<String,Object> orderData= new HashMap<>();
|
|
|
|
|
+ orderData.put("language","zh_CN");
|
|
|
|
|
+ orderData.put("orderId",bizWaybillOrder.getWaybillNo());
|
|
|
|
|
+ orderData.put("dealType",2);
|
|
|
String msgData =tools.packageMsgData(standardService);
|
|
String msgData =tools.packageMsgData(standardService);
|
|
|
msgData= JSON.toJSONString(orderData);
|
|
msgData= JSON.toJSONString(orderData);
|
|
|
|
|
+ try {
|
|
|
params.put("partnerID", sfExpressConfig.getClientCode()); // 顾客编码 ,对应丰桥上获取的clientCode
|
|
params.put("partnerID", sfExpressConfig.getClientCode()); // 顾客编码 ,对应丰桥上获取的clientCode
|
|
|
params.put("requestID", UUID.randomUUID().toString().replace("-", ""));
|
|
params.put("requestID", UUID.randomUUID().toString().replace("-", ""));
|
|
|
params.put("serviceCode",standardService.getCode());// 接口服务码
|
|
params.put("serviceCode",standardService.getCode());// 接口服务码
|
|
|
params.put("timestamp", timeStamp);
|
|
params.put("timestamp", timeStamp);
|
|
|
params.put("msgData", msgData);
|
|
params.put("msgData", msgData);
|
|
|
params.put("msgDigest", tools.getMsgDigest(msgData,timeStamp,sfExpressConfig.getCheckWord()));
|
|
params.put("msgDigest", tools.getMsgDigest(msgData,timeStamp,sfExpressConfig.getCheckWord()));
|
|
|
|
|
+ String result = HttpClientUtil.post(sfExpressConfig.getCurrentApiUrl(), params);
|
|
|
|
|
+ JSONObject jsonObject = JSON.parseObject(result).getJSONObject("apiResultData");
|
|
|
|
|
+ JSONObject resultInfo = new JSONObject();
|
|
|
|
|
+ if (jsonObject != null && jsonObject.containsKey("success") && jsonObject.getBooleanValue("success")) {
|
|
|
|
|
|
|
|
- // System.out.println(params.get("requestID"));
|
|
|
|
|
- long startTime = System.currentTimeMillis();
|
|
|
|
|
|
|
+ resultInfo.put("success", true);
|
|
|
|
|
+ resultInfo.put("data", bizWaybillOrder);
|
|
|
|
|
+ resultInfo.put("msg", "订单取消成功!");
|
|
|
|
|
+ return resultInfo;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ resultInfo.put("success", false);
|
|
|
|
|
+ resultInfo.put("msg", "订单取消失败!失败原因:"+jsonObject.get("errorMsg"));
|
|
|
|
|
+ return resultInfo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ catch(Exception e){
|
|
|
|
|
+ throw new RuntimeException();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 顺丰物流修改订单接口
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author zxf
|
|
|
|
|
+ * @date 2026-02-02
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public JSONObject modifyOrder(BizWaybillOrder bizWaybillOrder) {
|
|
|
|
|
+ IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_UPDATE_ORDER;
|
|
|
|
|
+ CallExpressServiceTools tools=CallExpressServiceTools.getInstance();
|
|
|
|
|
+ Map<String, String> params = new HashMap<String, String>();
|
|
|
|
|
+ String timeStamp = String.valueOf(System.currentTimeMillis());
|
|
|
|
|
+ Map<String,Object> orderData= new HashMap<>();
|
|
|
|
|
+ orderData.put("language","zh_CN");
|
|
|
|
|
+ orderData.put("orderId",bizWaybillOrder.getWaybillNo());
|
|
|
|
|
+ orderData.put("dealType",1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- // System.out.println("====调用请求:" + params.get("msgData"));
|
|
|
|
|
- System.out.println("====调用实际请求:" + params);
|
|
|
|
|
- String result = HttpClientUtil.post(sfExpressConfig.getCurrentApiUrl(), params);
|
|
|
|
|
|
|
|
|
|
- System.out.println("====调用丰桥的接口服务代码:" + String.valueOf(standardService.getCode()) + " 接口耗时:"+ String.valueOf(System.currentTimeMillis()-startTime)+"====");
|
|
|
|
|
- System.out.println("===调用地址 ==="+sfExpressConfig.getCurrentApiUrl());
|
|
|
|
|
- System.out.println("===顾客编码 ==="+sfExpressConfig.getClientCode());
|
|
|
|
|
- System.out.println("===返回结果:" +result);
|
|
|
|
|
|
|
|
|
|
- return result;
|
|
|
|
|
|
|
+ String msgData =tools.packageMsgData(standardService);
|
|
|
|
|
+ msgData= JSON.toJSONString(orderData);
|
|
|
|
|
+ try {
|
|
|
|
|
+ params.put("partnerID", sfExpressConfig.getClientCode()); // 顾客编码 ,对应丰桥上获取的clientCode
|
|
|
|
|
+ params.put("requestID", UUID.randomUUID().toString().replace("-", ""));
|
|
|
|
|
+ params.put("serviceCode",standardService.getCode());// 接口服务码
|
|
|
|
|
+ params.put("timestamp", timeStamp);
|
|
|
|
|
+ params.put("msgData", msgData);
|
|
|
|
|
+ params.put("msgDigest", tools.getMsgDigest(msgData,timeStamp,sfExpressConfig.getCheckWord()));
|
|
|
|
|
+ String result = HttpClientUtil.post(sfExpressConfig.getCurrentApiUrl(), params);
|
|
|
|
|
+ JSONObject jsonObject = JSON.parseObject(result).getJSONObject("apiResultData");
|
|
|
|
|
+ JSONObject resultInfo = new JSONObject();
|
|
|
|
|
+ if (jsonObject != null && jsonObject.containsKey("success") && jsonObject.getBooleanValue("success")) {
|
|
|
|
|
+
|
|
|
|
|
+ resultInfo.put("success", true);
|
|
|
|
|
+ resultInfo.put("data", bizWaybillOrder);
|
|
|
|
|
+ resultInfo.put("msg", "订单取消成功!");
|
|
|
|
|
+ return resultInfo;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ resultInfo.put("success", false);
|
|
|
|
|
+ resultInfo.put("msg", "订单取消失败!失败原因:"+jsonObject.get("errorMsg"));
|
|
|
|
|
+ return resultInfo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ catch(Exception e){
|
|
|
|
|
+ throw new RuntimeException();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* @Override
|
|
|
|
|
+ public AjaxResult monthlyCode(LogisticsOrder logisticsOrder) {
|
|
|
|
|
+
|
|
|
|
|
+ SFExpressHttpUtil sfExpressHttpUtil= new SFExpressHttpUtil(sfExpressConfig.getClientCode(),sfExpressConfig.getCheckWord(),sfExpressConfig.getCurrentApiUrl());
|
|
|
|
|
+ String serviceCode="ACSP_CREATE_MONTHLY_CODE";
|
|
|
|
|
+ JSONObject msgData = new JSONObject();
|
|
|
|
|
+ msgData.put("monthCard",sfExpressConfig.getMonthlyCord());
|
|
|
|
|
+ msgData.put("needDynamicCode",true);
|
|
|
|
|
+ msgData.put("remak","月结码第一次测试");
|
|
|
|
|
+
|
|
|
|
|
+ String result= sfExpressHttpUtil.sendRequest(serviceCode,msgData.toJSONString());
|
|
|
|
|
+ return AjaxResult.success(result);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public AjaxResult queryOrder(LogisticsOrder logisticsOrder) {
|
|
|
|
|
+
|
|
|
|
|
+ SFExpressHttpUtil sfExpressHttpUtil= new SFExpressHttpUtil(sfExpressConfig.getClientCode(),sfExpressConfig.getCheckWord(),sfExpressConfig.getCurrentApiUrl());
|
|
|
|
|
+ String serviceCode="EXP_RECE_QUERY_SFWAYBILL";
|
|
|
|
|
+ JSONObject msgData = new JSONObject();
|
|
|
|
|
+ msgData.put("trackingType","1");
|
|
|
|
|
+ msgData.put("trackingNum","RJSD20260123000001");
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ String result= sfExpressHttpUtil.sendRequest(serviceCode,msgData.toJSONString());
|
|
|
|
|
+ return AjaxResult.success(result);
|
|
|
|
|
+ }*/
|
|
|
}
|
|
}
|