diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index e358230dc..b45b80fcb 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -41,6 +41,9 @@ var ( openRemoteStoreTimeList = []string{ "23:30:00", } + updateActStatusTimeList = []string{ + "00:01:00", + } ) func Init() { @@ -63,6 +66,10 @@ func Init() { ScheduleTimerFunc(func() { act.RefreshPageActs(jxcontext.AdminCtx, []int{model.VendorIDEBAI}, time.Now().Add(-30*24*time.Hour), false) }, refreshPageActTimeList) + + ScheduleTimerFunc(func() { + dao.UpdateActStatusByTime(dao.GetDB(), time.Now()) + }, updateActStatusTimeList) } } diff --git a/business/model/dao/act.go b/business/model/dao/act.go index e0540cc3c..d833bc02e 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -335,3 +335,17 @@ func GetEffectiveActStoreSkuInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuI err = GetRows(db, &actStoreSkuList, sql, sqlParams...) return actStoreSkuList, err } + +func UpdateActStatusByTime(db *DaoDB, refTime time.Time) (num int64, err error) { + sql := ` + UPDATE act t1 + SET t1.status = ? + WHERE t1.status < ? AND t1.end_at < ?;` + sqlParams := []interface{}{ + model.ActStatusEnded, + model.ActStatusCanceled, + utils.DefaultTimeValue, + } + num, err = ExecuteSQL(db, sql, sqlParams...) + return num, err +}