From e6854d2d97f55827a04c28a1dbee62a27b64ffa6 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Fri, 28 May 2021 14:47:13 +0800 Subject: [PATCH] screen-manage 更改前台菜单回显逻辑 --- /dev/null | 26 ------------- screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java | 60 ++++++++++++++++++------------ screen-manage/src/main/java/com/moral/api/controller/MenuController.java | 5 -- screen-manage/src/main/java/com/moral/api/controller/SysDictController.java | 13 +----- screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java | 6 +-- 5 files changed, 41 insertions(+), 69 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/controller/MenuController.java b/screen-manage/src/main/java/com/moral/api/controller/MenuController.java index 2f657d1..1d0c995 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/MenuController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/MenuController.java @@ -79,10 +79,7 @@ //������������������ MenuDTO dto = menuService.insertMenu(form); - //������������������������ - MenuInsertVO vo = MenuInsertVO.convert(dto); - - return new ResultMessage(dto.getCode(), dto.getMsg(), vo); + return new ResultMessage(dto.getCode(), dto.getMsg(),null); } @PostMapping("delete") diff --git a/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java b/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java index f1e9d44..7c3731b 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/SysDictController.java @@ -9,10 +9,7 @@ import com.moral.api.pojo.form.sysDictType.SysDictTypeDeleteForm; import com.moral.api.pojo.form.sysDictType.SysDictTypeInsertForm; import com.moral.api.pojo.form.sysDictType.SysDictTypeUpdateForm; -import com.moral.api.pojo.vo.sysDictType.SysDictTypeDeleteVO; -import com.moral.api.pojo.vo.sysDictType.SysDictTypeInsertVO; import com.moral.api.pojo.vo.sysDictType.SysDictTypeQueryVO; -import com.moral.api.pojo.vo.sysDictType.SysDictTypeUpdateVO; import com.moral.api.service.SysDictDataService; import com.moral.api.service.SysDictTypeService; import com.moral.constant.ResponseCodeEnum; @@ -132,10 +129,7 @@ //������������������ SysDictTypeDTO dto = sysDictTypeService.updateType(form); - //������������������������ - SysDictTypeUpdateVO vo = SysDictTypeUpdateVO.convert(dto); - - return new ResultMessage(dto.getCode(), dto.getMsg(), vo); + return new ResultMessage(dto.getCode(), dto.getMsg(), null); } @PostMapping("type/delete") @@ -148,10 +142,7 @@ //������������������ SysDictTypeDTO dto = sysDictTypeService.deleteType(form); - //������������������������ - SysDictTypeDeleteVO vo = SysDictTypeDeleteVO.convert(dto); - - return new ResultMessage(dto.getCode(), dto.getMsg(), vo); + return new ResultMessage(dto.getCode(), dto.getMsg(),null); } } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java deleted file mode 100644 index 0a33707..0000000 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.moral.api.pojo.vo.sysDictType; - -import com.moral.api.entity.SysDictType; -import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO; -import com.moral.constant.ResponseCodeEnum; - -/** - * @ClassName SysDictTypeDeleteVO - * @Description TODO - * @Author ��������� - * @Date 2021/4/16 8:43 - * @Version TODO - **/ -public class SysDictTypeDeleteVO extends SysDictTypeVO { - - public static SysDictTypeDeleteVO convert(SysDictTypeDTO dto) { - if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) - return null; - //������������������ - SysDictTypeDeleteVO vo = new SysDictTypeDeleteVO(); - SysDictType type = dto.getSysDictType(); - vo.setId(type.getId()); - vo.setName(type.getName()); - vo.setDesc(type.getDesc()); - return vo; - } -} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java deleted file mode 100644 index 62fbf32..0000000 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.moral.api.pojo.vo.sysDictType; - -import com.moral.api.entity.SysDictType; -import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO; -import com.moral.constant.ResponseCodeEnum; - -/** - * @ClassName SysDictTypeInsertVO - * @Description TODO - * @Author ��������� - * @Date 2021/4/15 14:32 - * @Version TODO - **/ -public class SysDictTypeInsertVO extends SysDictTypeVO { - - public static SysDictTypeInsertVO convert(SysDictTypeDTO dto){ - if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) - return null; - //������������������ - SysDictTypeInsertVO vo = new SysDictTypeInsertVO(); - SysDictType sysDictType = dto.getSysDictType(); - vo.setId(sysDictType.getId()); - vo.setName(sysDictType.getName()); - vo.setDesc(sysDictType.getDesc()); - return vo; - } -} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java deleted file mode 100644 index 2fab990..0000000 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.moral.api.pojo.vo.sysDictType; - -import com.moral.api.entity.SysDictType; -import com.moral.api.pojo.dto.sysDictType.SysDictTypeDTO; -import com.moral.constant.ResponseCodeEnum; - -/** - * @ClassName SysDictTypeUpdateVO - * @Description TODO - * @Author ��������� - * @Date 2021/4/15 15:52 - * @Version TODO - **/ -public class SysDictTypeUpdateVO extends SysDictTypeVO { - - public static SysDictTypeUpdateVO convert(SysDictTypeDTO dto) { - if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) - return null; - SysDictTypeUpdateVO vo = new SysDictTypeUpdateVO(); - SysDictType sysDictType = dto.getSysDictType(); - vo.setId(sysDictType.getId()); - vo.setName(sysDictType.getName()); - vo.setDesc(sysDictType.getDesc()); - return vo; - } -} 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 8155f11..137a78a 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 @@ -82,18 +82,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); @@ -351,21 +349,35 @@ } /** - * @Description: ������menu������������������������������������menus��� - * @Param: [menu, menus] - * @return: void - * @Author: ��������� - * @Date: 2021/5/13 - */ - 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); - } + * @Description: ������������������������������ + * @Param: [menus] + * @return: java.util.List<com.moral.api.entity.Menu> + * @Author: ��������� + * @Date: 2021/5/28 + */ + 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; + } + }); } } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java index 07a42ce..a0aa05b 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java @@ -52,7 +52,7 @@ SysDictTypeDTO dto = new SysDictTypeDTO(); //������Id Integer typeId = form.getId(); - //������type������������ + //������������������type������������������ QueryWrapper<SysDictType> existWrapper = new QueryWrapper<>(); existWrapper.eq("is_delete",Constants.NOT_DELETE); existWrapper.eq("id",typeId); @@ -75,7 +75,6 @@ //������������������ CacheUtils.clearDictionariesCache(); //������������������ - dto.setSysDictType(type); dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; @@ -89,7 +88,7 @@ SysDictTypeDTO dto = new SysDictTypeDTO(); //������������ SysDictType type = form.formConvertEntity(); - //������type������������ + //������type������������������ QueryWrapper<SysDictType> existNameWrapper = new QueryWrapper<>(); existNameWrapper.eq("id",type.getId()); existNameWrapper.eq("is_delete",Constants.NOT_DELETE); @@ -106,7 +105,6 @@ //������������ CacheUtils.clearDictionariesCache(); //������������������ - dto.setSysDictType(sysDictType); dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; -- Gitblit v1.8.0