feat: (feature/REQ-2595) 修改权限查询支持tags过滤
This commit is contained in:
parent
0e3aa801fa
commit
62313202f7
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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())));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user