🐛 修改定时任务相关bug

This commit is contained in:
2024-03-29 02:32:26 +08:00
parent 389d7c463f
commit b2eb4edbd5
4 changed files with 150 additions and 29 deletions

View File

@@ -1,8 +1,10 @@
package task
import (
"go.uber.org/zap"
"miniapp/global"
"miniapp/model/app"
"miniapp/model/common"
"time"
)
@@ -17,3 +19,39 @@ func CheckUserSurgeryDate() {
}
}
}
func SendMsg2User() {
WxTask.Clear()
var ut []common.UserTodo
err := global.GVA_DB.Model(&common.UserTodo{}).Find(&ut).Error
if err != nil {
global.GVA_LOG.Error("定时任务获取用户Todo列表失败", zap.Error(err))
}
for _, todo := range ut {
parse, _ := time.Parse("2006-01-02", todo.RemindDay)
if time.Now().Sub(parse).Hours()/24 == 0 {
// 创建定时任务
//WxTask := gocron.NewScheduler(time.Local)
//Send(todo.UserId, todo.Content, todo.RemindTime, todo.Frequency)
user := app.User{}
err := global.GVA_DB.Model(&app.User{}).Where("id = ?", todo.UserId).Find(&user).Error
if err != nil {
global.GVA_LOG.Error("定时任务获取用户信息失败:%s", zap.Error(err))
return
}
// 根据用户手术信息 发送提醒消息
if user.IsSurgery == 0 && todo.RemindPeriod == 0 && todo.IsFinish == 0 {
// 根据年月日时发送消息
_, err := WxTask.Every(1).Day().At(todo.RemindTime).Do(MiniappSendMsg, *user.WechatOpenId, todo.Content, todo.RemindPeriod, todo.RemindTime)
if err != nil {
global.GVA_LOG.Error("定时任务创建失败:%s", zap.Error(err))
return
}
}
}
}
}