screen-manage/src/main/java/com/moral/api/controller/MenuController.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/controller/SysDictController.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/service/impl/MenuServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java | ●●●●● patch | view | raw | blame | history |
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") 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); } } screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeDeleteVO.java
File was deleted screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeInsertVO.java
File was deleted screen-manage/src/main/java/com/moral/api/pojo/vo/sysDictType/SysDictTypeUpdateVO.java
File was deleted 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; } }); } } 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;