|
@@ -90,34 +90,41 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
@Override
|
|
|
public List<MenuServeVo> getAuthMenuServe() {
|
|
|
List<MenuVo> menuVos = getAuthMenuList(new MenuTreeDto());
|
|
|
-
|
|
|
Map<Long, MenuServeVo> menuVoMap = new HashMap<>();
|
|
|
- List<MenuVo> notParents = new ArrayList<>();
|
|
|
+
|
|
|
+ List<MenuVo> childMenus = new ArrayList<>();
|
|
|
|
|
|
menuVos.forEach((node) -> {
|
|
|
Long parentId = node.getParentId();
|
|
|
|
|
|
-
|
|
|
+
|
|
|
if (menuVos.stream().noneMatch(x -> StrUtil.equals(x.getId().toString(), String.valueOf(parentId)))) {
|
|
|
if (!menuVoMap.containsKey(node.getSystemId())) {
|
|
|
MenuServeVo ms = new MenuServeVo();
|
|
|
ms.setId(node.getSystemId());
|
|
|
ms.setName(node.getSystemName());
|
|
|
ms.setMenuVoList(new ArrayList<>());
|
|
|
- ms.getMenuVoList().add(node);
|
|
|
- menuVoMap.put(node.getSystemId(),ms);
|
|
|
+ menuVoMap.put(node.getSystemId(), ms);
|
|
|
}
|
|
|
- notParents.add(node);
|
|
|
}
|
|
|
|
|
|
if (!StrUtil.isEmptyIfStr(parentId) || !StrUtil.equals(String.valueOf(parentId), String.valueOf(GlobalConstant.FIRST_NODE_VALUE))) {
|
|
|
menuVos.stream().filter(x -> StrUtil.equals(x.getId().toString(), String.valueOf(parentId)))
|
|
|
.findAny()
|
|
|
.ifPresent(parentNode -> {
|
|
|
- System.out.println();
|
|
|
+ node.setSystemId(parentNode.getSystemId());
|
|
|
+ node.setSystemName(parentNode.getSystemName());
|
|
|
});
|
|
|
+ Long number = menuVos.stream().filter(x -> x.getParentId().equals(node.getId())).count();
|
|
|
+ if (number == 0) {
|
|
|
+ childMenus.add(node);
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
+ menuVoMap.values().forEach((node) -> {
|
|
|
+ List<MenuVo> childMenu = childMenus.stream().filter(x -> x.getSystemId().equals(node.getId())).collect(Collectors.toList());
|
|
|
+ node.setMenuVoList(childMenu);
|
|
|
+ });
|
|
|
return new ArrayList<>(menuVoMap.values());
|
|
|
}
|
|
|
}
|