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
84b1bf8c
提交
84b1bf8c
authored
8月 19, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
差异文件
aint301杂发回写勤策/回单
上级
05b3556c
e3f5e92d
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
90 行增加
和
22 行删除
+90
-22
IOrdersSentDao.java
...ain/java/com/sfa/job/domain/order/dao/IOrdersSentDao.java
+1
-1
OrdersSentDaoImpl.java
.../com/sfa/job/domain/order/dao/impl/OrdersSentDaoImpl.java
+3
-3
OrdersSent.java
...main/java/com/sfa/job/domain/order/entity/OrdersSent.java
+1
-1
OrdersSentMapper.java
...ava/com/sfa/job/domain/order/mapper/OrdersSentMapper.java
+1
-1
OrderEnum.java
src/main/java/com/sfa/job/enums/OrderEnum.java
+22
-1
OrdersSentDto.java
src/main/java/com/sfa/job/pojo/response/OrdersSentDto.java
+1
-1
OrdersSentQueryServiceImpl.java
...fa/job/service/order/impl/OrdersSentQueryServiceImpl.java
+44
-9
QinCeUtils.java
src/main/java/com/sfa/job/util/QinCeUtils.java
+5
-2
OrdersSentMapper.xml
src/main/resources/mapper/order/OrdersSentMapper.xml
+12
-3
没有找到文件。
src/main/java/com/sfa/job/domain/order/dao/IOrdersSentDao.java
浏览文件 @
84b1bf8c
...
...
@@ -14,7 +14,7 @@ public interface IOrdersSentDao {
OrdersSentDto
getSent
(
String
sentNo
);
void
updatePushqcBy
AhSentNo
(
String
ahS
entNo
);
void
updatePushqcBy
SentNo
(
String
s
entNo
);
List
<
OrdersSentDto
>
getNotReceiptSent
();
...
...
src/main/java/com/sfa/job/domain/order/dao/impl/OrdersSentDaoImpl.java
浏览文件 @
84b1bf8c
...
...
@@ -52,11 +52,11 @@ public class OrdersSentDaoImpl implements IOrdersSentDao {
}
/**
* 根据发货单编号更新push_qc状态
* @param
ahS
entNo 发货单编号
* @param
s
entNo 发货单编号
*/
@Override
public
void
updatePushqcBy
AhSentNo
(
String
ahS
entNo
)
{
ordersSentMapper
.
updatePushqcByAhSentNo
(
ahS
entNo
);
public
void
updatePushqcBy
SentNo
(
String
s
entNo
)
{
ordersSentMapper
.
updatePushqcByAhSentNo
(
s
entNo
);
}
/**
...
...
src/main/java/com/sfa/job/domain/order/entity/OrdersSent.java
浏览文件 @
84b1bf8c
...
...
@@ -44,7 +44,7 @@ public class OrdersSent implements Serializable {
/**
* 过账日期
*/
private
Date
postDat
a
;
private
Date
postDat
e
;
/**
* 状态
...
...
src/main/java/com/sfa/job/domain/order/mapper/OrdersSentMapper.java
浏览文件 @
84b1bf8c
...
...
@@ -19,7 +19,7 @@ public interface OrdersSentMapper extends BaseMapper<OrdersSent> {
OrdersSent
selectBySentNo
(
String
sentNo
);
void
updatePushqcByAhSentNo
(
String
ahS
entNo
);
void
updatePushqcByAhSentNo
(
String
s
entNo
);
List
<
OrdersSent
>
getNotReceiptSent
();
...
...
src/main/java/com/sfa/job/enums/
SentReceipt
Enum.java
→
src/main/java/com/sfa/job/enums/
Order
Enum.java
浏览文件 @
84b1bf8c
...
...
@@ -7,7 +7,7 @@ import lombok.Getter;
* @date : 2025-08-13 10
* @describe :
*/
public
interface
SentReceipt
Enum
{
public
interface
Order
Enum
{
/**
* 回单状态类型
...
...
@@ -73,4 +73,25 @@ public interface SentReceiptEnum {
this
.
desc
=
desc
;
}
}
/**
* 订单类型
*/
@Getter
enum
OrderTypeEnum
{
/**
* 发货单
*/
SENT
(
"X06"
),
/**
* 杂发单
*/
MIX
(
"N02"
);
private
String
type
;
OrderTypeEnum
(
String
type
)
{
this
.
type
=
type
;
}
}
}
src/main/java/com/sfa/job/pojo/response/OrdersSentDto.java
浏览文件 @
84b1bf8c
...
...
@@ -42,7 +42,7 @@ public class OrdersSentDto implements Serializable {
/**
* 过账日期
*/
private
Date
postDat
a
;
private
Date
postDat
e
;
/**
* 状态
...
...
src/main/java/com/sfa/job/service/order/impl/OrdersSentQueryServiceImpl.java
浏览文件 @
84b1bf8c
...
...
@@ -6,7 +6,7 @@ import com.sfa.common.core.enums.ECode;
import
com.sfa.common.core.exception.ServiceException
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.job.domain.order.dao.IOrdersSentDao
;
import
com.sfa.job.enums.
SentReceipt
Enum
;
import
com.sfa.job.enums.
Order
Enum
;
import
com.sfa.job.pojo.response.OrdersSentDto
;
import
com.sfa.job.service.order.IOrdersSentQueryService
;
import
com.sfa.job.util.JdtcUtil
;
...
...
@@ -47,8 +47,14 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
List
<
OrdersSentDto
>
sents
=
ordersSentDao
.
findByPushqcStatus
();
log
.
info
(
"查询未推送到勤策的发货单:{}"
,
sents
.
size
());
for
(
OrdersSentDto
sent
:
sents
)
{
// 修改勤策物流https地址
pushQc
(
sent
);
// 判断是发货单、杂发单
if
(
OrderEnum
.
OrderTypeEnum
.
SENT
.
getType
().
equals
(
sent
.
getType
())){
pushQcX06
(
sent
);
}
// 判断是发货单、杂发单
if
(
OrderEnum
.
OrderTypeEnum
.
MIX
.
getType
().
equals
(
sent
.
getType
())){
pushQcN02
(
sent
);
}
}
}
...
...
@@ -68,7 +74,9 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
// 按物流公司分类
Map
<
String
,
List
<
OrdersSentDto
>>
transportMap
=
sents
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrdersSentDto:
:
getTransport
));
getOrderSentReceiptBy109
(
transportMap
.
get
(
"109"
));
log
.
info
(
"[109-跨越] 回单完成"
);
getOrderSentReceiptBy134
(
transportMap
.
get
(
"134"
));
log
.
info
(
"[134-京东TC] 回单完成"
);
}
/**
...
...
@@ -87,6 +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
));
JSONArray
waybills
=
jdtcUtil
.
orderQuery
(
exNos
);
if
(
CollectionUtils
.
isEmpty
(
waybills
))
{
log
.
info
(
"[134-京东TC]以上批次,未查询到物流信息"
);
...
...
@@ -111,7 +120,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
OrdersSentDto
ordersSentDto
=
new
OrdersSentDto
()
.
setExpressNo
(
jdInfo
.
getString
(
"waybillCode"
))
.
setOperateEndDatetime
(
jdInfo
.
getDate
(
"orderTime"
))
.
setReceiptFlag
(
SentReceipt
Enum
.
ReceiptEnum
.
NO
.
getDesc
());
.
setReceiptFlag
(
Order
Enum
.
ReceiptEnum
.
NO
.
getDesc
());
/**
* 京东回单照片暂无获取API
*/
...
...
@@ -164,12 +173,12 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
OrdersSentDto
ordersSentDto
=
new
OrdersSentDto
()
.
setExpressNo
(
expressNo
)
.
setOperateEndDatetime
(
operateEndTime
)
.
setReceiptFlag
(
SentReceipt
Enum
.
KyeReceiptEnum
.
getDesc
(
receiptFlag
));
.
setReceiptFlag
(
Order
Enum
.
KyeReceiptEnum
.
getDesc
(
receiptFlag
));
/**
* 回单类型为回单原件、回单照片时查询照片,否则跳过
*/
if
(!
SentReceipt
Enum
.
KyeReceiptEnum
.
hasPhoto
(
receiptFlag
)){
if
(!
Order
Enum
.
KyeReceiptEnum
.
hasPhoto
(
receiptFlag
)){
ordersSentDao
.
updateByExpressNo
(
ordersSentDto
);
return
;
}
...
...
@@ -189,7 +198,10 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
ordersSentDao
.
updateByExpressNo
(
ordersSentDto
);
}
private
void
pushQc
(
OrdersSentDto
sent
){
/**
* 发货单
*/
private
void
pushQcX06
(
OrdersSentDto
sent
){
try
{
log
.
info
(
"start push qc sent no [{}] 物流轨迹"
,
sent
.
getAhSentNo
());
String
htmlPath
=
""
;
...
...
@@ -211,15 +223,38 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
}
// 勤策中发货单按安徽匹配
Map
<
String
,
Object
>
params
=
qinCeUtils
.
modifySentDefinedValParams
(
sent
.
getAhSentNo
(),
htmlPath
,
sent
.
getTransportName
());
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
.
updatePushqcBy
Ah
SentNo
(
sent
.
getAhSentNo
());
ordersSentDao
.
updatePushqcBySentNo
(
sent
.
getAhSentNo
());
log
.
info
(
"end push qc sent no [{}] 物流轨迹"
,
sent
.
getAhSentNo
());
}
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
)){
sent
.
setTransportName
(
"丰诺"
);
}
// 勤策中发货单按安徽匹配
Map
<
String
,
Object
>
params
=
qinCeUtils
.
modifySentDefinedValParams
(
sent
.
getBjSentNo
(),
null
,
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
());
}
}
}
src/main/java/com/sfa/job/util/QinCeUtils.java
浏览文件 @
84b1bf8c
...
...
@@ -67,17 +67,20 @@ public class QinCeUtils {
return
params
;
}
public
Map
<
String
,
Object
>
modifySentDefinedValParams
(
String
sentNo
,
String
wlHtmlPath
,
String
transportName
){
public
Map
<
String
,
Object
>
modifySentDefinedValParams
(
String
sentNo
,
String
wlHtmlPath
,
String
transportName
,
String
exNo
){
Map
<
String
,
Object
>
val1
=
new
HashMap
<>();
val1
.
put
(
"ext_key"
,
"物流轨迹"
);
val1
.
put
(
"ext_value"
,
wlHtmlPath
);
Map
<
String
,
Object
>
val2
=
new
HashMap
<>();
val2
.
put
(
"ext_key"
,
"物流承运商"
);
val2
.
put
(
"ext_value"
,
transportName
);
Map
<
String
,
Object
>
val3
=
new
HashMap
<>();
val3
.
put
(
"ext_key"
,
"物流单号"
);
val3
.
put
(
"ext_value"
,
exNo
);
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"sent_no"
,
sentNo
);
params
.
put
(
"exts"
,
Arrays
.
asList
(
val1
,
val2
));
params
.
put
(
"exts"
,
Arrays
.
asList
(
val1
,
val2
,
val3
));
return
params
;
}
...
...
src/main/resources/mapper/order/OrdersSentMapper.xml
浏览文件 @
84b1bf8c
...
...
@@ -10,7 +10,7 @@
<result
property=
"bjSentNo"
column=
"bj_sent_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"bjSentVersion"
column=
"bj_sent_version"
jdbcType=
"INTEGER"
/>
<result
property=
"type"
column=
"type"
jdbcType=
"CHAR"
/>
<result
property=
"postDat
a"
column=
"post_data
"
jdbcType=
"DATE"
/>
<result
property=
"postDat
e"
column=
"post_date
"
jdbcType=
"DATE"
/>
<result
property=
"status"
column=
"status"
jdbcType=
"CHAR"
/>
<result
property=
"transport"
column=
"transport"
jdbcType=
"VARCHAR"
/>
<result
property=
"transportName"
column=
"transport_name"
jdbcType=
"VARCHAR"
/>
...
...
@@ -26,7 +26,7 @@
</resultMap>
<select
id=
"findUnsyncQc"
resultMap=
"ordersSentResultMap"
>
select send_id, ah_sent_no, bj_sent_no, transport,transport_name, express_no,dd_no
select send_id, ah_sent_no, bj_sent_no, transport,transport_name, express_no,dd_no
,type
from orders_sent
where push_qc = 1
</select>
...
...
@@ -45,7 +45,16 @@
</select>
<update
id=
"updatePushqcByAhSentNo"
parameterType=
"java.lang.String"
>
update orders_sent set push_qc = 0 where ah_sent_no = #{ahSentNo}
update orders_sent
set push_qc = 0
<where>
<if
test=
"sentNo.startsWith('BJHQ')"
>
bj_sent_no = #{sentNo}
</if>
<if
test=
"sentNo.startsWith('AHSD')"
>
ah_sent_no = #{sentNo}
</if>
</where>
</update>
<select
id=
"getNotReceiptSent"
resultMap=
"ordersSentResultMap"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论