feat(2227-permissionQuery):菜单内存排序

This commit is contained in:
zhansihu 2024-04-16 14:09:20 +08:00
parent ebfa886d70
commit 7df39ce166
2 changed files with 5 additions and 3 deletions

View File

@ -40,6 +40,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@ -94,10 +95,11 @@ 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()))
.sorted(Comparator.comparingInt(SaasFeatureResource::getDisplayOrder))
.collect(Collectors.toList());
//组装导航树
return TreeUtil.buildTree(BeanMapper.copyList(finalResources, NavTreeResp.class));

View File

@ -86,11 +86,11 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic
SaasFeatureResource::getFeatureName,
SaasFeatureResource::getFeatureType,
SaasFeatureResource::getLinkUrl,
SaasFeatureResource::getIcon)
SaasFeatureResource::getIcon,
SaasFeatureResource::getDisplayOrder)
.eq(SaasFeatureResource::getStatus, FeatureResourceStatus.NORMAL.getCode())
.in(SaasFeatureResource::getId, featureIds)
.in(SaasFeatureResource::getFeatureType, FeatureResourceType.navTypes())
.orderByAsc(SaasFeatureResource::getDisplayOrder)
.list();
}