提交 964360bc authored 作者: 000516's avatar 000516

顺丰及顺丰干配,物流链接地址推送勤策

...@@ -48,11 +48,11 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -48,11 +48,11 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
log.info("查询未推送到勤策的发货单:{}", sents.size()); log.info("查询未推送到勤策的发货单:{}", sents.size());
for (OrdersSentDto sent : sents) { for (OrdersSentDto sent : sents) {
// 判断是发货单、杂发单 // 判断是发货单、杂发单
if (OrderEnum.OrderTypeEnum.SENT.getType().equals(sent.getType())){ if (OrderEnum.OrderTypeEnum.SENT.getType().equals(sent.getType())) {
pushQcX06(sent); pushQcX06(sent);
} }
// 判断是发货单、杂发单 // 判断是发货单、杂发单
if (OrderEnum.OrderTypeEnum.MIX.getType().equals(sent.getType())){ if (OrderEnum.OrderTypeEnum.MIX.getType().equals(sent.getType())) {
pushQcN02(sent); pushQcN02(sent);
} }
} }
...@@ -70,7 +70,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -70,7 +70,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
log.info("今日暂无,需回单单据"); log.info("今日暂无,需回单单据");
return; return;
} }
log.info("开始回单,近45天共{}张单据",sents.size()); log.info("开始回单,近45天共{}张单据", sents.size());
// 按物流公司分类 // 按物流公司分类
Map<String, List<OrdersSentDto>> transportMap = sents.stream().collect(Collectors.groupingBy(OrdersSentDto::getTransport)); Map<String, List<OrdersSentDto>> transportMap = sents.stream().collect(Collectors.groupingBy(OrdersSentDto::getTransport));
getOrderSentReceiptBy109(transportMap.get("109")); getOrderSentReceiptBy109(transportMap.get("109"));
...@@ -95,7 +95,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -95,7 +95,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
for (List<OrdersSentDto> dtos : split) { for (List<OrdersSentDto> dtos : split) {
try { try {
List<String> exNos = dtos.stream().map(it -> it.getExpressNo()).collect(Collectors.toList()); List<String> exNos = dtos.stream().map(it -> it.getExpressNo()).collect(Collectors.toList());
log.info("[134-京东TC]开始处理:{}",JSONObject.toJSONString(exNos)); log.info("[134-京东TC]开始处理:{}", JSONObject.toJSONString(exNos));
JSONArray waybills = jdtcUtil.orderQuery(exNos); JSONArray waybills = jdtcUtil.orderQuery(exNos);
if (CollectionUtils.isEmpty(waybills)) { if (CollectionUtils.isEmpty(waybills)) {
log.info("[134-京东TC]以上批次,未查询到物流信息"); log.info("[134-京东TC]以上批次,未查询到物流信息");
...@@ -106,7 +106,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -106,7 +106,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
disReceiptBy134((JSONObject) waybill, null); disReceiptBy134((JSONObject) waybill, null);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("[134-京东TC]忽略异常:{}",e.getMessage()); log.error("[134-京东TC]忽略异常:{}", e.getMessage());
} }
} }
...@@ -114,7 +114,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -114,7 +114,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
private void disReceiptBy134(JSONObject jdInfo, String ossON) { private void disReceiptBy134(JSONObject jdInfo, String ossON) {
String orderStatus = jdInfo.getString("orderStatus"); String orderStatus = jdInfo.getString("orderStatus");
if (!"妥投".equals(orderStatus)){ if (!"妥投".equals(orderStatus)) {
return; return;
} }
OrdersSentDto ordersSentDto = new OrdersSentDto() OrdersSentDto ordersSentDto = new OrdersSentDto()
...@@ -139,33 +139,33 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -139,33 +139,33 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
String ossON = "wuliu/" + DateUtils.getYearMonth() + "/跨越/"; String ossON = "wuliu/" + DateUtils.getYearMonth() + "/跨越/";
// 将ordersSentDtos按长度分割,每10个分割 // 将ordersSentDtos按长度分割,每10个分割
List<List<OrdersSentDto>> split = ordersSentDtos.stream().collect(Collectors.groupingBy(it -> ordersSentDtos.indexOf(it) / 10)).values().stream().collect(Collectors.toList()); List<List<OrdersSentDto>> split = ordersSentDtos.stream().collect(Collectors.groupingBy(it -> ordersSentDtos.indexOf(it) / 10)).values().stream().collect(Collectors.toList());
log.info("[109-跨越]需回单{}张,分{}组",ordersSentDtos.size(),split.size()); log.info("[109-跨越]需回单{}张,分{}组", ordersSentDtos.size(), split.size());
for (List<OrdersSentDto> os : split) { for (List<OrdersSentDto> os : split) {
try { try {
List<String> exNos = os.stream().map(it -> it.getExpressNo()).collect(Collectors.toList()); List<String> exNos = os.stream().map(it -> it.getExpressNo()).collect(Collectors.toList());
log.info("[109-跨越]开始处理:{}",JSONObject.toJSONString(exNos)); log.info("[109-跨越]开始处理:{}", JSONObject.toJSONString(exNos));
JSONArray waybillBaseInfo = kyeUtil.getWaybillBaseInfo(exNos); JSONArray waybillBaseInfo = kyeUtil.getWaybillBaseInfo(exNos);
if (CollectionUtils.isEmpty(waybillBaseInfo)){ if (CollectionUtils.isEmpty(waybillBaseInfo)) {
log.info("[109-跨越]以上批次,未查询到物流信息"); log.info("[109-跨越]以上批次,未查询到物流信息");
continue; continue;
} }
log.info("[109-跨越]以上批次,查询到{}条物流信息",waybillBaseInfo.size()); log.info("[109-跨越]以上批次,查询到{}条物流信息", waybillBaseInfo.size());
for (Object o : waybillBaseInfo) { for (Object o : waybillBaseInfo) {
disReceiptBy109((JSONObject) o,ossON); disReceiptBy109((JSONObject) o, ossON);
} }
}catch (Exception e) { } catch (Exception e) {
log.error("[109-跨越]忽略异常:{}",e.getMessage()); log.error("[109-跨越]忽略异常:{}", e.getMessage());
} }
} }
} }
private void disReceiptBy109(JSONObject infoJson,String ossON) throws Exception { private void disReceiptBy109(JSONObject infoJson, String ossON) throws Exception {
// 判断物流单是否已签收,未签收数据不处理 // 判断物流单是否已签收,未签收数据不处理
Date operateEndTime = infoJson.getDate("operateEndTime"); Date operateEndTime = infoJson.getDate("operateEndTime");
if (operateEndTime == null){ if (operateEndTime == null) {
return; return;
} }
String expressNo = infoJson.getString("waybillNumber"); String expressNo = infoJson.getString("waybillNumber");
...@@ -178,13 +178,13 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -178,13 +178,13 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
/** /**
* 回单类型为回单原件、回单照片时查询照片,否则跳过 * 回单类型为回单原件、回单照片时查询照片,否则跳过
*/ */
if (!OrderEnum.KyeReceiptEnum.hasPhoto(receiptFlag)){ if (!OrderEnum.KyeReceiptEnum.hasPhoto(receiptFlag)) {
ordersSentDao.updateByExpressNo(ordersSentDto); ordersSentDao.updateByExpressNo(ordersSentDto);
return; return;
} }
JSONArray objects = kyeUtil.queryWaybillPicture(expressNo); JSONArray objects = kyeUtil.queryWaybillPicture(expressNo);
if (!CollectionUtils.isEmpty(objects)){ if (!CollectionUtils.isEmpty(objects)) {
List<String> urls = new ArrayList<>(); List<String> urls = new ArrayList<>();
for (Object object : objects) { for (Object object : objects) {
JSONObject jsonObject = (JSONObject) object; JSONObject jsonObject = (JSONObject) object;
...@@ -201,7 +201,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -201,7 +201,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
/** /**
* 发货单 * 发货单
*/ */
private void pushQcX06(OrdersSentDto sent){ private void pushQcX06(OrdersSentDto sent) {
try { try {
log.info("start push qc sent no [{}] 物流轨迹", sent.getAhSentNo()); log.info("start push qc sent no [{}] 物流轨迹", sent.getAhSentNo());
String htmlPath = ""; String htmlPath = "";
...@@ -218,43 +218,63 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -218,43 +218,63 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
htmlPath = qinCeUtils.wlWlyPath + sent.getDdNo(); htmlPath = qinCeUtils.wlWlyPath + sent.getDdNo();
sent.setTransportName("丰诺"); sent.setTransportName("丰诺");
break; break;
case "117":
htmlPath = qinCeUtils.wlWlyPath + sent.getBjSentNo();
sent.setTransportName("顺丰");
break;
case "136":
htmlPath = qinCeUtils.wlWlyPath + sent.getBjSentNo();
sent.setTransportName("顺丰干配");
break;
default: default:
throw new ServiceException(ECode.SENT_ISNULL_ERROR); throw new ServiceException(ECode.SENT_ISNULL_ERROR);
} }
// 勤策中发货单按安徽匹配 // 勤策中发货单按安徽匹配
Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getAhSentNo(), htmlPath,sent.getTransportName(),sent.getExpressNo()); Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getAhSentNo(), htmlPath, sent.getTransportName(), sent.getExpressNo());
String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params); String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params);
qinCeUtils.postQC(url, params); qinCeUtils.postQC(url, params);
// 推送成功 // 推送成功
ordersSentDao.updatePushqcBySentNo(sent.getAhSentNo()); ordersSentDao.updatePushqcBySentNo(sent.getAhSentNo());
log.info("end push qc sent no [{}] 物流轨迹", sent.getAhSentNo()); log.info("end push qc sent no [{}] 物流轨迹", sent.getAhSentNo());
}catch (Exception e) { } catch (Exception e) {
log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent),e.getMessage()); log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent), e.getMessage());
} }
} }
/** /**
* 杂发单 * 杂发单
*
* @param sent * @param sent
*/ */
private void pushQcN02(OrdersSentDto sent) { private void pushQcN02(OrdersSentDto sent) {
try { try {
log.info("start push qc sent no [{}] 物流轨迹", sent.getBjSentNo()); log.info("start push qc sent no [{}] 物流轨迹", sent.getBjSentNo());
String transport = sent.getTransport(); String transport = sent.getTransport();
if ("104".equals(transport)){ String htmlPath = null;
switch (transport) {
case "104":
sent.setTransportName("丰诺"); sent.setTransportName("丰诺");
break;
case "117":
htmlPath = qinCeUtils.wlWlyPath + sent.getBjSentNo();
sent.setTransportName("顺丰");
break;
case "136":
htmlPath = qinCeUtils.wlWlyPath + sent.getBjSentNo();
sent.setTransportName("顺丰干配");
break;
} }
// 勤策中发货单按安徽匹配 // 勤策中发货单按安徽匹配
Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getBjSentNo(), null,sent.getTransportName(),sent.getExpressNo()); Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getBjSentNo(), htmlPath, sent.getTransportName(), sent.getExpressNo());
String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params); String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params);
qinCeUtils.postQC(url, params); qinCeUtils.postQC(url, params);
// 推送成功 // 推送成功
ordersSentDao.updatePushqcBySentNo(sent.getBjSentNo()); ordersSentDao.updatePushqcBySentNo(sent.getBjSentNo());
log.info("end push qc sent no [{}] 物流轨迹", sent.getBjSentNo()); log.info("end push qc sent no [{}] 物流轨迹", sent.getBjSentNo());
}catch (Exception e) { } catch (Exception e) {
log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent),e.getMessage()); log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent), e.getMessage());
} }
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论