|
|
@@ -342,11 +342,6 @@ class BaseLogic
|
|
|
|
|
|
$userAuthCache = new UserInfoCache(getCurrentInfo()['id']);
|
|
|
$userInfo = $userAuthCache->getUserInfo();
|
|
|
- // Todo 如果角色权限,超过跳过权限限制
|
|
|
- $roleIds = array_column($userInfo['roleList'], 'id');
|
|
|
- if (in_array(1, $roleIds)) {
|
|
|
- return $data;
|
|
|
- }
|
|
|
|
|
|
// Todo 1、游戏权限
|
|
|
$authGameList = $userInfo['deptList']['game_list'];
|
|
|
@@ -362,15 +357,19 @@ class BaseLogic
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // Todo 2、广告数据权限
|
|
|
- $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)));
|
|
|
@@ -378,14 +377,16 @@ class BaseLogic
|
|
|
$data['auth_id'] = array_values($underUserIds);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
-
|
|
|
- // 看指定游戏的自然量
|
|
|
- $authNormalGameList = $userInfo['normal_game_list']; // 可看自然量的游戏
|
|
|
- if ($authNormalGameList != '*' && $authNormalGameList != '-1' && !empty($data['game_id'])) {
|
|
|
- // 则取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;
|