longz
2026-07-28 79f1a19bb3344de47dff029cf5498d787e223782
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -144,13 +144,7 @@
         //非管理员需要根据角色和用户配置查询允许的站点数据
         //改用roleId=1来判断
         if(admin.getData()!=1){
            List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
            List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
            if(data2.size() > 0){
               List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
               data.addAll(data1);
            }
            ids = new HashSet<>(data);
            ids = getAssignedSiteIds(sysUser.getUserId());
         }
      }
      PageInfo<GetSiteListDTO> pageInfo = new PageInfo<>(siteList.getPageCurr(), siteList.getPageSize());
@@ -391,11 +385,7 @@
      }else{
         //非管理员需要根据角色和用户配置查询允许的站点数据
         if(admin.getData()!=1){
            List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
            List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
            List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
            data.addAll(data1);
            ids = new HashSet<>(data);
            ids = getAssignedSiteIds(sysUser.getUserId());
         }
      }
      PageInfo<GetSiteListDTO> pageInfo = new PageInfo<>(siteList.getPageCurr(), siteList.getPageSize());
@@ -411,6 +401,30 @@
      return pageInfo.setRecords(list);
   }
   private Set<Integer> getAssignedSiteIds(Long userId) {
      Set<Integer> siteIds = new HashSet<>();
      if (userId == null) {
         return siteIds;
      }
      R<List<Integer>> userSiteResult = userSiteClient.getSiteIds(userId);
      if (userSiteResult != null && userSiteResult.getData() != null) {
         siteIds.addAll(userSiteResult.getData());
      }
      R<List<SysUserRoleVo>> roleResult = sysUserRoleClient.getRoleByUserId(userId);
      if (roleResult != null && roleResult.getData() != null) {
         for (SysUserRoleVo role : roleResult.getData()) {
            if (role == null || role.getRoleId() == null) {
               continue;
            }
            R<List<Integer>> roleSiteResult = roleSiteClient.getSiteIds(role.getRoleId());
            if (roleSiteResult != null && roleSiteResult.getData() != null) {
               siteIds.addAll(roleSiteResult.getData());
            }
         }
      }
      return siteIds;
   }