🎨 新增清理机器人和定时设置免费定时任务
This commit is contained in:
@@ -58,5 +58,38 @@ func Timer() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("add timer error:", err)
|
fmt.Println("add timer error:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 定时检查讲师VIP是否过期
|
||||||
|
_, err = global.GVA_Timer.AddTaskByFunc("CheckTeacherVip", "0 0/5 * * * ?", func() {
|
||||||
|
err5 := task.CheckTeacherVip(global.GVA_DB)
|
||||||
|
if err5 != nil {
|
||||||
|
fmt.Println("清理过期讲师VIP定时任务失败:", err5)
|
||||||
|
}
|
||||||
|
}, "定时清理过期讲师VIP日志内容:", option...)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("add timer error:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理机器人
|
||||||
|
_, err = global.GVA_Timer.AddTaskByFunc("ClearBot", "0 0 22 * * ?", func() {
|
||||||
|
err6 := task.ClearBot(global.GVA_DB)
|
||||||
|
if err6 != nil {
|
||||||
|
fmt.Println("清理机器人定时任务失败:", err6)
|
||||||
|
}
|
||||||
|
}, "定时清理机器人日志内容:", option...)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("add timer error:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 每天21:20 将所有文章设为免费
|
||||||
|
_, err = global.GVA_Timer.AddTaskByFunc("SetArticleFree", "0 20 21 * * ?", func() {
|
||||||
|
err7 := task.SetArticleFree(global.GVA_DB)
|
||||||
|
if err7 != nil {
|
||||||
|
fmt.Println("将文章设为免费定时任务失败:", err7)
|
||||||
|
}
|
||||||
|
}, "将所有文章设为免费", option...)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("add timer error:", err)
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|||||||
24
task/checkTeacherVip.go
Normal file
24
task/checkTeacherVip.go
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.echol.cn/loser/lckt/global"
|
||||||
|
"git.echol.cn/loser/lckt/model/app"
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
// CheckTeacherVip 检查讲师VIP是否过期
|
||||||
|
func CheckTeacherVip(db *gorm.DB) error {
|
||||||
|
global.GVA_LOG.Info("开始检查用户讲师包月是否过期...")
|
||||||
|
var userTeacherVips []app.UserTeacherVip
|
||||||
|
// 根据当前时间和expire_at对比 查看是否到过期时间
|
||||||
|
db.Where("expire_at < ? AND is_expire = 1", gorm.Expr("NOW()")).Find(&userTeacherVips)
|
||||||
|
for _, u := range userTeacherVips {
|
||||||
|
u.IsExpire = 2
|
||||||
|
err := db.Save(&u).Error
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
global.GVA_LOG.Info("检查用户讲师包月是否过期完成...")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
14
task/clearBot.go
Normal file
14
task/clearBot.go
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ClearBot 清理机器人消息
|
||||||
|
func ClearBot(db *gorm.DB) error {
|
||||||
|
// 删除所有机器人
|
||||||
|
if err := db.Exec("TRUNCATE TABLE bots").Error; err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
8
task/setArticleFree.go
Normal file
8
task/setArticleFree.go
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
package task
|
||||||
|
|
||||||
|
import "gorm.io/gorm"
|
||||||
|
|
||||||
|
// SetArticleFree 定时将到期的付费文章设置为免费
|
||||||
|
func SetArticleFree(db *gorm.DB) error {
|
||||||
|
return db.Exec("UPDATE `article` SET is_free = 1, price = 0 WHERE is_free = 0 AND `status` = 1").Error
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user