|
@@ -43,29 +43,28 @@ public class LogisticsServiceImpl implements LogisticsService {
|
|
|
if (StringUtils.isEmpty(number)) {
|
|
|
return ResponseJson.error("参数错误:快递单号不能为空!", null);
|
|
|
}
|
|
|
- if (StringUtils.isEmpty(companyCode)) {
|
|
|
- // 智能获取物流公司代码
|
|
|
- AutoNumReq autoNumReq = new AutoNumReq();
|
|
|
- autoNumReq.setKey(LOGISTICS_KEY);
|
|
|
- autoNumReq.setNum(number);
|
|
|
- AutoNum baseClient = new AutoNum();
|
|
|
- try {
|
|
|
- String firstComByNum = baseClient.getFirstComByNum(autoNumReq);
|
|
|
- if (StringUtils.isNotEmpty(firstComByNum)) {
|
|
|
- // 顺丰需要提供手机号
|
|
|
- if ("shunfeng".equals(firstComByNum) && StringUtils.isEmpty(mobile)){
|
|
|
- return ResponseJson.error(-2, "顺丰速运需要提供收/寄件人的电话号码查询,请提供后重试", null);
|
|
|
- }
|
|
|
- // 根据快递单号获取物流信息
|
|
|
- return queryLogistics(number, mobile, firstComByNum);
|
|
|
+ // 智能获取物流公司代码
|
|
|
+ AutoNumReq autoNumReq = new AutoNumReq();
|
|
|
+ autoNumReq.setKey(LOGISTICS_KEY);
|
|
|
+ autoNumReq.setNum(number);
|
|
|
+ AutoNum baseClient = new AutoNum();
|
|
|
+ try {
|
|
|
+ String firstComByNum = baseClient.getFirstComByNum(autoNumReq);
|
|
|
+ if (StringUtils.isEmpty(firstComByNum) && StringUtils.isNotEmpty(companyCode)) {
|
|
|
+ firstComByNum = companyCode;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(firstComByNum)) {
|
|
|
+ // 顺丰需要提供手机号
|
|
|
+ if ("shunfeng".equals(firstComByNum) && StringUtils.isEmpty(mobile)){
|
|
|
+ return ResponseJson.error(-2, "顺丰速运需要提供收/寄件人的电话号码查询,请提供后重试", null);
|
|
|
}
|
|
|
- return ResponseJson.error("未能识别物流公司,请提供物流公司代码后重试!", null);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("智能获取物流公司代码,错误信息:", e);
|
|
|
- return ResponseJson.error("智能获取物流公司出错,请提供物流公司代码后重试!", null);
|
|
|
+ // 根据快递单号获取物流信息
|
|
|
+ return queryLogistics(number, mobile, firstComByNum);
|
|
|
}
|
|
|
- } else {
|
|
|
- return queryLogistics(number, mobile, companyCode);
|
|
|
+ return ResponseJson.error("未能识别物流公司,请提供正确的物流公司代码后重试!", null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("智能获取物流公司代码,错误信息:", e);
|
|
|
+ return ResponseJson.error("智能获取物流公司出错,请提供物流公司代码后重试!", null);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -96,6 +95,7 @@ public class LogisticsServiceImpl implements LogisticsService {
|
|
|
HttpResult httpResult = baseClient.execute(queryTrackReq);
|
|
|
if (httpResult.getStatus() == 200 && StringUtils.isNotBlank(httpResult.getBody())) {
|
|
|
QueryTrackResp queryTrackResp = (new Gson()).fromJson(httpResult.getBody(), QueryTrackResp.class);
|
|
|
+ log.info(">> 获取物流信息 >> " + new Gson().toJson(queryTrackResp));
|
|
|
return ResponseJson.success(queryTrackResp);
|
|
|
}
|
|
|
return ResponseJson.error(httpResult.toString(), null);
|