|
@@ -215,12 +215,8 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
.select(Menu::getId)
|
|
|
.select("1 as authorized")
|
|
|
.selectAs(Subsystem::getName, MenuVo::getSystemName)
|
|
|
-
|
|
|
-
|
|
|
.select(Menu.class, x -> VoToColumnUtil.fieldsToColumns(MenuTreeVo.class).contains(x.getProperty()))
|
|
|
.leftJoin(Subsystem.class, Subsystem::getId, Menu::getSystemId)
|
|
|
-
|
|
|
-
|
|
|
.eq(Menu::getEnabledMark, EnabledMark.ENABLED.getCode())
|
|
|
.orderByAscStr(orderList)
|
|
|
);
|
|
@@ -312,7 +308,7 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
* @return
|
|
|
*/
|
|
|
private List<MenuServeVo> getSubMenu(List<MenuVo> menuVos) {
|
|
|
- Map<Long, MenuServeVo> menuVoMap = new HashMap<>();
|
|
|
+ Map<Long, MenuServeVo> menuVoMap = new LinkedHashMap<>();
|
|
|
|
|
|
List<MenuVo> childMenus = new ArrayList<>();
|
|
|
|
|
@@ -337,6 +333,8 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
.ifPresent(parentNode -> {
|
|
|
node.setSystemId(parentNode.getSystemId());
|
|
|
node.setSystemName(parentNode.getSystemName());
|
|
|
+ node.setSortCode(Integer.parseInt(parentNode.getSortCode() + "" + node.getSortCode()));
|
|
|
+ node.setParentSortCode(parentNode.getSortCode());
|
|
|
});
|
|
|
Long number = menuVos.stream().filter(x -> x.getParentId().equals(node.getId())).count();
|
|
|
if (number == 0) {
|
|
@@ -345,7 +343,10 @@ public class MenuServiceImpl extends MPJBaseServiceImpl<MenuMapper, Menu> implem
|
|
|
}
|
|
|
});
|
|
|
menuVoMap.values().forEach((node) -> {
|
|
|
- List<MenuVo> childMenu = childMenus.stream().filter(x -> x.getSystemId().equals(node.getId())).collect(Collectors.toList());
|
|
|
+ List<MenuVo> childMenu = childMenus.stream().
|
|
|
+ filter(x -> x.getSystemId().equals(node.getId())).
|
|
|
+ collect(Collectors.toList());
|
|
|
+ childMenu.sort(Comparator.comparingInt(MenuVo::getSortCode).thenComparingInt(MenuVo::getSortCode));
|
|
|
node.setMenuVoList(childMenu);
|
|
|
});
|
|
|
return new ArrayList<>(menuVoMap.values());
|