test
This commit is contained in:
parent
5e88833854
commit
7d666e8021
|
@ -371,6 +371,19 @@ func (m *ordersModel) GetTimeoutOrder(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ordersModel) GetRechargeTimeoutOrder(
|
||||||
|
limit int,
|
||||||
|
) (orders []*Orders, err error) {
|
||||||
|
orders = make([]*Orders, 0)
|
||||||
|
sql := "1=1"
|
||||||
|
var args []interface{}
|
||||||
|
sql += " and transfer_status = 2"
|
||||||
|
// sql += " and created_at <= DATE_SUB(NOW(), INTERVAL 3 MINUTE)"
|
||||||
|
sql += " and created_at <= DATE_SUB(DATE_ADD(NOW(),INTERVAL 8 HOUR), INTERVAL 7 MINUTE)"
|
||||||
|
err = m.GetDb().Where(sql, args...).OrderBy("created_at").Limit(limit).Find(&orders)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (m *ordersModel) SetOrderMobile(orders *Orders) (affected int64, err error) {
|
func (m *ordersModel) SetOrderMobile(orders *Orders) (affected int64, err error) {
|
||||||
session := m.GetDb().NewSession()
|
session := m.GetDb().NewSession()
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package transfersys
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
models "com.snow.auto_monitor/app/models/orders"
|
||||||
|
dingServ "com.snow.auto_monitor/app/services/dingding"
|
||||||
|
"github.com/qit-team/snow-core/log/logger"
|
||||||
|
)
|
||||||
|
|
||||||
|
func DoRechargeTimeout() {
|
||||||
|
fmt.Println("开始执行周期任务:DoTimeout")
|
||||||
|
|
||||||
|
// 创建一个新的Ticker,每3秒钟触发一次
|
||||||
|
ticker := time.NewTicker(3 * time.Second)
|
||||||
|
defer ticker.Stop() // 在函数结束时停止Ticker
|
||||||
|
for range ticker.C {
|
||||||
|
res, err := models.GetInstance().GetRechargeTimeoutOrder(10)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
for i := 0; i < len(res); i++ {
|
||||||
|
dingStr := fmt.Sprintf(
|
||||||
|
`
|
||||||
|
系统出现了超时7分钟的订单啦,快去后台查看!
|
||||||
|
- 异常单号: %s;
|
||||||
|
- 充值账号: %s;
|
||||||
|
`,
|
||||||
|
res[i].OutTradeNo,
|
||||||
|
res[i].RechargeAccount,
|
||||||
|
)
|
||||||
|
dingServ.DingSend("订单超时", dingStr, true)
|
||||||
|
logger.Info(context.TODO(), "order recharge timeout", "orderId: "+strconv.FormatInt(res[i].Id, 10))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
go DoRechargeTimeout()
|
||||||
|
}
|
Loading…
Reference in New Issue