修改角色

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 { if err != nil {
responses.FailWithMessage(err.Error(), c) responses.FailWithMessage(err.Error(), c)
return return

View File

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