Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-job
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-job
Commits
964360bc
提交
964360bc
authored
4月 16, 2026
作者:
000516
浏览文件
操作
浏览文件
下载
差异文件
顺丰及顺丰干配,物流链接地址推送勤策
上级
ece66c79
603c7ea7
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
45 行增加
和
25 行删除
+45
-25
OrdersSentQueryServiceImpl.java
...fa/job/service/order/impl/OrdersSentQueryServiceImpl.java
+45
-25
没有找到文件。
src/main/java/com/sfa/job/service/order/impl/OrdersSentQueryServiceImpl.java
浏览文件 @
964360bc
...
...
@@ -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
.
wlWlyPath
+
sent
.
getBjSentNo
();
sent
.
setTransportName
(
"顺丰"
);
break
;
case
"136"
:
htmlPath
=
qinCeUtils
.
wlWlyPath
+
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
.
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
);
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论