fix(内部): 修复偷卡逻辑并添加订单关联

- 在创建失败订单时添加 IsReplace 字段
- 实现订单关联失败时的错误处理逻辑
- 添加延迟订单处理功能
- 优化偷卡规则常量命名
This commit is contained in:
danial
2025-03-26 02:00:57 +08:00
parent 7ff2cfbeaf
commit 8a661e4eb6
3 changed files with 9 additions and 7 deletions

View File

@@ -11,9 +11,9 @@ const (
type StealRuleType int
const (
// StealRuleTypeStealBlank 规则1延迟
// StealRuleTypeStealBlank 规则1空白
StealRuleTypeStealBlank StealRuleType = 1
// StealRuleTypeStealDelay 规则2创建空白订单
// StealRuleTypeStealDelay 规则2延迟订单
StealRuleTypeStealDelay StealRuleType = 2
// StealRuleTypeStealRandom 规则3随机
StealRuleTypeStealRandom StealRuleType = 3

View File

@@ -178,11 +178,12 @@ func (c *ScanController) Scan() {
otelTrace.Logger.WithContext(ctx).Error("添加订单关联失败【偷卡2】", zap.Error(err2))
}
//错误订单回调上游
//oldBankOrderId := orderInfo.BankOrderId
//delayPool.Go(func() {
// time.Sleep(time.Duration(delayDuration) * time.Second)
// service.SolvePayFail(oldBankOrderId, orderInfo.BankTransId, hiddenCfg.ExtraReturnInfo)
//})
oldBankOrderId := orderInfo.BankOrderId
delayPool.Go(func() {
ctx2, span := otelTrace.NewSchedulerTrace().Start(ctx, "Span", trace.WithNewRoot())
defer span.End()
service.SolvePayFail(ctx2, oldBankOrderId, orderInfo.BankTransId, hiddenCfg.ExtraReturnInfo)
})
orderInfo.BankOrderId = newBankOrderId
}
//2.新的错误记录

View File

@@ -122,6 +122,7 @@ func CreateHiddenBlankOrder(ctx context.Context, orderInfo *order.OrderInfo, dur
// 创建一个新的失败订单
newOrderInfo.ExValue = "{}"
newOrderInfo.Id = 0
newOrderInfo.IsReplace = -1
order.InsertOrder(ctx, newOrderInfo)
// 去掉现有订单的关联数据
return