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