diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionQueryServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionQueryServiceImpl.java index ab004aea..a685071a 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionQueryServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/PermissionQueryServiceImpl.java @@ -94,8 +94,13 @@ public class PermissionQueryServiceImpl implements PermissionQueryService { .collect(Collectors.toList()); List menus = featureResourceService.listNavByIds(menuIds); resourceList.addAll(menus); + //去重 + Set distinctSet = new HashSet<>(); + List finalResources = resourceList.stream() + .filter(r -> distinctSet.add(r.getId())) + .collect(Collectors.toList()); //组装导航树 - return TreeUtil.buildTree(BeanMapper.copyList(resourceList, NavTreeResp.class)); + return TreeUtil.buildTree(BeanMapper.copyList(finalResources, NavTreeResp.class)); } @Override diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java index f015d6d4..f249d3b9 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleServiceImpl.java @@ -1091,9 +1091,12 @@ public class RoleServiceImpl extends ServiceImpl public List listWithFeatures(Set roleIds, Set featureIds) { List result = new ArrayList<>(); - List roles = saasRoleDao.listByIds(roleIds); + List roles = saasRoleDao.lambdaQuery() + .in(SaasRole::getId, roleIds) + .eq(SaasRole::getEnabled, true) + .list(); if (CollectionUtil.isEmpty(roles)) { - log.warn("no roles found for ids:{}", roles); + log.warn("no enabled roles found for ids:{}", roles); return result; } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureResourceServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureResourceServiceImpl.java index 59053c3d..6339f506 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureResourceServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureResourceServiceImpl.java @@ -90,6 +90,7 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic .eq(SaasFeatureResource::getStatus, FeatureResourceStatus.NORMAL.getCode()) .in(SaasFeatureResource::getId, featureIds) .in(SaasFeatureResource::getFeatureType, FeatureResourceType.navTypes()) + .orderByAsc(SaasFeatureResource::getDisplayOrder) .list(); }