feat(REQ-2899):查询关联关系调整
This commit is contained in:
parent
79ce4f4252
commit
5b99747ed0
@ -649,15 +649,11 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<SaasFeatureResource> pageFeatureResources = saasFeatureResourceDao.lambdaQuery()
|
||||
.eq(SaasFeatureResource::getTerminal, dbPageElement.getTerminal())
|
||||
.in(SaasFeatureResource::getUniCode, relations.stream().map(SaasPageElementFeatureResourceRelation::getFeatureResourceUniCode).collect(Collectors.toSet()))
|
||||
.in(SaasFeatureResource::getFeatureType, Lists.newArrayList(FeatureResourceType.PAGE.getCode(), FeatureResourceType.APP_ENTRY.getCode()))
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.list();
|
||||
List<SaasFeatureResource> pageFeatureResources = getPageFeatureResources(dbPageElement.getTerminal(), relations.stream().map(SaasPageElementFeatureResourceRelation::getFeatureResourceUniCode).collect(Collectors.toList()));
|
||||
if (CollectionUtils.isEmpty(pageFeatureResources)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<SaasFeatureResource> pageParentFeatureResources = saasFeatureResourceDao.lambdaQuery()
|
||||
.eq(SaasFeatureResource::getTerminal, dbPageElement.getTerminal())
|
||||
.in(SaasFeatureResource::getId, pageFeatureResources.stream().map(SaasFeatureResource::getParentId).collect(Collectors.toSet()))
|
||||
@ -856,4 +852,22 @@ public class SaasPageElementServiceImpl extends ServiceImpl<SaasPageElementMappe
|
||||
|
||||
return resps;
|
||||
}
|
||||
|
||||
private List<SaasFeatureResource> getPageFeatureResources(String terminal, List<String> uniCodes) {
|
||||
List<SaasFeatureResource> pageFeatureResources = saasFeatureResourceDao.lambdaQuery()
|
||||
.eq(SaasFeatureResource::getTerminal, terminal)
|
||||
.in(SaasFeatureResource::getUniCode, uniCodes)
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.list();
|
||||
|
||||
List<Long> allIds = pageFeatureResources.stream().map(e -> Arrays.stream(e.getPath().split(",")).filter(StringUtils::isNotBlank).map(Long::valueOf)
|
||||
.collect(Collectors.toList())).flatMap(List::stream).distinct().collect(Collectors.toList());
|
||||
|
||||
return saasFeatureResourceDao.lambdaQuery()
|
||||
.eq(SaasFeatureResource::getTerminal, terminal)
|
||||
.in(SaasFeatureResource::getId, allIds)
|
||||
.in(SaasFeatureResource::getFeatureType, Lists.newArrayList(FeatureResourceType.PAGE.getCode(), FeatureResourceType.APP_ENTRY.getCode()))
|
||||
.eq(BaseEntity::getIsDelete, DeleteEnum.NORMAL.getValue())
|
||||
.list();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user