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
c0bb0fdb
提交
c0bb0fdb
authored
9月 23, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加按照订单调用旺店通接口,2、增加订单支付时间,用于统一合并订单的支付时间
上级
75fde9a9
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
114 行增加
和
16 行删除
+114
-16
WdtQimenOrderController.java
...com/sfa/job/controller/order/WdtQimenOrderController.java
+11
-0
WdtQimenOrderDetail.java
.../com/sfa/job/domain/order/entity/WdtQimenOrderDetail.java
+2
-0
WdtSalesTradeQueryQueryWithDetailVo.java
...jo/order/request/WdtSalesTradeQueryQueryWithDetailVo.java
+11
-0
SyncOrderDetailDto.java
...in/java/com/sfa/job/pojo/response/SyncOrderDetailDto.java
+1
-0
IWdtQimenOrderSyncService.java
.../com/sfa/job/service/order/IWdtQimenOrderSyncService.java
+2
-0
WdtQimenOrderSyncServiceImpl.java
.../job/service/order/impl/WdtQimenOrderSyncServiceImpl.java
+81
-12
WdtQimenOrderMapper.xml
src/main/resources/mapper/order/WdtQimenOrderMapper.xml
+6
-4
没有找到文件。
src/main/java/com/sfa/job/controller/order/WdtQimenOrderController.java
浏览文件 @
c0bb0fdb
...
...
@@ -33,5 +33,16 @@ public class WdtQimenOrderController {
SyncOrderDetailDto
syncOrderDetailDto
=
orderQimenSyncService
.
syncWdtQimenOrder
(
startTime
,
endTime
,
1
,
pageSize
);
return
syncOrderDetailDto
;
}
@GetMapping
(
"/syncByTradeNo"
)
public
Object
syncByTradeNo
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
Date
startTime
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
Date
endTime
,
@RequestParam
(
value
=
"tradeNo"
,
required
=
false
)
String
tradeNo
,
@RequestParam
(
value
=
"pageNo"
,
required
=
false
,
defaultValue
=
"1"
)
Long
pageNo
,
@RequestParam
(
value
=
"pageSize"
,
required
=
false
,
defaultValue
=
"200"
)
Long
pageSize
)
{
SyncOrderDetailDto
syncOrderDetailDto
=
orderQimenSyncService
.
syncWdtQimenOrderByTradeNo
(
startTime
,
endTime
,
1
,
tradeNo
,
pageNo
,
pageSize
);
return
syncOrderDetailDto
;
}
}
src/main/java/com/sfa/job/domain/order/entity/WdtQimenOrderDetail.java
浏览文件 @
c0bb0fdb
...
...
@@ -209,6 +209,8 @@ public class WdtQimenOrderDetail extends BaseDo {
private
String
invoiceContent
;
// 支付时间,DateTime格式,取自原始订单支付时间
private
Date
payTime
;
// 订单支付时间,DateTime格式,取自原始订单支付时间
private
Date
orderPayTime
;
// 货品简称
private
String
shortName
;
...
...
src/main/java/com/sfa/job/pojo/order/request/WdtSalesTradeQueryQueryWithDetailVo.java
浏览文件 @
c0bb0fdb
...
...
@@ -183,6 +183,17 @@ public class WdtSalesTradeQueryQueryWithDetailVo extends BaseTaobaoRequest<WdtSa
@ApiField
(
"cal_share_post_amount"
)
private
Boolean
calSharePostAmount
;
@ApiField
(
"trade_no"
)
private
String
tradeNo
;
public
String
getTradeNo
()
{
return
tradeNo
;
}
public
void
setTradeNo
(
String
tradeNo
)
{
this
.
tradeNo
=
tradeNo
;
}
public
String
getStartTime
()
{
return
startTime
;
}
...
...
src/main/java/com/sfa/job/pojo/response/SyncOrderDetailDto.java
浏览文件 @
c0bb0fdb
...
...
@@ -38,6 +38,7 @@ public class SyncOrderDetailDto {
private
String
message
;
private
Integer
code
=
200
;
public
SyncOrderDetailDto
setDetailInfo
(
String
method
,
String
remark
,
int
syncType
,
int
size
,
int
mergerListSize
,
Integer
totalCount
,
String
batchNo
,
Date
endTime
,
Date
startTime
)
{
// 接口测试使用
this
.
setOrderCount
(
size
);
...
...
src/main/java/com/sfa/job/service/order/IWdtQimenOrderSyncService.java
浏览文件 @
c0bb0fdb
...
...
@@ -7,4 +7,6 @@ import java.util.Date;
public
interface
IWdtQimenOrderSyncService
{
SyncOrderDetailDto
syncWdtQimenOrder
(
Date
startTime
,
Date
endTime
,
Integer
syncType
,
Long
pageSize
);
SyncOrderDetailDto
syncWdtQimenOrderByTradeNo
(
Date
startTime
,
Date
endTime
,
Integer
syncType
,
String
tradeNo
,
Long
pageNo
,
Long
pageSize
);
}
src/main/java/com/sfa/job/service/order/impl/WdtQimenOrderSyncServiceImpl.java
浏览文件 @
c0bb0fdb
...
...
@@ -11,7 +11,9 @@ import com.sfa.common.core.exception.ServiceException;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.job.config.WdtQimenConfig
;
import
com.sfa.job.domain.order.dao.*
;
import
com.sfa.job.domain.order.entity.*
;
import
com.sfa.job.domain.order.entity.FinanceBaseProduct
;
import
com.sfa.job.domain.order.entity.WdtQimenOrder
;
import
com.sfa.job.domain.order.entity.WdtQimenOrderDetail
;
import
com.sfa.job.pojo.order.request.WdtSalesTradeQueryQueryWithDetailVo
;
import
com.sfa.job.pojo.order.response.WdtQimenBodyDto
;
import
com.sfa.job.pojo.order.response.WdtQimenDataDto
;
...
...
@@ -21,6 +23,7 @@ import com.sfa.job.pojo.response.CollectOrderLogDto;
import
com.sfa.job.pojo.response.SyncOrderDetailDto
;
import
com.sfa.job.service.order.IWdtQimenOrderSyncService
;
import
com.sfa.job.util.WdtQimenUtil
;
import
com.taobao.api.ApiException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -59,6 +62,70 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
@Autowired
WdtQimenConfig
wdtQimenConfig
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
SyncOrderDetailDto
syncWdtQimenOrderByTradeNo
(
Date
startTime
,
Date
endTime
,
Integer
syncType
,
String
tradeNo
,
Long
pageNo
,
Long
pageSize
)
{
WdtSalesTradeQueryQueryWithDetailVo
request
=
new
WdtSalesTradeQueryQueryWithDetailVo
();
String
method
=
request
.
getApiMethodName
();
String
serverUrl
=
wdtQimenConfig
.
getServerUrl
();
String
appKey
=
wdtQimenConfig
.
getAppKey
();
String
appSecret
=
wdtQimenConfig
.
getAppSecret
();
String
wdtAppSecret
=
wdtQimenConfig
.
getWdtAppSecret
();
String
wdtSalt
=
wdtAppSecret
.
split
(
":"
)[
1
];
String
wdtSecret
=
wdtAppSecret
.
split
(
":"
)[
0
];
String
wdtAppKey
=
wdtQimenConfig
.
getWdtAppKey
();
String
targetAppSecret
=
wdtQimenConfig
.
getTargetAppSecret
();
String
wdtSid
=
wdtQimenConfig
.
getWdtSid
();
Long
totalPage
=
1L
;
Integer
totalCount
=
1
;
// 查询只到数据查询完毕
QimenCloudClient
client
=
new
DefaultQimenCloudClient
(
serverUrl
,
appKey
,
appSecret
);
WdtSalesTradeQueryQueryWithDetailVo
.
Params
params
=
new
WdtSalesTradeQueryQueryWithDetailVo
.
Params
();
params
.
setStartTime
(
DateUtil
.
formatDateTime
(
startTime
));
params
.
setEndime
(
DateUtil
.
formatDateTime
(
endTime
));
// 旺店通的页码从0开始,奇门从1开始 时间类型 1:修改时间 2:付款时间 默认1
params
.
setTimeType
(
2
);
params
.
setTradeNo
(
tradeNo
);
request
.
setParams
(
params
);
WdtSalesTradeQueryQueryWithDetailVo
.
Pager
pager
=
new
WdtSalesTradeQueryQueryWithDetailVo
.
Pager
();
pager
.
setPageNo
(
pageNo
);
pager
.
setPageSize
(
pageSize
);
request
.
setPager
(
pager
);
// 查询数据
String
dateTime
=
DateUtil
.
formatDateTime
(
new
Date
());
request
.
setDatetime
(
dateTime
);
request
.
putOtherTextParam
(
"wdt3_customer_id"
,
wdtSid
);
request
.
setTargetAppKey
(
targetAppSecret
);
request
.
setWdtAppkey
(
wdtAppKey
);
request
.
setWdtSalt
(
wdtSalt
);
request
.
setWdtSign
(
WdtQimenUtil
.
getQimenCustomWdtSign
(
request
,
wdtSecret
));
WdtSalesTradeQueryQueryWithDetailDto
response
=
null
;
try
{
response
=
client
.
execute
(
request
);
log
.
info
(
response
.
getBody
());
}
catch
(
ApiException
e
)
{
throw
new
RuntimeException
(
e
);
}
if
(
ObjectUtils
.
isNotEmpty
(
response
)
&&
response
.
getFlag
().
equals
(
"failure"
))
{
log
.
error
(
"奇门加载数据异常:"
+
response
.
getMessage
()
+
response
.
getSubMessage
()
+
URLUtil
.
decode
(
response
.
getRequestUrl
()));
throw
new
ServiceException
(
"奇门加载数据异常:"
+
response
.
getMessage
()
+
response
.
getSubMessage
());
}
// 转换返回的json字符串结果
String
body
=
response
.
getBody
();
WdtQimenBodyDto
wdtQimenBodyDto
=
JSONUtil
.
toBean
(
body
,
WdtQimenBodyDto
.
class
);
WdtQimenResponseDto
wdtQimenResponseDto
=
wdtQimenBodyDto
.
getResponse
();
SyncOrderDetailDto
detailDto
=
new
SyncOrderDetailDto
();
detailDto
.
setMethod
(
method
);
return
detailDto
;
}
/**
* 多线程调用此方法
...
...
@@ -82,7 +149,7 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
CollectOrderLogDto
collectOrderLog
=
orderLogInfoDao
.
selectOrderSyncLatest
(
syncType
,
method
);
// 调用新方法设置时间范围
detailDto
.
setupTimeRange
(
60
,
collectOrderLog
);
detailDto
.
setupTimeRange
(
60
,
collectOrderLog
);
startTime
=
detailDto
.
getStartTime
();
endTime
=
detailDto
.
getEndTime
();
...
...
@@ -106,11 +173,11 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
String
wdtSalt
=
wdtAppSecret
.
split
(
":"
)[
1
];
String
wdtSecret
=
wdtAppSecret
.
split
(
":"
)[
0
];
String
wdtAppKey
=
wdtQimenConfig
.
getWdtAppKey
();
;
String
targetAppSecret
=
wdtQimenConfig
.
getTargetAppSecret
();
;
String
wdtSid
=
wdtQimenConfig
.
getWdtSid
();
;
Long
pageNo
=
1L
;
Long
totalPage
=
1L
;
Integer
totalCount
=
1
;
...
...
@@ -139,9 +206,9 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
request
.
setWdtSign
(
WdtQimenUtil
.
getQimenCustomWdtSign
(
request
,
wdtSecret
));
WdtSalesTradeQueryQueryWithDetailDto
response
=
client
.
execute
(
request
);
if
(
ObjectUtils
.
isNotEmpty
(
response
)
&&
response
.
getFlag
().
equals
(
"failure"
))
{
log
.
error
(
"奇门加载数据异常:"
+
response
.
getMessage
()+
response
.
getSubMessage
()
+
URLUtil
.
decode
(
response
.
getRequestUrl
()));
throw
new
ServiceException
(
"奇门加载数据异常:"
+
response
.
getMessage
()+
response
.
getSubMessage
());
if
(
ObjectUtils
.
isNotEmpty
(
response
)
&&
response
.
getFlag
().
equals
(
"failure"
))
{
log
.
error
(
"奇门加载数据异常:"
+
response
.
getMessage
()
+
response
.
getSubMessage
()
+
URLUtil
.
decode
(
response
.
getRequestUrl
()));
throw
new
ServiceException
(
"奇门加载数据异常:"
+
response
.
getMessage
()
+
response
.
getSubMessage
());
}
// 转换返回的json字符串结果
String
body
=
response
.
getBody
();
...
...
@@ -150,11 +217,11 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
WdtQimenDataDto
wdtQimenDataDto
=
wdtQimenResponseDto
.
getData
();
totalCount
=
wdtQimenDataDto
.
getTotalCount
();
totalPage
=
totalCount
/
pager
.
getPageSize
()
+
1
;
totalPage
=
totalCount
/
pager
.
getPageSize
()
+
1
;
List
<
WdtQimenOrder
>
orderSubResult
=
wdtQimenDataDto
.
getOrder
();
if
(
ObjectUtils
.
isEmpty
(
orderSubResult
))
{
log
.
warn
(
"当前查询没有数据,奇门加载数据异常:"
+
response
.
getMessage
()+
response
.
getSubMessage
()
+
URLUtil
.
decode
(
response
.
getRequestUrl
()));
log
.
warn
(
"当前查询没有数据,奇门加载数据异常:"
+
response
.
getMessage
()
+
response
.
getSubMessage
()
+
URLUtil
.
decode
(
response
.
getRequestUrl
()));
// throw new ServiceException("旺店通没有查询到订单数据");
}
orderResult
.
addAll
(
orderSubResult
);
...
...
@@ -181,7 +248,7 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
order
.
setSyncType
(
syncType
);
order
.
setCreateTime
(
new
Date
());
order
.
setUpdateTime
(
new
Date
());
order
.
setCreatedDate
(
new
Date
(
Long
.
valueOf
(
order
.
getCreated
())));
order
.
setCreatedDate
(
new
Date
(
Long
.
valueOf
(
order
.
getCreated
())));
});
orderDao
.
saveOrUpdateBatch
(
orderResult
);
...
...
@@ -204,9 +271,11 @@ public class WdtQimenOrderSyncServiceImpl implements IWdtQimenOrderSyncService {
orderDetail
.
setTradeTime
(
order
.
getTradeTime
());
orderDetail
.
setBatchNo
(
batchNo
);
orderDetail
.
setTradeNo
(
order
.
getTradeNo
());
if
(
ObjectUtils
.
isEmpty
(
orderDetail
.
getPayTime
()))
{
if
(
ObjectUtils
.
isEmpty
(
orderDetail
.
getPayTime
()))
{
orderDetail
.
setPayTime
(
order
.
getPayTime
());
}
orderDetail
.
setOrderPayTime
(
order
.
getPayTime
());
// 计算分销信息
orderDetail
.
setFenxiaoNick
(
order
.
getFenxiaoNick
());
orderDetail
.
setFenxiaoId
(
orderDetail
.
getFenxiaoId
(
order
,
orderDetail
.
getTradeId
()));
...
...
src/main/resources/mapper/order/WdtQimenOrderMapper.xml
浏览文件 @
c0bb0fdb
...
...
@@ -8,7 +8,7 @@
(
#{item.tradeId}, #{item.tradeNo}, #{item.platformId}, #{item.warehouseType}, #{item.srcTids}, #{item.payAccount}, #{item.tradeStatus}, #{item.tradeType},
#{item.deliveryTerm}, #{item.receiverRing}, #{item.freezeReason}, #{item.refundStatus}, #{item.fenxiaoType}, #{item.fenxiaoNick}, #{item.tradeTime},
#{item.payTime}, #{item.consignTime}, #{item.buyerNick}, #{item.receiverName}, #{item.receiverProvince}, #{item.receiverCity}, #{item.receiverDistrict},
#{item.payTime},
#{item.orderPayTime},
#{item.consignTime}, #{item.buyerNick}, #{item.receiverName}, #{item.receiverProvince}, #{item.receiverCity}, #{item.receiverDistrict},
#{item.receiverAddress}, #{item.receiverMobile}, #{item.receiverTelno}, #{item.receiverZip}, #{item.receiverArea}, #{item.receiverDtb}, #{item.badReason},
#{item.logisticsNo}, #{item.buyerMessage}, #{item.csRemark}, #{item.remarkFlag}, #{item.printRemark}, #{item.goodsTypeCount}, #{item.goodsCount},
#{item.goodsAmount}, #{item.postAmount}, #{item.otherAmount}, #{item.discount}, #{item.receivable}, #{item.codAmount}, #{item.extCodFee}, #{item.goodsCost},
...
...
@@ -42,6 +42,7 @@
fenxiao_nick = VALUES(fenxiao_nick),
trade_time = VALUES(trade_time),
pay_time = VALUES(pay_time),
order_pay_time = VALUES(order_pay_time),
consign_time = VALUES(consign_time),
buyer_nick = VALUES(buyer_nick),
receiver_name = VALUES(receiver_name),
...
...
@@ -147,7 +148,7 @@
<sql
id=
"Order_Base_Column_List"
>
trade_id, trade_no, platform_id, warehouse_type, src_tids, pay_account, trade_status, trade_type,
delivery_term, receiver_ring, freeze_reason, refund_status, fenxiao_type, fenxiao_nick, trade_time,
pay_time, consign_time, buyer_nick, receiver_name, receiver_province, receiver_city, receiver_district,
pay_time,
order_pay_time,
consign_time, buyer_nick, receiver_name, receiver_province, receiver_city, receiver_district,
receiver_address, receiver_mobile, receiver_telno, receiver_zip, receiver_area, receiver_dtb, bad_reason,
logistics_no, buyer_message, cs_remark, remark_flag, print_remark, goods_type_count, goods_count,
goods_amount, post_amount, other_amount, discount, receivable, cod_amount, ext_cod_fee, goods_cost,
...
...
@@ -186,7 +187,7 @@
INSERT INTO wdt_qimen_order (
trade_id, trade_no, platform_id, warehouse_type, src_tids, pay_account, trade_status, trade_type,
delivery_term, receiver_ring, freeze_reason, refund_status, fenxiao_type, fenxiao_nick, trade_time,
pay_time, consign_time, buyer_nick, receiver_name, receiver_province, receiver_city, receiver_district,
pay_time,
order_pay_time,
consign_time, buyer_nick, receiver_name, receiver_province, receiver_city, receiver_district,
receiver_address, receiver_mobile, receiver_telno, receiver_zip, receiver_area, receiver_dtb, bad_reason,
logistics_no, buyer_message, cs_remark, remark_flag, print_remark, goods_type_count, goods_count,
goods_amount, post_amount, other_amount, discount, receivable, cod_amount, ext_cod_fee, goods_cost,
...
...
@@ -203,7 +204,7 @@
) VALUES (
#{tradeId}, #{tradeNo}, #{platformId}, #{warehouseType}, #{srcTids}, #{payAccount}, #{tradeStatus}, #{tradeType},
#{deliveryTerm}, #{receiverRing}, #{freezeReason}, #{refundStatus}, #{fenxiaoType}, #{fenxiaoNick}, #{tradeTime},
#{payTime}, #{consignTime}, #{buyerNick}, #{receiverName}, #{receiverProvince}, #{receiverCity}, #{receiverDistrict},
#{payTime},
#{orderPayTime},
#{consignTime}, #{buyerNick}, #{receiverName}, #{receiverProvince}, #{receiverCity}, #{receiverDistrict},
#{receiverAddress}, #{receiverMobile}, #{receiverTelno}, #{receiverZip}, #{receiverArea}, #{receiverDtb}, #{badReason},
#{logisticsNo}, #{buyerMessage}, #{csRemark}, #{remarkFlag}, #{printRemark}, #{goodsTypeCount}, #{goodsCount},
#{goodsAmount}, #{postAmount}, #{otherAmount}, #{discount}, #{receivable}, #{codAmount}, #{extCodFee}, #{goodsCost},
...
...
@@ -239,6 +240,7 @@
fenxiao_nick = #{fenxiaoNick},
trade_time = #{tradeTime},
pay_time = #{payTime},
order_pay_time = #{orderPayTime},
consign_time = #{consignTime},
buyer_nick = #{buyerNick},
receiver_name = #{receiverName},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论