diff --git a/service/app/user.go b/service/app/user.go index 9c1b5e4..89095d3 100644 --- a/service/app/user.go +++ b/service/app/user.go @@ -59,40 +59,38 @@ func (UserService) UpdateUserInfo(e *app.User) (err error) { return } - if e.SurgeryTime != "" { - if tUser.HospitalId != e.HospitalId { + if e.SurgeryTime != "" || e.SurgeryTime != tUser.SurgeryTime || e.HospitalId != tUser.HospitalId { - err = global.GVA_DB.Delete(&common.UserTodo{}, "user_id = ?", e.ID).Error - if err != nil { - global.GVA_LOG.Error("清除用户Todo列表失败", zap.Error(err)) - return - } - var hospital common.Hospital - err = global.GVA_DB.Where("id = ?", e.HospitalId).Preload("Todos").First(&hospital).Error - if err != nil { - global.GVA_LOG.Error("获取医院信息失败", zap.Error(err)) - return - } + err = global.GVA_DB.Delete(&common.UserTodo{}, "user_id = ?", e.ID).Error + if err != nil { + global.GVA_LOG.Error("清除用户Todo列表失败", zap.Error(err)) + return + } + var hospital common.Hospital + err = global.GVA_DB.Where("id = ?", e.HospitalId).Preload("Todos").First(&hospital).Error + if err != nil { + global.GVA_LOG.Error("获取医院信息失败", zap.Error(err)) + return + } - 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, - }) - } - } - err = global.GVA_DB.Create(&userTodos).Error - if err != nil { - global.GVA_LOG.Error("创建用户Todo列表失败", zap.Error(err)) - return + 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, + }) } } + err = global.GVA_DB.Create(&userTodos).Error + if err != nil { + global.GVA_LOG.Error("创建用户Todo列表失败", zap.Error(err)) + return + } } }