Skip to content

Commit 61fad9e

Browse files
committed
fix:#957
1 parent b5978ca commit 61fad9e

File tree

3 files changed

+51
-21
lines changed

3 files changed

+51
-21
lines changed

server/api/v1/system/sys_user.go

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -272,20 +272,34 @@ func (b *BaseApi) DeleteUser(c *gin.Context) {
272272
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "设置用户信息"
273273
// @Router /user/setUserInfo [put]
274274
func (b *BaseApi) SetUserInfo(c *gin.Context) {
275-
var user system.SysUser
275+
var user systemReq.ChangeUserInfo
276276
_ = c.ShouldBindJSON(&user)
277-
user.Username = ""
278-
user.Password = ""
279-
user.AuthorityId = ""
280277
if err := utils.Verify(user, utils.IdVerify); err != nil {
281278
response.FailWithMessage(err.Error(), c)
282279
return
283280
}
284-
if err, ReqUser := userService.SetUserInfo(user); err != nil {
281+
282+
if len(user.AuthorityIds) != 0 {
283+
err := userService.SetUserAuthorities(user.ID, user.AuthorityIds)
284+
if err != nil {
285+
global.GVA_LOG.Error("设置失败!", zap.Error(err))
286+
response.FailWithMessage("设置失败", c)
287+
}
288+
}
289+
290+
if err := userService.SetUserInfo(system.SysUser{
291+
GVA_MODEL: global.GVA_MODEL{
292+
ID: user.ID,
293+
},
294+
NickName: user.NickName,
295+
HeaderImg: user.HeaderImg,
296+
Phone: user.Phone,
297+
Email: user.Email,
298+
}); err != nil {
285299
global.GVA_LOG.Error("设置失败!", zap.Error(err))
286300
response.FailWithMessage("设置失败", c)
287301
} else {
288-
response.OkWithDetailed(gin.H{"userInfo": ReqUser}, "设置成功", c)
302+
response.OkWithMessage("设置成功", c)
289303
}
290304
}
291305

@@ -298,17 +312,22 @@ func (b *BaseApi) SetUserInfo(c *gin.Context) {
298312
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "设置用户信息"
299313
// @Router /user/SetSelfInfo [put]
300314
func (b *BaseApi) SetSelfInfo(c *gin.Context) {
301-
var user system.SysUser
315+
var user systemReq.ChangeUserInfo
302316
_ = c.ShouldBindJSON(&user)
303-
user.Username = ""
304-
user.Password = ""
305-
user.AuthorityId = ""
306317
user.ID = utils.GetUserID(c)
307-
if err, ReqUser := userService.SetUserInfo(user); err != nil {
318+
if err := userService.SetUserInfo(system.SysUser{
319+
GVA_MODEL: global.GVA_MODEL{
320+
ID: user.ID,
321+
},
322+
NickName: user.NickName,
323+
HeaderImg: user.HeaderImg,
324+
Phone: user.Phone,
325+
Email: user.Email,
326+
}); err != nil {
308327
global.GVA_LOG.Error("设置失败!", zap.Error(err))
309328
response.FailWithMessage("设置失败", c)
310329
} else {
311-
response.OkWithDetailed(gin.H{"userInfo": ReqUser}, "设置成功", c)
330+
response.OkWithMessage("设置成功", c)
312331
}
313332
}
314333

server/model/system/request/sys_user.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package request
22

3+
import model "github.com/flipped-aurora/gin-vue-admin/server/model/system"
4+
35
// User register structure
46
type Register struct {
57
Username string `json:"userName"`
@@ -35,3 +37,13 @@ type SetUserAuthorities struct {
3537
ID uint
3638
AuthorityIds []string `json:"authorityIds"` // 角色ID
3739
}
40+
41+
type ChangeUserInfo struct {
42+
ID uint `gorm:"primarykey"` // 主键ID
43+
NickName string `json:"nickName" gorm:"default:系统用户;comment:用户昵称"` // 用户昵称
44+
Phone string `json:"phone" gorm:"comment:用户手机号"` // 用户角色ID
45+
AuthorityIds []string `json:"authorityIds" gorm:"-"` // 角色ID
46+
Email string `json:"email" gorm:"comment:用户邮箱"` // 用户邮箱
47+
HeaderImg string `json:"headerImg" gorm:"default:https://qmplusimg.henrongyi.top/gva_header.jpg;comment:用户头像"` // 用户头像
48+
Authorities []model.SysAuthority `json:"-" gorm:"many2many:sys_user_authority;"`
49+
}

server/service/system/sys_user.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ func (userService *UserService) Login(u *system.SysUser) (err error, userInter *
4646
var user system.SysUser
4747
u.Password = utils.MD5V([]byte(u.Password))
4848
err = global.GVA_DB.Where("username = ? AND password = ?", u.Username, u.Password).Preload("Authorities").Preload("Authority").First(&user).Error
49-
if err == nil{
49+
if err == nil {
5050
var am system.SysMenu
51-
ferr := global.GVA_DB.First(&am,"name = ? AND authority_id = ?",user.Authority.DefaultRouter,user.AuthorityId).Error
52-
if errors.Is(ferr,gorm.ErrRecordNotFound) {
51+
ferr := global.GVA_DB.First(&am, "name = ? AND authority_id = ?", user.Authority.DefaultRouter, user.AuthorityId).Error
52+
if errors.Is(ferr, gorm.ErrRecordNotFound) {
5353
user.Authority.DefaultRouter = "404"
5454
}
5555
}
@@ -156,9 +156,8 @@ func (userService *UserService) DeleteUser(id int) (err error) {
156156
//@param: reqUser model.SysUser
157157
//@return: err error, user model.SysUser
158158

159-
func (userService *UserService) SetUserInfo(reqUser system.SysUser) (err error, user system.SysUser) {
160-
err = global.GVA_DB.Updates(&reqUser).Error
161-
return err, reqUser
159+
func (userService *UserService) SetUserInfo(req system.SysUser) error {
160+
return global.GVA_DB.Updates(&req).Error
162161
}
163162

164163
//@author: [piexlmax](https://github.com/piexlmax)
@@ -170,12 +169,12 @@ func (userService *UserService) SetUserInfo(reqUser system.SysUser) (err error,
170169
func (userService *UserService) GetUserInfo(uuid uuid.UUID) (err error, user system.SysUser) {
171170
var reqUser system.SysUser
172171
err = global.GVA_DB.Preload("Authorities").Preload("Authority").First(&reqUser, "uuid = ?", uuid).Error
173-
if err!=nil{
172+
if err != nil {
174173
return err, reqUser
175174
}
176175
var am system.SysMenu
177-
ferr := global.GVA_DB.First(&am,"name = ? AND authority_id = ?",reqUser.Authority.DefaultRouter,reqUser.AuthorityId).Error
178-
if errors.Is(ferr,gorm.ErrRecordNotFound) {
176+
ferr := global.GVA_DB.First(&am, "name = ? AND authority_id = ?", reqUser.Authority.DefaultRouter, reqUser.AuthorityId).Error
177+
if errors.Is(ferr, gorm.ErrRecordNotFound) {
179178
reqUser.Authority.DefaultRouter = "404"
180179
}
181180
return err, reqUser

0 commit comments

Comments
 (0)