1、定时清理订单
This commit is contained in:
@ -26,6 +26,25 @@ type MemberRecharge struct {
|
||||
service.Service
|
||||
}
|
||||
|
||||
func (e MemberRecharge) CleanExpiredOrder() error {
|
||||
expireTime := time.Now().Add(5 * time.Minute)
|
||||
ctx := context.Background()
|
||||
|
||||
err := e.Orm.Transaction(func(tx *gorm.DB) error {
|
||||
if err1 := tx.Model(&models.MemberRecharge{}).Where("expire_time <? and status =1", expireTime).Updates(map[string]interface{}{"status": 6, "updated_at": time.Now()}).Error; err1 != nil {
|
||||
return err1
|
||||
}
|
||||
|
||||
if err1 := receiveaddressmanager.CleanExpiredAmountLocks(ctx, redishelper.DefaultRedis.GetClient()); err1 != nil {
|
||||
return err1
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
// 获取订单状态
|
||||
func (e MemberRecharge) GetOrderStatus(req *dto.MemberRechargeGetOrderStatusReq, userId int) (int, error) {
|
||||
var data models.MemberRecharge
|
||||
|
||||
@ -15,6 +15,7 @@ func InitJob() {
|
||||
"CliProxyTrafficsJob": CliProxyJob{},
|
||||
"RenewalJob": RenewalJob{},
|
||||
"ExpireProxyJob": ExpireProxyJob{},
|
||||
"CleanExpiredOrderJob": CleanExpiredOrderJob{},
|
||||
// ...
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,3 +26,15 @@ func (j ExpireProxyJob) Exec(args interface{}) error {
|
||||
|
||||
return memberRenewalService.ExpireProxy()
|
||||
}
|
||||
|
||||
type CleanExpiredOrderJob struct{}
|
||||
|
||||
// 清理过期订单
|
||||
func (t CleanExpiredOrderJob) Exec(arg interface{}) error {
|
||||
// expireTime := time.Now().Add(5 * time.Minute)
|
||||
rechargeLogService := service.MemberRecharge{}
|
||||
rechargeLogService.Orm = GetDb()
|
||||
rechargeLogService.Log = logger.NewHelper(logger.DefaultLogger)
|
||||
|
||||
return rechargeLogService.CleanExpiredOrder()
|
||||
}
|
||||
|
||||
@ -67,3 +67,14 @@ func TestExpireJob(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCleanExpireProxy(t *testing.T) {
|
||||
initSetting()
|
||||
|
||||
job := CleanExpiredOrderJob{}
|
||||
|
||||
err := job.Exec(nil)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user