Merge branch 'feature/REQ-2186'
This commit is contained in:
commit
551a2de23e
@ -34,6 +34,7 @@ import cn.axzo.tyr.server.model.RoleWithFeature;
|
||||
import cn.axzo.tyr.server.model.UserIdentity;
|
||||
import cn.axzo.tyr.server.model.WorkspaceFeatureRelation;
|
||||
import cn.axzo.tyr.server.repository.dao.ProductModuleDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasFeatureResourceDao;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeatureResource;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation;
|
||||
import cn.axzo.tyr.server.service.PermissionQueryService;
|
||||
@ -83,6 +84,7 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
|
||||
private final ServicePkgClient servicePkgClient;
|
||||
private final ProductModuleDao productModuleDao;
|
||||
private final ProductFeatureRelationService productFeatureRelationService;
|
||||
private final SaasFeatureResourceDao saasFeatureResourceDao;
|
||||
|
||||
@Override
|
||||
public List<NavTreeResp> getNavTree(NavTreeReq req) {
|
||||
@ -120,8 +122,17 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
|
||||
.filter(r -> distinctSet.add(r.getId()))
|
||||
.sorted(Comparator.comparingInt(SaasFeatureResource::getDisplayOrder))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 因为存在中间某个节点被隐藏,下面节点不需要显示的情况,所以构建后的树只要父节点不是根节点,都过滤掉
|
||||
SaasFeatureResource root = saasFeatureResourceDao.lambdaQuery()
|
||||
.eq(SaasFeatureResource::getTerminal, req.getTerminal())
|
||||
.eq(SaasFeatureResource::getParentId, 0L)
|
||||
.one();
|
||||
|
||||
//组装导航树
|
||||
return TreeUtil.buildTree(BeanMapper.copyList(finalResources, NavTreeResp.class));
|
||||
List<NavTreeResp> navTreeList = TreeUtil.buildTree(BeanMapper.copyList(finalResources, NavTreeResp.class));
|
||||
//过滤顶级孤儿节点
|
||||
return navTreeList.stream().filter(t -> Objects.equals(t.getParentId(), root.getId())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user