feat: (feature/REQ-2595) 修改权限查询支持tags过滤

This commit is contained in:
lilong 2024-11-04 20:16:31 +08:00
parent 0e3aa801fa
commit 62313202f7
2 changed files with 5 additions and 9 deletions

View File

@ -772,7 +772,7 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
assembleTag(treePermissionReq); assembleTag(treePermissionReq);
List<SaasRoleUserV2DTO> saasRoleUsers = listUserPermission(treePermissionReq); List<SaasRoleUserV2DTO> saasRoleUsers = listUserRole(treePermissionReq);
if (CollectionUtils.isEmpty(saasRoleUsers)) { if (CollectionUtils.isEmpty(saasRoleUsers)) {
return Collections.emptySet(); return Collections.emptySet();
} }
@ -818,7 +818,7 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
return workspaceProductService.listWorkspaceProductFeatureResourceCached(listWorkspaceProductFeatureSourceCacheParam); return workspaceProductService.listWorkspaceProductFeatureResourceCached(listWorkspaceProductFeatureSourceCacheParam);
} }
private List<SaasRoleUserV2DTO> listUserPermission(TreePermissionReq treePermissionReq) { private List<SaasRoleUserV2DTO> listUserRole(TreePermissionReq treePermissionReq) {
List<ListRoleUserRelationParam.WorkspaceOuPair> workspaceOuPairs = treePermissionReq.getWorkspaceOUPairs().stream() List<ListRoleUserRelationParam.WorkspaceOuPair> workspaceOuPairs = treePermissionReq.getWorkspaceOUPairs().stream()
.map(e -> ListRoleUserRelationParam.WorkspaceOuPair.builder() .map(e -> ListRoleUserRelationParam.WorkspaceOuPair.builder()
.workspaceId(e.getWorkspaceId()) .workspaceId(e.getWorkspaceId())
@ -906,7 +906,9 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
return true; return true;
} }
if (Sets.intersection(workspaceOUPair.getTags(), e.getTags()).isEmpty()) { Set<RolePermissionTagEnum> rolePermissionTags = Optional.ofNullable(e.getTags())
.orElseGet(() -> Sets.newHashSet(RolePermissionTagEnum.JOINED));
if (Sets.intersection(workspaceOUPair.getTags(), rolePermissionTags).isEmpty()) {
return false; return false;
} }

View File

@ -555,12 +555,6 @@ public class TyrSaasAuthServiceImpl implements TyrSaasAuthService {
return Collections.emptySet(); return Collections.emptySet();
} }
RolePermissionCacheService.ListRolePermissionParam listRolePermissionParam = RolePermissionCacheService.ListRolePermissionParam.builder()
.roleIds(adminRoles.stream().map(SaasRoleRes::getId).collect(Collectors.toSet()))
.featureCodes(productPermissions.stream()
.map(ProductPermissionCacheService.PermissionDTO::getFeatureCode)
.collect(Collectors.toSet()))
.build();
Map<Long, List<RolePermissionCacheService.PermissionDTO>> adminRolePermissionMap = adminRoles.stream() Map<Long, List<RolePermissionCacheService.PermissionDTO>> adminRolePermissionMap = adminRoles.stream()
.filter(e -> allRolePermissionMap.containsKey(e.getId())) .filter(e -> allRolePermissionMap.containsKey(e.getId()))
.collect(Collectors.toMap(SaasRoleRes::getId, e -> allRolePermissionMap.get(e.getId()))); .collect(Collectors.toMap(SaasRoleRes::getId, e -> allRolePermissionMap.get(e.getId())));