feat(REQ-2545): 页面绑定关系增加类型字段。
This commit is contained in:
parent
31a10e9403
commit
36de1c9d76
@ -185,19 +185,25 @@ public class SaasPageElementServiceImpl implements SaasPageElementService {
|
||||
|
||||
@Override
|
||||
public GetUserHasPermissionPageElementResp getUserHasPermissionPageElement(GetUserHasPermissionPageElementReq request) {
|
||||
// 页面绑定的所有关系(包含页面路由的绑定、默认绑定关系)
|
||||
List<SaasPageElementFeatureResourceRelation> relations = saasPageElementFeatureResourceRelationDao.listByPageElementCode(request.getPageElementCode(), request.getTerminal(), Lists.newArrayList(PageElementFeatureResourceRelationTypeEnum.PAGE_ROUTE.getValue(), PageElementFeatureResourceRelationTypeEnum.DEFAULT.getValue()));
|
||||
if (CollectionUtils.isEmpty(relations)) {
|
||||
log.warn("绑定关系不存在,页面元素编码:{}", request.getPageElementCode());
|
||||
return null;
|
||||
}
|
||||
|
||||
List<SaasFeatureResource> saasFeatureResources = listDescendantByUniCodeAndTerminal(request.getTerminal(), relations.stream().map(SaasPageElementFeatureResourceRelation::getFeatureResourceUniCode).collect(Collectors.toList()));
|
||||
List<SaasPageElementFeatureResourceRelation> pageRouteRelations = relations.stream().filter(relation -> PageElementFeatureResourceRelationTypeEnum.PAGE_ROUTE.getValue().equals(relation.getType())).collect(Collectors.toList());
|
||||
AssertUtil.isTrue(CollectionUtils.isNotEmpty(pageRouteRelations), "页面未绑定路由");
|
||||
|
||||
// 这里为了查询默认路由页面及页面下组件的绑定关系
|
||||
List<SaasFeatureResource> saasFeatureResources = listDescendantByUniCodeAndTerminal(request.getTerminal(), pageRouteRelations.stream().map(SaasPageElementFeatureResourceRelation::getFeatureResourceUniCode).collect(Collectors.toList()));
|
||||
if (CollectionUtils.isEmpty(saasFeatureResources)) {
|
||||
return null;
|
||||
}
|
||||
List<SaasPageElementFeatureResourceRelation> resourceRelations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(saasFeatureResources.stream().map(SaasFeatureResource::getUniCode).collect(Collectors.toList()), request.getTerminal());
|
||||
if (CollectionUtils.isEmpty(resourceRelations)) {
|
||||
return null;
|
||||
if (CollectionUtils.isNotEmpty(resourceRelations)) {
|
||||
// 这里会存在重复的数据,下面在过滤转为Set的时候做了去重
|
||||
relations.addAll(resourceRelations);
|
||||
}
|
||||
|
||||
// 过滤用户有权限的featureCodes
|
||||
@ -205,7 +211,7 @@ public class SaasPageElementServiceImpl implements SaasPageElementService {
|
||||
.personId(request.getPersonId())
|
||||
.workspaceOusPairs(Lists.newArrayList(IdentityAuthReq.WorkspaceOuPair.builder().ouId(request.getOuId()).workspaceId(request.getWorkspaceId()).build()))
|
||||
.terminal(Lists.newArrayList(request.getTerminal()))
|
||||
.featureCode(resourceRelations.stream().map(SaasPageElementFeatureResourceRelation::getPageElementCode).collect(Collectors.toSet()))
|
||||
.featureCode(relations.stream().map(SaasPageElementFeatureResourceRelation::getPageElementCode).collect(Collectors.toSet()))
|
||||
.type(SaasPgroupPermissionRelation.NEW_FEATURE)
|
||||
.build());
|
||||
if (Objects.isNull(res) || CollectionUtils.isEmpty(res.getPermissions())) {
|
||||
@ -214,8 +220,6 @@ public class SaasPageElementServiceImpl implements SaasPageElementService {
|
||||
|
||||
List<String> hasPermissionFeatureCodes = res.getPermissions().stream().filter(e -> CollectionUtils.isNotEmpty(e.getPermissionPoint()))
|
||||
.map(e -> e.getPermissionPoint().stream().map(IdentityAuthRes.PermissionPoint::getFeatureCode).collect(Collectors.toList())).flatMap(List::stream).distinct().collect(Collectors.toList());
|
||||
|
||||
|
||||
log.info("getUserHasPermissionPageElement personId:{} pageElementCode:{}, hasPermissionFeatureCodes:{}", request.getPersonId(), request.getPageElementCode(), hasPermissionFeatureCodes);
|
||||
|
||||
return GetUserHasPermissionPageElementResp.builder()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user