|
@@ -54,38 +54,53 @@ public class LogisticsInfoTask {
|
|
|
List<LogisticsInfoPo> logisticsList = logisticsMapper.getAllUnsignedLogistics();
|
|
|
if (!CollectionUtils.isEmpty(logisticsList)) {
|
|
|
logisticsList.forEach(logistics -> {
|
|
|
- ResponseJson<QueryTrackResp> result = logisticsService.getLogisticsByNumber(logistics.getNu(), logistics.getLogisticsCompanyCode(), "");
|
|
|
- if (result.getCode() == -2) {
|
|
|
- // 顺丰速运需要提供收/寄件人的电话号码查询
|
|
|
- String mobile = logisticsMapper.getLogisticsPhoneByOrderId(logistics.getOrderId());
|
|
|
- if (StringUtils.isNotEmpty(mobile)) {
|
|
|
- result = logisticsService.getLogisticsByNumber(logistics.getNu(), logistics.getLogisticsCompanyCode(), mobile);
|
|
|
+ boolean updateFlag = false;
|
|
|
+ Date current = new Date();
|
|
|
+ String logMsg = null;
|
|
|
+ if (logistics.getNu().length() >= 8) {
|
|
|
+ ResponseJson<QueryTrackResp> result = logisticsService.getLogisticsByNumber(logistics.getNu(), logistics.getLogisticsCompanyCode(), "");
|
|
|
+ if (result.getCode() == -2) {
|
|
|
+ // 顺丰速运需要提供收/寄件人的电话号码查询
|
|
|
+ String mobile = logisticsMapper.getLogisticsPhoneByOrderId(logistics.getOrderId());
|
|
|
+ if (StringUtils.isNotEmpty(mobile)) {
|
|
|
+ result = logisticsService.getLogisticsByNumber(logistics.getNu(), logistics.getLogisticsCompanyCode(), mobile);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- if (result.getCode() == 0) {
|
|
|
- // 查询成功
|
|
|
- QueryTrackResp queryTrackResp = result.getData();
|
|
|
- String state = queryTrackResp.getState();
|
|
|
- String companyCode = queryTrackResp.getCom();
|
|
|
- String info = new Gson().toJson(queryTrackResp.getData());
|
|
|
- if (StringUtils.isNotEmpty(state) && StringUtils.isNotEmpty(info)) {
|
|
|
- logistics.setState(state);
|
|
|
- logistics.setLogisticsCompanyCode(companyCode);
|
|
|
- logistics.setInfo(info);
|
|
|
- logistics.setUpdateDate(new Date());
|
|
|
- // 更新数据库物流信息
|
|
|
- logisticsMapper.updateLogistics(logistics);
|
|
|
- log.info(">> 定时任务 >> 更新物流信息到DB成功!");
|
|
|
- }
|
|
|
- if ("400".equals(queryTrackResp.getReturnCode())) {
|
|
|
- logistics.setState("-1");
|
|
|
- String errInfo = "[{\"time\":\"" + new Date() + "\",\"context\":\""+queryTrackResp.getMessage()+"\",\"ftime\":\" + new Date() + \"}]";
|
|
|
- logistics.setInfo(errInfo);
|
|
|
- logistics.setUpdateDate(new Date());
|
|
|
- // 更新数据库物流信息
|
|
|
- logisticsMapper.updateLogistics(logistics);
|
|
|
- log.info(">> 定时任务 >> 更新物流信息到DB:" + queryTrackResp.getMessage());
|
|
|
+ if (result.getCode() == 0) {
|
|
|
+ // 查询成功
|
|
|
+ QueryTrackResp queryTrackResp = result.getData();
|
|
|
+ String state = queryTrackResp.getState();
|
|
|
+ String companyCode = queryTrackResp.getCom();
|
|
|
+ String info = new Gson().toJson(queryTrackResp.getData());
|
|
|
+ if (StringUtils.isNotEmpty(state) && StringUtils.isNotEmpty(info)) {
|
|
|
+ logistics.setState(state);
|
|
|
+ logistics.setLogisticsCompanyCode(companyCode);
|
|
|
+ logistics.setInfo(info);
|
|
|
+ logistics.setUpdateDate(current);
|
|
|
+ updateFlag = true;
|
|
|
+ logMsg = "已成功更新!";
|
|
|
+ }
|
|
|
+ if ("400".equals(queryTrackResp.getReturnCode())) {
|
|
|
+ logistics.setState("-1");
|
|
|
+ String errInfo = "[{\"time\":\"" + current + "\",\"context\":\""+queryTrackResp.getMessage()+"\",\"ftime\":\" + new Date() + \"}]";
|
|
|
+ logistics.setInfo(errInfo);
|
|
|
+ logistics.setUpdateDate(current);
|
|
|
+ updateFlag = true;
|
|
|
+ logMsg = queryTrackResp.getMessage();
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ logistics.setState("-1");
|
|
|
+ String errInfo = "[{\"time\":\"" + current + "\",\"context\":\"运单号错误!\",\"ftime\":\"" + current + "\"}]";
|
|
|
+ logistics.setInfo(errInfo);
|
|
|
+ logistics.setUpdateDate(current);
|
|
|
+ updateFlag = true;
|
|
|
+ logMsg = "运单号错误!";
|
|
|
+ }
|
|
|
+ if (updateFlag) {
|
|
|
+ // 更新数据库物流信息
|
|
|
+ logisticsMapper.updateLogistics(logistics);
|
|
|
+ log.info(">> 定时任务 >> 更新物流信息到DB:" + logMsg);
|
|
|
}
|
|
|
});
|
|
|
}
|