feat(payment): 交易订单定时同步任务(分层窗口扫描+ShedLock分布式锁)

- TradeSyncJob 分层窗口扫描: 支付PROCESSING(4窗口)/CLOSE纠正/退款PROGRESS(4窗口), 越新查越勤, 超7天淘汰
- TradeSyncService 跨租户引导读(runAs装载mchNo)后委托租户内同步, 共享 payment:trade:{id} 锁与关单互斥
- PayTradeManager.findSyncTrades / RefundOrderManager.findProgressRefunds+findByRefundNoNotTenant 跨租户扫描(单次上限500)
- PaySyncService 增 syncByContainer 容器视角同步入口(admin/merchant复用)
- 引入 ShedLock(6.3.1) + ShedLockConfiguration(Redis), @SchedulerLock 防多节点重复执行
- application-prod.yml 增 trade-sync-enabled 开关(默认true)
This commit is contained in:
daxpay
2026-08-02 10:44:39 +08:00
parent e27748840f
commit 647565e7e2
9 changed files with 332 additions and 0 deletions

View File

@@ -50,6 +50,7 @@
<mybatis-plus.version>3.5.16</mybatis-plus.version>
<mybatis-plus-join.version>1.5.7</mybatis-plus-join.version>
<lock4j.version>2.2.7</lock4j.version>
<shedlock.version>6.3.1</shedlock.version>
<aws-sdk.version>2.46.15</aws-sdk.version>
<sa-token.version>1.45.0</sa-token.version>
<caffeine.version>3.2.4</caffeine.version>