From 5a49466f0d08cd2f00dbfa9502ea364595f3688c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=BB=B4=E4=BC=9F?= Date: Wed, 13 Sep 2023 16:45:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=9D=83=E9=99=90=E9=9B=86?= =?UTF-8?q?=E4=BD=9C=E7=94=A8=E8=8C=83=E5=9B=B4=E7=AD=9B=E9=80=89=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/SaasPermissionGroupScopeApi.java | 2 +- .../service/impl/PermissionGroupImpl.java | 50 +++++++++---------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupScopeApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupScopeApi.java index 09c48e37..df318a73 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupScopeApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/SaasPermissionGroupScopeApi.java @@ -3,7 +3,7 @@ package cn.axzo.tyr.client.feign; import org.springframework.cloud.openfeign.FeignClient; /** - * 权限集作用范围 TODO + * 权限集作用范围 */ @FeignClient(name = "tyr", url = "${axzo.service.tyr:http://tyr:8080/api/saasPermissionGroup}") public interface SaasPermissionGroupScopeApi { diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java index a1a132d1..8f0781f7 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionGroupImpl.java @@ -106,21 +106,20 @@ public class PermissionGroupImpl implements PermissionGroupService { .list(); // 过滤权限集作用范围 List saasPermissionGroupScopes = saasPermissionGroupScopesSource.stream().filter(e -> { + List workspaceIdWithOutCommon = req.getWorkspaceId().stream().filter(workspaceId -> !workspaceId.equals(-1l)).collect(Collectors.toList()); + List ouIdWithOutCommon = req.getOuId().stream().filter(ouId -> !ouId.equals(-1l)).collect(Collectors.toList()); // 过滤出选中的工作台 - if (CollectionUtils.isNotEmpty(req.getWorkspaceId()) - && PermissionScopeType.WORKSPACE.getCode().equals(e.getScopeType()) - && req.getWorkspaceId().contains(e.getScopeId())) { - req.getWorkspaceId().contains(e.getScopeId()); - return true; + if (PermissionScopeType.WORKSPACE.getCode().equals(e.getScopeType())) { + if (CollectionUtils.isNotEmpty(workspaceIdWithOutCommon) && ! workspaceIdWithOutCommon.contains(e.getScopeId())) { + return false; + } + }else { + // 过滤出选中的单位 + if (CollectionUtils.isNotEmpty(ouIdWithOutCommon) && ! ouIdWithOutCommon.contains(e.getScopeId())) { + return false; + } } - // 过滤出选中的单位 - if (CollectionUtils.isNotEmpty(req.getOuId()) - && PermissionScopeType.OU.getCode().equals(e.getScopeType()) - && req.getOuId().contains(e.getScopeId())) { - req.getWorkspaceId().contains(e.getScopeId()); - return true; - } - return false; + return true; }).collect(Collectors.toList()); // 组装填充字段 List finalFeature = feature; @@ -192,21 +191,20 @@ public class PermissionGroupImpl implements PermissionGroupService { .list(); // 过滤权限集作用范围 List saasPermissionGroupScopes = saasPermissionGroupScopesSource.stream().filter(e -> { + List workspaceIdWithOutCommon = req.getWorkspaceId().stream().filter(workspaceId -> !workspaceId.equals(-1l)).collect(Collectors.toList()); + List ouIdWithOutCommon = req.getOuId().stream().filter(ouId -> !ouId.equals(-1l)).collect(Collectors.toList()); // 过滤出选中的工作台 - if (CollectionUtils.isNotEmpty(req.getWorkspaceId()) - && PermissionScopeType.WORKSPACE.getCode().equals(e.getScopeType()) - && req.getWorkspaceId().contains(e.getScopeId())) { - req.getWorkspaceId().contains(e.getScopeId()); - return true; + if (PermissionScopeType.WORKSPACE.getCode().equals(e.getScopeType())) { + if (CollectionUtils.isNotEmpty(workspaceIdWithOutCommon) && ! workspaceIdWithOutCommon.contains(e.getScopeId())) { + return false; + } + }else { + // 过滤出选中的单位 + if (CollectionUtils.isNotEmpty(ouIdWithOutCommon) && ! ouIdWithOutCommon.contains(e.getScopeId())) { + return false; + } } - // 过滤出选中的单位 - if (CollectionUtils.isNotEmpty(req.getOuId()) - && PermissionScopeType.OU.getCode().equals(e.getScopeType()) - && req.getOuId().contains(e.getScopeId())) { - req.getWorkspaceId().contains(e.getScopeId()); - return true; - } - return false; + return true; }).collect(Collectors.toList()); // 组装填充字段 List finalFeature = feature;