From f97762a1584cd80883abc03db8d839e566e88b49 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Tue, 08 Jun 2021 11:11:29 +0800 Subject: [PATCH] screen-manage 后台登陆获取菜单添加排序功能 --- screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java | 42 ++++++++++++++++++++++++++++++++++++++++-- screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java | 2 +- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java index 5267d67..1c870d0 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java @@ -8,8 +8,7 @@ import lombok.Data; import org.springframework.util.ObjectUtils; -import java.util.ArrayList; -import java.util.List; +import java.util.*; /** * @ClassName AccountInfoVO @@ -65,6 +64,10 @@ removeAttribute(menu); } } + //menu������������ + if (!ObjectUtils.isEmpty(menus)) { + orderRootMenu(menus); + } vo.setAccountId(account.getId()); vo.setUserName(account.getUserName()); vo.setMenus(menus); @@ -85,4 +88,39 @@ } } + + /** + * @Description: ������������������������ + * @Param: [menus] + * @return: void + * @Author: ��������� + * @Date: 2021/6/8 + */ + public static void orderRootMenu(List<ManageMenu> menus){ + menus.sort(Comparator.comparing(ManageMenu::getOrder)); + for (ManageMenu menu : menus) { + orderMenu(menu); + } + } + + /** + * @Description: ��������������������������� + * @Param: [menu] + * @return: void + * @Author: ��������� + * @Date: 2021/6/8 + */ + public static void orderMenu(ManageMenu menu){ + List<ManageMenu> children = menu.getChildren(); + if(!ObjectUtils.isEmpty(children)){ + children.sort(Comparator.comparing(ManageMenu::getOrder)); + for (ManageMenu child : children) { + orderMenu(child); + } + }else{ + return; + } + } + + } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java index 2076867..f6e15a0 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java @@ -118,7 +118,7 @@ List<ManageRole> roles = manageRoleMapper.getManageRoleByAccountId(manageAccount.getId()); //������������ - List<ManageMenu> menus = null; + List<ManageMenu> menus = new ArrayList<>(); if (!ObjectUtils.isEmpty(roles)) { menus = manageMenuService.getParentChildrenMenusByRoles(roles); } -- Gitblit v1.8.0