feat(2227-permissionQuery):菜单排序、去重;控制角色状态

This commit is contained in:
zhansihu 2024-04-16 13:50:54 +08:00
parent e2a4600e50
commit ebfa886d70
3 changed files with 12 additions and 3 deletions

View File

@ -94,8 +94,13 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
.collect(Collectors.toList());
List<SaasFeatureResource> menus = featureResourceService.listNavByIds(menuIds);
resourceList.addAll(menus);
//去重
Set<Long> distinctSet = new HashSet<>();
List<SaasFeatureResource> 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

View File

@ -1091,9 +1091,12 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
public List<RoleWithFeature> listWithFeatures(Set<Long> roleIds, Set<Long> featureIds) {
List<RoleWithFeature> result = new ArrayList<>();
List<SaasRole> roles = saasRoleDao.listByIds(roleIds);
List<SaasRole> 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;
}

View File

@ -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();
}