|
|
@@ -199,11 +199,11 @@ class MenuService extends BaseService
|
|
|
if($userId == 1){
|
|
|
return true;
|
|
|
}else{
|
|
|
- $info = self::findOne(['uri' => $uri ,'status' => self::model()::STATUS_SHOW]);
|
|
|
- if($info){
|
|
|
- $menuId = $info->id;
|
|
|
+ // 同一 uri 可能挂在多个菜单下(如三个独立活动共用 admin/promotion),任一被授权即可
|
|
|
+ $menuIds = $uri === '' ? [] : self::findAll(['uri' => $uri ,'status' => self::model()::STATUS_SHOW])->pluck('id')->toArray();
|
|
|
+ if($menuIds){
|
|
|
$roleIds = RoleUserService::$MODEL::where('user_id',$userId)->pluck('role_id')->toArray();
|
|
|
- $result = RoleMenuService::$MODEL::where('menu_id', $menuId)->whereIn('role_id', $roleIds)->count();
|
|
|
+ $result = RoleMenuService::$MODEL::whereIn('menu_id', $menuIds)->whereIn('role_id', $roleIds)->count();
|
|
|
|
|
|
if($result){
|
|
|
return true;
|