From 11d10fc9ca90ec29159738c1eac5e2d9203d8bb6 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 28 Jul 2021 09:14:12 +0800 Subject: [PATCH] screen-api kafka消费者组id从配置文件获取 screen-manage 除admin角色外无法查看admin角色 --- screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java | 86 ++++++++++++++++++++++++++++--------------- 1 files changed, 56 insertions(+), 30 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java index 76c4316..204f902 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java @@ -5,6 +5,7 @@ import com.moral.api.config.mybatis.wrapper.NullFilterWrapper; import com.moral.api.entity.Group; import com.moral.api.entity.Menu; +import com.moral.api.mapper.GroupMenuMapper; import com.moral.api.mapper.MenuMapper; import com.moral.api.pojo.dto.menu.MenuDTO; import com.moral.api.pojo.dto.menu.MenuQueryDTO; @@ -44,6 +45,9 @@ MenuMapper menuMapper; @Autowired GroupService groupService; + @Autowired + GroupMenuMapper groupMenuMapper; + @Override public MenuQueryDTO queryAllMenus() { @@ -79,18 +83,16 @@ dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_NOT_EXIST.getMsg()); return dto; } - //��������������������������������������� - List<Menu> allMenus = menuMapper.getMenusByGroupId(group.getId()); - //������������������������������ - combinationParentChildrenMenus(allMenus); - //������������������������������������������ - List<Menu> menus = new ArrayList<>(); - for (Menu menu : allMenus) { - getNotParentMenu(menu, menus); - } + //��������������������������������������� + List<Menu> ownMenus = menuMapper.getMenusByGroupId(group.getId()); + + /*������������������������������������������������������������ + * ���������������������������������������������������������������������������������������������������������*/ + removeMenuWithChildren(ownMenus); + //������������������ List<MenuDTO> dtos = new ArrayList<>(); - for (Menu menu : menus) { + for (Menu menu : ownMenus) { MenuDTO menuDTO = new MenuDTO(); menuDTO.setMenu(menu); dtos.add(menuDTO); @@ -131,6 +133,7 @@ } @Override + @Transactional public MenuDTO deleteMenu(MenuDeleteForm form) { //������������������ MenuDTO dto = new MenuDTO(); @@ -154,7 +157,16 @@ //������������ existMenu.setIsDelete(Constants.DELETE); menuMapper.updateById(existMenu); - + //��������������������������������������������� + UpdateWrapper deleteGroupMenuWrapper = new UpdateWrapper(); + List<Integer> allMenuIds = new ArrayList<>(); + allMenuIds.add(id); + if (!ObjectUtils.isEmpty(childrenIds)) { + allMenuIds.addAll(childrenIds); + } + deleteGroupMenuWrapper.in("menu_id", allMenuIds); + deleteGroupMenuWrapper.set("is_delete", Constants.DELETE); + groupMenuMapper.update(null, deleteGroupMenuWrapper); //������������������ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); @@ -234,13 +246,13 @@ /** - * @Description: ������������������������������������������������������ - * @Param: [menus] - * @return: java.util.List<com.moral.api.entity.Menu> - * @Author: ��������� - * @Date: 2021/5/13 - */ - public void combinationParentChildrenMenus(List<Menu> menus){ + * @Description: ������������������������������������������������������ + * @Param: [menus] + * @return: java.util.List<com.moral.api.entity.Menu> + * @Author: ��������� + * @Date: 2021/5/13 + */ + public void combinationParentChildrenMenus(List<Menu> menus) { //������menu������������ Map<Integer, Menu> menuMap = new HashMap<>(); for (Menu menu : menus) { @@ -340,21 +352,35 @@ } /** - * @Description: ������menu������������������������������������menus��� - * @Param: [menu, menus] - * @return: void + * @Description: ������������������������������ + * @Param: [menus] + * @return: java.util.List<com.moral.api.entity.Menu> * @Author: ��������� - * @Date: 2021/5/13 + * @Date: 2021/5/28 */ - private void getNotParentMenu(Menu menu, List<Menu> menus) { - if (ObjectUtils.isEmpty(menu.getChildren())) { - menus.add(menu); - } else { - List<Menu> children = menu.getChildren(); - for (Menu child : children) { - getNotParentMenu(child, menus); - } + private void removeMenuWithChildren(List<Menu> menus) { + //������������������ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("is_delete", Constants.NOT_DELETE); + List<Menu> allMenus = menuMapper.selectList(wrapper); + //������menu������������ + Map<Integer, Menu> menuMap = new HashMap<>(); + for (Menu menu : allMenus) { + menuMap.put(menu.getId(), menu); + menu.setChildren(new ArrayList<>());//��������������� } + for (Menu menu : allMenus) { + putMenuToParentMenu(menuMap, menu); + } + //������������������������������ + menus.removeIf(new Predicate<Menu>() { + @Override + public boolean test(Menu menu) { + if (ObjectUtils.isEmpty(menuMap.get(menu.getId()).getChildren())) + return false; + return true; + } + }); } } -- Gitblit v1.8.0