提交 cca8f5dc authored 作者: 000516's avatar 000516

顺丰、顺丰干配勤策中跳转物流地址为链路中心链接

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