🐛 fix bug

This commit is contained in:
2024-03-21 21:08:45 +08:00
parent 26220f0276
commit 433ff17755
25 changed files with 652 additions and 244 deletions

View File

@@ -10,6 +10,7 @@ import (
"miniapp/model/app/request"
"miniapp/model/app/response"
"miniapp/model/common"
"strings"
"time"
)
@@ -49,7 +50,53 @@ func (UserService) CheckUnionIdIsExist(unionId, openId string) bool {
// UpdateUserInfo 更新普通用户信息
func (UserService) UpdateUserInfo(e *app.User) (err error) {
return global.GVA_DB.Updates(&e).Error
tUser := app.User{}
err = global.GVA_DB.Where("id = ?", e.ID).First(&tUser).Error
err = global.GVA_DB.Updates(&e).Error
if err != nil {
global.GVA_LOG.Error("更新用户信息失败", zap.Error(err))
return
}
if e.SurgeryTime != "" {
if tUser.HospitalId != e.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
}
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
}
}
}
}
return err
}
// GetAverageUserList 查询普通用户列表
@@ -126,11 +173,15 @@ func (UserService) UpdateUserHospital(r *request.ChangeUserHospital) (err error)
if len(hospital.Todos) != 0 {
var userTodos []common.UserTodo
for _, todo := range hospital.Todos {
userTodos = append(userTodos, common.UserTodo{
Content: todo.Content,
UserId: r.UserId,
IsFinish: 0,
})
for _, s := range strings.Split(todo.RemindTime, ",") {
userTodos = append(userTodos, common.UserTodo{
Content: todo.Content,
UserId: r.UserId,
IsFinish: 0,
RemindTime: s,
RemindPeriod: todo.RemindPeriod,
})
}
}
err = global.GVA_DB.Create(&userTodos).Error
if err != nil {
@@ -139,9 +190,9 @@ func (UserService) UpdateUserHospital(r *request.ChangeUserHospital) (err error)
}
}
t, _ := time.Parse("2006-01-02", r.SurgeryTime)
//t, _ := time.Parse("2006-01-02", r.SurgeryTime)
err = global.GVA_DB.Table("t_user").Where("id = ?", r.UserId).Updates(app.User{IsInfo: 1, HospitalId: r.HospitalId, SurgeryTime: t}).Error
err = global.GVA_DB.Table("t_user").Where("id = ?", r.UserId).Updates(app.User{IsInfo: 1, HospitalId: r.HospitalId, SurgeryTime: r.SurgeryTime}).Error
if err != nil {
global.GVA_LOG.Error("更新用户信息失败", zap.Error(err))
return

View File

@@ -23,12 +23,48 @@ func (h HospitalService) CreateHospital(hospital *common.Hospital) (err error) {
// UpdateHospital 更新医院
func (h HospitalService) UpdateHospital(hospital *common.Hospital) (err error) {
return global.GVA_DB.Updates(&hospital).Error
for i := range hospital.Notes {
if hospital.Notes[i].NotesTime == "手术前" {
hospital.Notes[i].NotestimeNum = 1
} else if hospital.Notes[i].NotesTime == "手术中" {
hospital.Notes[i].NotestimeNum = 2
} else {
hospital.Notes[i].NotestimeNum = 3
}
}
err = global.GVA_DB.Model(&common.Notes{}).Save(&hospital.Notes).Error
if err != nil {
global.GVA_LOG.Error("更新医院注意事项失败", zap.Error(err))
return
}
err = global.GVA_DB.Model(&hospital).Association("Notes").Replace(&hospital.Notes)
if err != nil {
global.GVA_LOG.Error("更新医院注意事项失败", zap.Error(err))
return
}
err = global.GVA_DB.Model(&common.Todos{}).Save(&hospital.Todos).Error
if err != nil {
global.GVA_LOG.Error("更新医院Todo失败", zap.Error(err))
return
}
err = global.GVA_DB.Model(&hospital).Association("Todos").Replace(&hospital.Todos)
if err != nil {
global.GVA_LOG.Error("更新医院Todo关联失败", zap.Error(err))
return
}
return global.GVA_DB.Save(&hospital).Error
}
// DeleteHospital 删除医院
func (h HospitalService) DeleteHospital(hospital *common.Hospital) (err error) {
return global.GVA_DB.Select("Notes").Delete(&hospital).Error
err = global.GVA_DB.Model(&hospital).Association("Notes").Clear()
err = global.GVA_DB.Model(&hospital).Association("Todos").Clear()
if err != nil {
return err
}
return global.GVA_DB.Delete(&hospital).Error
}
// GetHospitalById 根据id获取医院