feat: 完成用户信息更新路由函数

main
熊二 2 years ago
parent 5114a32c6d
commit a48c1056c1
  1. 38
      app/rts.go

@ -110,6 +110,44 @@ func UpdateUser(w *ResponseWriter, r *Request) {
return return
} }
// 查询用户信息
var u User
err = DB.First(&u, "id = ?", id).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
err = NewError(1, "用户不存在")
}
w.Error(err)
return
}
// 用户信息未发生变化
if u.Name == user.Name && u.PhoneNumber == u.PhoneNumber && u.Password == user.Password {
w.Ok(nil, "操作成功")
return
}
// 检查手机号码是否被使用
var count int64
err = DB.Model(&User{}).Where("phone_number = ? AND id != ?", user.PhoneNumber, id).Count(&count).Error
if err != nil {
w.Error(err)
return
}
if count > 0 {
w.Error(NewError(1, "手机号码已被使用"))
return
}
// 保存用户信息
u.Name = user.Name
u.PhoneNumber = user.PhoneNumber
u.Password = user.Password
if err := DB.Save(&u).Error; err != nil {
w.Error(err)
} else {
w.Ok(nil, "操作成功")
}
} }
// DeleteUser 删除用户 // DeleteUser 删除用户

Loading…
Cancel
Save