feat(v2): crypto 孤儿到账发现——OrphanScanner 扫链核对 + orphan_payments 落表告警(对账兜底)
This commit is contained in:
@@ -62,8 +62,8 @@ func main() {
|
||||
router.SetupV2(r, gw)
|
||||
|
||||
// P6 后台守护 / 对账:订单过期清理 + 用量刷新 + 查单对账收敛 + 已付抽查 +
|
||||
// 退款修复扫描/卡滞告警(P4 T3 review 追加义务,归到本任务一起装配)。
|
||||
// crypto 预留冷启动 Warm + 孤儿扫描留给 Task 6 追加(AddCryptoJobs)。
|
||||
// 退款修复扫描/卡滞告警(P4 T3 review 追加义务,归到本任务一起装配)+
|
||||
// crypto 预留冷启动 Warm + 孤儿扫描(Task 6,AddCryptoJobs)。
|
||||
if config.C.Reconcile.Enabled {
|
||||
rc := config.C.Reconcile
|
||||
refundStore := store.NewRefundStore(db)
|
||||
@@ -80,12 +80,13 @@ func main() {
|
||||
reconcile.RefundApplyTask(orderStore, refundStore, 200))
|
||||
runner.Add("refund-stuck-alert", time.Duration(rc.RefundApplyEverySec)*time.Second,
|
||||
reconcile.RefundStuckAlertTask(refundStore, time.Duration(rc.RefundStuckWarnMin)*time.Minute, time.Now))
|
||||
// crypto 孤儿扫描(Task 6)在此追加:reconcile.AddCryptoJobs(runner, pReg, acctReg, orderStore, rc)
|
||||
orphanStore := store.NewOrphanStore(db)
|
||||
reconcile.AddCryptoJobs(runner, pReg, acctReg, orderStore, orphanStore, rc) // crypto 预留冷启动 Warm + 孤儿扫描(Task 6)
|
||||
|
||||
ctx := context.Background()
|
||||
runner.RunOnce(ctx) // 启动预热:先跑一遍(usage 快照/过期清理/退款自愈立即生效)
|
||||
runner.RunOnce(ctx) // 启动预热:先跑一遍(usage 快照/过期清理/退款自愈/crypto Warm 立即生效)
|
||||
runner.Start(ctx)
|
||||
log.Printf("[reconcile] 后台守护已启动(过期清理/用量刷新/查单对账/已付抽查/退款修复扫描/退款卡滞告警)")
|
||||
log.Printf("[reconcile] 后台守护已启动(过期清理/用量刷新/查单对账/已付抽查/退款修复扫描/退款卡滞告警/crypto 孤儿扫描)")
|
||||
}
|
||||
|
||||
if config.C.QuerySync.Enabled {
|
||||
@@ -150,7 +151,7 @@ func autoMigrate(db *gorm.DB) {
|
||||
&model.Order{},
|
||||
&model.NotifyLog{},
|
||||
&model.BizNotifyLog{},
|
||||
&model.OrderV2{}, &model.Attempt{}, &model.Account{}, &model.Refund{}, &model.WebhookDelivery{}, // v2
|
||||
&model.OrderV2{}, &model.Attempt{}, &model.Account{}, &model.Refund{}, &model.WebhookDelivery{}, &model.OrphanPayment{}, // v2
|
||||
); err != nil {
|
||||
log.Fatalf("自动迁移失败: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user