PC-202304251453\Administrator 5 月之前
父节点
当前提交
c094145daf
共有 1 个文件被更改,包括 20 次插入24 次删除
  1. 20 24
      plugin/saiadmin/basic/BaseLogic.php

+ 20 - 24
plugin/saiadmin/basic/BaseLogic.php

@@ -357,21 +357,19 @@ class BaseLogic
             }
         }
 
-        // Todo 2、 如果角色权限,超过跳过权限限制
-        $roleIds = array_column($userInfo['roleList'], 'id');
-        if (in_array(1, $roleIds)) {
-            return $data;
-        }
-
-        // Todo 3、广告数据权限
-        $userId = $userInfo['id'];
-        $deptId = $userInfo['deptList']['id'];
-        // 广告权限,自己 or 全部
-        $authAdPermission = $userInfo['ad_permission'];
-        if ($authAdPermission) {
-            if ($authAdPermission == 1) { // Todo 1、仅自己
+        // Todo 2、 如果自定义了数据权限
+        if($userInfo['data_permission']){
+            // Todo 2.1、广告数据权限
+            $userId = $userInfo['id'];
+            $deptId = $userInfo['deptList']['id'];
+            // 广告权限,自己 or 全部
+            $authAdPermission = $userInfo['ad_permission'];
+
+            // Todo 2.1.1、仅自己
+            if ($authAdPermission == 1) {
                 $data['auth_id'] = [$userId];
-            } elseif ($authAdPermission == 2) { // Todo 2、自己部门
+            } else{
+                // Todo 2.1.2、自己部门
                 $underUserIds = Db::connect('db_system')->table('sa_system_user')->where('dept_id', 'in', $deptId)->column('id');
                 if (!empty($data['auth_id'])) { // 如果传入了负责人ID,则取交集
                     $data['auth_id'] = array_values(array_intersect($data['auth_id'], array_values($underUserIds)));
@@ -379,20 +377,18 @@ class BaseLogic
                     $data['auth_id'] = array_values($underUserIds);
                 }
             }
-        }
 
-        // Todo 4、看指定游戏的自然量
-        $authNormalGameList = $userInfo['normal_game_list']; // 可看自然量的游戏
-        if($data['game_id']){
-            if($authNormalGameList=="*"){
-                $data['normal_game_id'] = $data['game_id'];
-            }elseif ($authNormalGameList!='-1') {
-                // 则取auth_normal_game_list交集
-                $data['normal_game_id'] = array_values(array_intersect(explode(',', $authNormalGameList), $data['game_id']));
+            // Todo 2.2、看指定游戏的自然量
+            $authNormalGameList = $userInfo['normal_game_list']; // 可看自然量的游戏
+            if($data['game_id'] && $authNormalGameList){
+                if($authNormalGameList=="*"){
+                    $data['normal_game_id'] = $data['game_id'];
+                }else{
+                    $data['normal_game_id'] = array_values(array_intersect(explode(',', $authNormalGameList), $data['game_id']));
+                }
             }
         }
 
-
         return $data;
     }