package task import ( "git.echol.cn/loser/lckt/global" "git.echol.cn/loser/lckt/model/app" "go.uber.org/zap" "gorm.io/gorm" "time" ) // ClearExpiredOrders 定时清理超时订单(5分钟过期) func ClearExpiredOrders(db *gorm.DB) error { global.GVA_LOG.Info("开始清理超时订单...") fiveMinutesAgo := time.Now().Add(-5 * time.Minute) result := db.Model(&app.Order{}). Where("status = 1 AND created_at < ?", fiveMinutesAgo). Updates(map[string]interface{}{"status": 3}) if result.Error != nil { global.GVA_LOG.Error("清理超时订单失败", zap.Error(result.Error)) return result.Error } global.GVA_LOG.Info("清理超时订单成功", zap.Int64("处理订单数", result.RowsAffected)) return nil }