|
|
@@ -124,8 +124,30 @@ public class PartyRoleProviderService {
|
|
|
roleList = roleList.stream().sorted(Comparator.comparing(PartyRolePo::getRoleNote)).collect(Collectors.toList());
|
|
|
//提取roleList中的name属性到排序后的List<String>
|
|
|
roles = roleList.stream().map(PartyRolePo::getName).collect(Collectors.toList());
|
|
|
- //查询页面资源
|
|
|
- List<ResourcesPo> resourcesList = partyRoleProviderDao.getResourcesByName(pageName);
|
|
|
+
|
|
|
+ //查询页面资源(使用新的过滤逻辑)
|
|
|
+ List<ResourceRawDO> rawResources = partyRoleProviderDao.getAllDisplayableResources();
|
|
|
+ List<ResourceDO> validResources = buildValidResources(rawResources);
|
|
|
+
|
|
|
+ //将ResourceDO转换为ResourcesPo格式以兼容后续逻辑
|
|
|
+ List<ResourcesPo> resourcesList = new ArrayList<>();
|
|
|
+ for(ResourceDO res : validResources){
|
|
|
+ ResourcesPo po = new ResourcesPo();
|
|
|
+ po.setId(res.getId());
|
|
|
+ po.setName(res.getName());
|
|
|
+ po.setSn(res.getSn());
|
|
|
+ po.setParentId(res.getParentId());
|
|
|
+ resourcesList.add(po);
|
|
|
+ }
|
|
|
+
|
|
|
+ //应用pageName过滤
|
|
|
+ if(StringUtils.isNotBlank(pageName)){
|
|
|
+ resourcesList = resourcesList.stream()
|
|
|
+ .filter(r -> validResources.stream()
|
|
|
+ .filter(v -> v.getId().equals(r.getId()))
|
|
|
+ .anyMatch(v -> v.getDisplayName().contains(pageName)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
|
|
|
//如果没有查询到角色或资源,则直接返回
|
|
|
if(CollectionUtils.isEmpty(roleList) || CollectionUtils.isEmpty(resourcesList)){
|