修改密码接口改动
This commit is contained in:
parent
1b0ffd399a
commit
934120bb92
@ -213,15 +213,15 @@ func (r *AdminUser) PutUserPassword(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
userId := c.GetInt64("UserId")
|
||||
if userId == 0 {
|
||||
adminUserId := c.GetInt64("UserId")
|
||||
if adminUserId == 0 {
|
||||
responses.FailWithMessage("用户错误", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
userService := service.AdminUserService{}
|
||||
_, err := userService.PutUserPassword(userId, UserRequest.PutUserPassword)
|
||||
_, err := userService.PutUserPassword(adminUserId, UserRequest.PutUserPassword)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
|
||||
@ -62,4 +62,5 @@ type PutUser struct {
|
||||
type PutUserPassword struct {
|
||||
Password string `json:"password" form:"password" validate:"required" label:"原密码"`
|
||||
NewPassword string `json:"new_password" form:"new_password" validate:"required" label:"新密码"`
|
||||
UserId string `json:"user_id" form:"user_id" validate:"required" label:"用户id"`
|
||||
}
|
||||
|
||||
@ -325,11 +325,37 @@ func (r *AdminUserService) PutUser(c *gin.Context, requestUserId int64, putUserR
|
||||
}
|
||||
|
||||
// PutUserPassword 修改用户密码
|
||||
func (r *AdminUserService) PutUserPassword(requestUserId int64, putUserPasswordRequest requests.PutUserPassword) (bool, error) {
|
||||
func (r *AdminUserService) PutUserPassword(adminUserId int64, putUserPasswordRequest requests.PutUserPassword) (bool, error) {
|
||||
adminUserDao := dao.AdminUserDao{}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
userId, err := strconv.ParseInt(putUserPasswordRequest.UserId, 10, 64)
|
||||
if err != nil {
|
||||
return false, errors.New("错误")
|
||||
}
|
||||
|
||||
// 获取当前登录用户数据
|
||||
adminUser, err := adminUserDao.GetAdminUserFirstById(adminUserId)
|
||||
if err != nil || adminUser == nil {
|
||||
return false, errors.New("用户数据错误")
|
||||
}
|
||||
|
||||
// 获取登录用户角色数据
|
||||
adminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := adminRoleDao.GetAdminRoleFirstById(adminUser.RoleID)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("角色错误")
|
||||
}
|
||||
|
||||
// 非超级管理员无法修改其他用户数据
|
||||
if adminRole.IsAdmin != 1 {
|
||||
if adminUserId != userId {
|
||||
return false, errors.New("无法修改他人密码")
|
||||
}
|
||||
}
|
||||
|
||||
// 获取需修改用户数据
|
||||
adminUser, err := adminUserDao.GetAdminUserFirstById(requestUserId)
|
||||
adminUser, err = adminUserDao.GetAdminUserFirstById(userId)
|
||||
if err != nil || adminUser == nil {
|
||||
return false, errors.New("用户数据错误")
|
||||
}
|
||||
@ -387,7 +413,7 @@ func (r *AdminUserService) PutUserPassword(requestUserId int64, putUserPasswordR
|
||||
// 修改角色
|
||||
data := make(map[string]interface{})
|
||||
data["password"] = newPasswordString
|
||||
err = adminUserDao.EditAdminUserById(tx, requestUserId, data)
|
||||
err = adminUserDao.EditAdminUserById(tx, userId, data)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("修改失败")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user