🐛 修改定时任务相关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

@@ -10,6 +10,7 @@ import (
"miniapp/model/app/request"
"miniapp/model/app/response"
"miniapp/model/common"
"strconv"
"strings"
"time"
)
@@ -76,15 +77,56 @@ func (UserService) UpdateUserInfo(e *app.User) (err error) {
if len(hospital.Todos) != 0 {
var userTodos []common.UserTodo
for _, todo := range hospital.Todos {
for _, s := range strings.Split(todo.RemindTime, ",") {
userTodos = append(userTodos, common.UserTodo{
Content: todo.Content,
UserId: int(e.ID),
IsFinish: 0,
RemindTime: s,
RemindPeriod: todo.RemindPeriod,
})
//手术时间
parse, _ := time.Parse("2006-01-02", e.SurgeryTime)
//提醒时间
split := strings.Split(todo.RemindDay, "-")
a1, _ := strconv.Atoi(split[0])
a2, _ := strconv.Atoi(split[1])
//手术前
if todo.RemindPeriod == 0 {
t1 := parse.AddDate(0, 0, -a1)
t2 := parse.AddDate(0, 0, -a2)
days := t1.Sub(t2).Hours() / 24
for i := int(-days); i <= 0; i++ {
for _, s := range strings.Split(todo.RemindTime, ",") {
userTodos = append(userTodos, common.UserTodo{
Content: todo.Content,
UserId: int(e.ID),
IsFinish: 0,
RemindTime: s,
Frequency: todo.Frequency,
RemindPeriod: todo.RemindPeriod,
RemindDay: t1.AddDate(0, 0, i).Format("2006-01-02"),
})
}
}
}
//手术后
if todo.RemindPeriod == 1 {
{
t1 := parse.AddDate(0, 0, a1)
t2 := parse.AddDate(0, 0, a2)
days := t1.Sub(t2).Hours() / 24
for i := 0; i <= int(days*-1); i++ {
for _, s := range strings.Split(todo.RemindTime, ",") {
userTodos = append(userTodos, common.UserTodo{
Content: todo.Content,
UserId: int(e.ID),
IsFinish: 0,
RemindTime: s,
Frequency: todo.Frequency,
RemindPeriod: todo.RemindPeriod,
RemindDay: t1.AddDate(0, 0, i).Format("2006-01-02"),
})
}
}
}
}
}
err = global.GVA_DB.Create(&userTodos).Error
if err != nil {
@@ -92,6 +134,7 @@ func (UserService) UpdateUserInfo(e *app.User) (err error) {
return
}
}
}
return err