|
|
|
@ -110,6 +110,44 @@ func UpdateUser(w *ResponseWriter, r *Request) { |
|
|
|
|
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 删除用户
|
|
|
|
|