refactor: 修改角色权限新增/更新接口
This commit is contained in:
@@ -93,13 +93,16 @@ class Role
|
||||
if (!empty($post['menu_permission'])) {
|
||||
$permissions = [];
|
||||
foreach ($post['menu_permission'] as $menu) {
|
||||
$permissions[] = [
|
||||
'role_id' => $role->id,
|
||||
'menu_id' => $menu['menu_id'],
|
||||
'permission' => array_reduce($menu['permissions']??[], function($v1, $v2) {
|
||||
return $v1 | $v2;
|
||||
})
|
||||
];
|
||||
if (!isset($menu['permissions'])) {
|
||||
continue;
|
||||
}
|
||||
foreach ($post['permissions'] as $permission) {
|
||||
$permissions[] = [
|
||||
'role_id' => $role->id,
|
||||
'menu_id' => $menu['menu_id'],
|
||||
'permission' => $permission
|
||||
];
|
||||
}
|
||||
}
|
||||
$authority = (new SysRoleAuthorityModel)->saveAll($permissions);
|
||||
if ($authority->isEmpty()) {
|
||||
@@ -151,13 +154,16 @@ class Role
|
||||
if (!empty($put['menu_permission'])) {
|
||||
$permissions = [];
|
||||
foreach ($put['menu_permission'] as $menu) {
|
||||
$permissions[] = [
|
||||
'role_id' => $role->id,
|
||||
'menu_id' => $menu['menu_id'],
|
||||
'permission' => array_reduce($menu['permissions']??[], function($v1, $v2) {
|
||||
return $v1 | $v2;
|
||||
})
|
||||
];
|
||||
if (!isset($menu['permissions'])) {
|
||||
continue;
|
||||
}
|
||||
foreach ($menu['permissions'] as $permission) {
|
||||
$permissions[] = [
|
||||
'role_id' => $role->id,
|
||||
'menu_id' => $menu['menu_id'],
|
||||
'permission' => $permission
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
SysRoleAuthorityModel::roleId($role->id)->delete();
|
||||
|
||||
Reference in New Issue
Block a user