Просмотр исходного кода

场景列表平台数据隔离

lyhzzz 9 месяцев назад
Родитель
Сommit
5599710126
1 измененных файлов с 40 добавлено и 10 удалено
  1. 40 10
      src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

+ 40 - 10
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -319,19 +319,27 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
         }
         if(byId.getRoleId() == 45L || byId.getRoleId() == 48L){
+            List<Long> userIds = new ArrayList<>();
             //获取本平台所有用户
-            Integer loginPlatformId = jyUserPlatformService.getLoginPlatformId();
-            if(loginPlatformId != null){
-               List<Integer> jyUserIds =  jyUserPlatformService.getUserIdsByFaltform(loginPlatformId);
-                List<JyUser> jyUsers = jyUserService.listByIds(jyUserIds);
-                List<Long> userIds = jyUsers.stream().map(JyUser::getUserId).collect(Collectors.toList());
-                param.setUserIds(userIds);
-            }else if(byId.getRoleId() == 45L){
+            if(byId.getRoleId() == 48L){
+                Integer loginPlatformId = jyUserPlatformService.getLoginPlatformId();
+                if(loginPlatformId != null) {
+                    List<Integer> jyUserIds = jyUserPlatformService.getUserIdsByFaltform(loginPlatformId);
+                    List<JyUser> jyUsers = jyUserService.listByIds(jyUserIds);
+                    userIds = jyUsers.stream().map(JyUser::getUserId).collect(Collectors.toList());
+                }
+            }
+
+            if(byId.getRoleId() == 45L){
                 //获取江门平台用户
                 List<JyUser> jyUsers =  jyUserService.getListByJm();
-                List<Long> userIds = jyUsers.stream().map(JyUser::getUserId).collect(Collectors.toList());
-                param.setUserIds(userIds);
+                userIds = jyUsers.stream().map(JyUser::getUserId).collect(Collectors.toList());
+
             }
+            if(userIds.isEmpty()){
+                return PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize()));
+            }
+            param.setUserIds(userIds);
 
         }
         Page<SceneVo> page = null;
@@ -391,7 +399,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         SysUser byId = sysUserService.getById(Long.valueOf(StpUtil.getLoginId().toString()));
         JyUser jyUser = jyUserService.getBySysId(byId.getId());
         LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
-        if(byId.getRoleId() != 1L && byId.getRoleId() !=45L){
+        if(byId.getRoleId() != 1L && byId.getRoleId() !=45L && byId.getRoleId() != 48){
             if(jyUser == null){
                 throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
             }
@@ -401,6 +409,28 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 return 1;
             }
         }
+        List<Long> userIds = new ArrayList<>();
+        if(byId.getRoleId() == 45L || byId.getRoleId() == 48L){
+            //获取本平台所有用户
+            if(byId.getRoleId() == 48L){
+                Integer loginPlatformId = jyUserPlatformService.getLoginPlatformId();
+                if(loginPlatformId != null){
+                    List<Integer> jyUserIds =  jyUserPlatformService.getUserIdsByFaltform(loginPlatformId);
+                    List<JyUser> jyUsers = jyUserService.listByIds(jyUserIds);
+                    userIds = jyUsers.stream().map(JyUser::getUserId).collect(Collectors.toList());
+                }
+            }
+            if(byId.getRoleId() == 45L){
+                //获取江门平台用户
+                List<JyUser> jyUsers =  jyUserService.getListByJm();
+                userIds = jyUsers.stream().map(JyUser::getUserId).collect(Collectors.toList());
+            }
+
+            if(userIds.isEmpty()){
+                return 0;
+            }
+            wrapper.in(ScenePlus::getUserId,userIds);
+        }
         return scenePlusService.count(wrapper);
     }