From ebfa886d70dd91080ae76ea5f32edbfda936db3b Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 16 Apr 2024 13:50:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(2227-permissionQuery):=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E3=80=81=E5=8E=BB=E9=87=8D=EF=BC=9B=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E8=A7=92=E8=89=B2=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/service/impl/PermissionQueryServiceImpl.java | 7 ++++++- .../cn/axzo/tyr/server/service/impl/RoleServiceImpl.java | 7 +++++-- .../service/impl/SaasFeatureResourceServiceImpl.java | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) 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(); }