update:优化部分代码

This commit is contained in:
JaguarJack
2021-02-08 11:26:54 +08:00
parent 61ecd0629f
commit 706410480b
3 changed files with 67 additions and 63 deletions

View File

@@ -46,11 +46,12 @@ class Role extends CatchController
}
$this->role->storeBy($params);
$permissions = $params['permissions'];
if (!empty($permissions)) {
$this->role->attachPermissions(array_unique($permissions));
// 分配权限
if (count($params['permissions'])) {
$this->role->attachPermissions(array_unique($params['permissions']));
}
if (!empty($params['departments'])) {
// 分配部门
if (count($params['departments'])) {
$this->role->attachDepartments($params['departments']);
}
// 添加角色
@@ -168,24 +169,24 @@ class Role extends CatchController
{
$parentRoleHasPermissionIds = [];
if ($request->param('parent_id')) {
$permissions = $this->role->findBy($request->param('parent_id'))->getPermissions();
foreach ($permissions as $_permission) {
$parentRoleHasPermissionIds[] = $_permission->pivot->permission_id;
}
$this->role->findBy($request->param('parent_id'))
->getPermissions()
->each(function ($permission) use (&$parentRoleHasPermissionIds){
$parentRoleHasPermissionIds[] = $permission->pivot->permission_id;
});
}
$permissions = Permissions::whereIn('id', $parentRoleHasPermissionIds)->select()->toTree();
$permissionIds = [];
if ($request->param('role_id')) {
$roleHasPermissions = $this->role->findBy($request->param('role_id'))->getPermissions();
foreach ($roleHasPermissions as $_permission) {
$permissionIds[] = $_permission->pivot->permission_id;
}
$this->role->findBy($request->param('role_id'))
->getPermissions()
->each(function ($permission) use (&$roleHasPermissions){
$permissionIds[] = $permission->pivot->permission_id;
});
}
return CatchResponse::success([
'permissions' => $permissions,
'permissions' => Permissions::whereIn('id', $parentRoleHasPermissionIds)->select()->toTree(),
'hasPermissions' => $permissionIds,
]);
}