Skip to content

Commit e6366a9

Browse files
authored
1 parent 2327b9e commit e6366a9

File tree

8 files changed

+59
-29
lines changed

8 files changed

+59
-29
lines changed

server/api/v1/system/sys_user.go

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func (b *BaseApi) tokenNext(c *gin.Context, user system.SysUser) {
105105
// @Produce application/json
106106
// @Param data body systemReq.Register true "用户名, 昵称, 密码, 角色ID"
107107
// @Success 200 {object} response.Response{data=systemRes.SysUserResponse,msg=string} "用户注册账号,返回包括用户信息"
108-
// @Router /user/register [post]
108+
// @Router /user/admin_register [post]
109109
func (b *BaseApi) Register(c *gin.Context) {
110110
var r systemReq.Register
111111
_ = c.ShouldBindJSON(&r)
@@ -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_casbin.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func DefaultCasbin() []CasbinInfo {
1717
{Path: "/menu/getMenu", Method: "POST"},
1818
{Path: "/jwt/jsonInBlacklist", Method: "POST"},
1919
{Path: "/base/login", Method: "POST"},
20-
{Path: "/user/register", Method: "POST"},
20+
{Path: "/user/admin_register", Method: "POST"},
2121
{Path: "/user/changePassword", Method: "POST"},
2222
{Path: "/user/setUserAuthority", Method: "POST"},
2323
{Path: "/user/setUserInfo", Method: "PUT"},

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/router/system/sys_user.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ func (s *UserRouter) InitUserRouter(Router *gin.RouterGroup) {
1313
userRouterWithoutRecord := Router.Group("user")
1414
baseApi := v1.ApiGroupApp.SystemApiGroup.BaseApi
1515
{
16-
userRouter.POST("register", baseApi.Register) // 用户注册账号
16+
userRouter.POST("admin_register", baseApi.Register) // 管理员注册账号
1717
userRouter.POST("changePassword", baseApi.ChangePassword) // 用户修改密码
1818
userRouter.POST("setUserAuthority", baseApi.SetUserAuthority) // 设置用户权限
1919
userRouter.DELETE("deleteUser", baseApi.DeleteUser) // 删除用户

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

server/source/system/api.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func (a *api) Initialize() error {
2222
{ApiGroup: "jwt", Method: "POST", Path: "/jwt/jsonInBlacklist", Description: "jwt加入黑名单(退出,必选)"},
2323

2424
{ApiGroup: "系统用户", Method: "DELETE", Path: "/user/deleteUser", Description: "删除用户"},
25-
{ApiGroup: "系统用户", Method: "POST", Path: "/user/register", Description: "用户注册"},
25+
{ApiGroup: "系统用户", Method: "POST", Path: "/user/admin_register", Description: "用户注册"},
2626
{ApiGroup: "系统用户", Method: "POST", Path: "/user/getUserList", Description: "获取用户列表"},
2727
{ApiGroup: "系统用户", Method: "PUT", Path: "/user/setUserInfo", Description: "设置用户信息"},
2828
{ApiGroup: "系统用户", Method: "PUT", Path: "/user/setSelfInfo", Description: "设置自身信息(必选)"},

server/source/system/casbin.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func (c *casbin) TableName() string {
1919
func (c *casbin) Initialize() error {
2020
entities := []adapter.CasbinRule{
2121
{PType: "p", V0: "888", V1: "/base/login", V2: "POST"},
22-
{PType: "p", V0: "888", V1: "/user/register", V2: "POST"},
22+
{PType: "p", V0: "888", V1: "/user/admin_register", V2: "POST"},
2323

2424
{PType: "p", V0: "888", V1: "/api/createApi", V2: "POST"},
2525
{PType: "p", V0: "888", V1: "/api/getApiList", V2: "POST"},
@@ -125,7 +125,7 @@ func (c *casbin) Initialize() error {
125125
{PType: "p", V0: "888", V1: "/authorityBtn/canRemoveAuthorityBtn", V2: "POST"},
126126

127127
{PType: "p", V0: "8881", V1: "/base/login", V2: "POST"},
128-
{PType: "p", V0: "8881", V1: "/user/register", V2: "POST"},
128+
{PType: "p", V0: "8881", V1: "/user/admin_register", V2: "POST"},
129129
{PType: "p", V0: "8881", V1: "/api/createApi", V2: "POST"},
130130
{PType: "p", V0: "8881", V1: "/api/getApiList", V2: "POST"},
131131
{PType: "p", V0: "8881", V1: "/api/getApiById", V2: "POST"},
@@ -164,7 +164,7 @@ func (c *casbin) Initialize() error {
164164
{PType: "p", V0: "8881", V1: "/user/getUserInfo", V2: "GET"},
165165

166166
{PType: "p", V0: "9528", V1: "/base/login", V2: "POST"},
167-
{PType: "p", V0: "9528", V1: "/user/register", V2: "POST"},
167+
{PType: "p", V0: "9528", V1: "/user/admin_register", V2: "POST"},
168168
{PType: "p", V0: "9528", V1: "/api/createApi", V2: "POST"},
169169
{PType: "p", V0: "9528", V1: "/api/getApiList", V2: "POST"},
170170
{PType: "p", V0: "9528", V1: "/api/getApiById", V2: "POST"},

web/src/api/user.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const captcha = (data) => {
2929
// @Router /base/resige [post]
3030
export const register = (data) => {
3131
return service({
32-
url: '/user/register',
32+
url: '/user/admin_register',
3333
method: 'post',
3434
data: data
3535
})

0 commit comments

Comments
 (0)