修改角色

This commit is contained in:
wucongxing 2023-07-06 11:41:25 +08:00
parent f391667879
commit 5a5d304244
2 changed files with 16 additions and 9 deletions

View File

@ -280,7 +280,7 @@ func (r *Role) PutRole(c *gin.Context) {
}
// 业务处理
_, err = roleService.PutRole(c, roleId, roleRequest.PutRole)
_, err = roleService.PutRole(roleId, roleRequest.PutRole)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return

View File

@ -240,15 +240,22 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
}
// PutRole 修改角色
func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleRequest requests.PutRole) (bool, error) {
// 获取当前登陆用户数据
roleId := c.GetInt64("RoleId")
if roleId == 0 {
return false, errors.New("数据错误")
func (r *RoleService) PutRole(requestRoleId int64, PutRoleRequest requests.PutRole) (bool, error) {
adminRoleDao := dao.AdminRoleDao{}
AdminMenuDao := dao.AdminMenuDao{}
// 获取角色数据
adminRole, err := adminRoleDao.GetAdminRoleFirstById(requestRoleId)
if err != nil || adminRole == nil {
return false, errors.New("修改失败")
}
AdminRoleDao := dao.AdminRoleDao{}
AdminMenuDao := dao.AdminMenuDao{}
if len(PutRoleRequest.MenuIds) > 0 {
if adminRole.IsAdmin == 1 {
return false, errors.New("无法修改管理员菜单")
}
}
// 判断菜单id
for _, menuId := range PutRoleRequest.MenuIds {
@ -276,7 +283,7 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
data := make(map[string]interface{})
data["role_name"] = PutRoleRequest.RoleName
data["is_admin"] = PutRoleRequest.IsAdmin
err := AdminRoleDao.EditAdminRoleById(tx, requestRoleId, data)
err = adminRoleDao.EditAdminRoleById(tx, requestRoleId, data)
if err != nil {
tx.Rollback()
return false, errors.New("修改失败")