获取分组权限点 bugfix

This commit is contained in:
yangsong 2023-09-18 15:34:38 +08:00
parent a1d60a09a6
commit 0eeb386924

View File

@ -123,11 +123,15 @@ public class PermissionGroupImpl implements PermissionGroupService {
.in(SaasPgroupPermissionRelation::getGroupId, groupIds) .in(SaasPgroupPermissionRelation::getGroupId, groupIds)
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.list(); .list();
List<PermissionPointTreeNode> feature = new ArrayList<>(); List<PermissionPointTreeNode> features = new ArrayList<>();
if (CollectionUtils.isNotEmpty(permissionList)) { if (CollectionUtils.isNotEmpty(permissionList)) {
// 查询featureCode // 查询全部featureCode
feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList())); features = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList()));
} }
Map<Long, PermissionPointTreeNode> featureMap = features.stream().collect(Collectors.toMap(PermissionPointTreeNode::getPermissionPointId, Function.identity(), (e1, e2) -> e2));
Map<Long, List<PermissionPointTreeNode>> pgroupPermissionMap = permissionList.stream()
.collect(Collectors.groupingBy(SaasPgroupPermissionRelation::getGroupId,
Collectors.mapping(releation -> featureMap.get(releation.getFeatureId()), Collectors.toList())));
List<SaasPermissionGroupScope> saasPermissionGroupScopesSource = saasPermissionGroupScopeDao.lambdaQuery() List<SaasPermissionGroupScope> saasPermissionGroupScopesSource = saasPermissionGroupScopeDao.lambdaQuery()
.in(SaasPermissionGroupScope::getPgroupId, groupIds) .in(SaasPermissionGroupScope::getPgroupId, groupIds)
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value) .eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
@ -149,14 +153,14 @@ public class PermissionGroupImpl implements PermissionGroupService {
} }
return true; return true;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
Map<Long, List<SaasRolePermissionScopeVO>> permissionGroupScopeMap = saasPermissionGroupScopes.stream().collect(Collectors.groupingBy(SaasPermissionGroupScope::getPgroupId, Collectors.mapping(e -> BeanMapper.copyBean(e, SaasRolePermissionScopeVO.class), Collectors.toList())));
// 组装填充字段 // 组装填充字段
List<PermissionPointTreeNode> finalFeature = feature; List<SaasPermissionGroupVO> pageList = groupList.stream().map(group -> {
List<SaasPermissionGroupVO> pageList = groupList.stream().map(group -> SaasPermissionGroupVO pgroupResult = SaasPermissionGroupVO.builder()
SaasPermissionGroupVO.builder()
.id(group.getId()) .id(group.getId())
.name(group.getName()) .name(group.getName())
.feature(finalFeature) .scopes(Optional.ofNullable(permissionGroupScopeMap.get(group.getId())).orElse(new ArrayList<>()))
.scopes(saasPermissionGroupScopes.stream().filter(e -> e.getPgroupId().equals(group.getId())).map(e -> BeanMapper.copyBean(e, SaasRolePermissionScopeVO.class)).collect(Collectors.toList())) .feature(Optional.ofNullable(pgroupPermissionMap.get(group.getId())).orElse(new ArrayList<>()))
.createBy(group.getCreateBy()) .createBy(group.getCreateBy())
.creatorName(group.getCreatorName()) .creatorName(group.getCreatorName())
.updateBy(group.getUpdateBy()) .updateBy(group.getUpdateBy())
@ -166,7 +170,9 @@ public class PermissionGroupImpl implements PermissionGroupService {
.isCommon(group.getIsCommon()) .isCommon(group.getIsCommon())
.createAt(group.getCreateAt()) .createAt(group.getCreateAt())
.updateAt(group.getUpdateAt()) .updateAt(group.getUpdateAt())
.build() .build();
return pgroupResult;
}
).collect(Collectors.toList()); ).collect(Collectors.toList());
return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList); return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList);
} }