From 4d5eff3b824dac8e50400b2ec1114cba4ed6a87c Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Wed, 07 Apr 2021 17:05:43 +0800
Subject: [PATCH] screen-manage     完成sysarea模块查询     拦截器逻辑代码完成     修改organization和accountBug

---
 screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java |  122 +++++++++++++++++++++++++++-------------
 1 files changed, 82 insertions(+), 40 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
index aff0a72..7d18186 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageMenuServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.entity.ManageMenu;
+import com.moral.api.entity.ManageRole;
 import com.moral.api.mapper.ManageMenuMapper;
 import com.moral.api.mapper.ManageRoleMenuMapper;
 import com.moral.api.service.ManageMenuService;
@@ -11,11 +12,14 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Predicate;
 
 /**
  * <p>
@@ -36,40 +40,40 @@
 
     @Override
     @Transactional
-    public Map<String,Object> insertManageMenu(ManageMenu manageMenu) {
-        Map<String,Object> resultMap = new HashMap<>();
-        if (manageMenu.getName()==null){
-            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
-            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+    public Map<String, Object> insertManageMenu(ManageMenu manageMenu) {
+        Map<String, Object> resultMap = new HashMap<>();
+        if (manageMenu.getName() == null) {
+            resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+            resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
             return resultMap;
         }
-        if (manageMenuMapper.getManageMenuByName(manageMenu.getName()) != null){
-            resultMap.put("code",ResponseCodeEnum.MENU_IS_EXPIRE.getCode());
-            resultMap.put("msg",ResponseCodeEnum.MENU_IS_EXPIRE.getMsg());
-        }else {
+        if (manageMenuMapper.getManageMenuByName(manageMenu.getName()) != null) {
+            resultMap.put("code", ResponseCodeEnum.MENU_IS_EXPIRE.getCode());
+            resultMap.put("msg", ResponseCodeEnum.MENU_IS_EXPIRE.getMsg());
+        } else {
             manageMenuMapper.insertOne(manageMenu);
-            resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
-            resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+            resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode());
+            resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
         }
         return resultMap;
     }
 
     @Override
     @Transactional
-    public Map<String,Object> updateManageMenu(Map map) {
-        Map<String,Object> resultMap = new HashMap<>();
-        if (!map.containsKey("id")){
-            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
-            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+    public Map<String, Object> updateManageMenu(Map map) {
+        Map<String, Object> resultMap = new HashMap<>();
+        if (!map.containsKey("id")) {
+            resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+            resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
             return resultMap;
         }
-        if (manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())) == null){
-            resultMap.put("code",ResponseCodeEnum.MENU_IS_NULL.getCode());
-            resultMap.put("msg",ResponseCodeEnum.MENU_IS_NULL.getMsg());
-        }else {
+        if (manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())) == null) {
+            resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode());
+            resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg());
+        } else {
             manageMenuMapper.updateManageMenuById(map);
-            resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
-            resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+            resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode());
+            resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
         }
         return resultMap;
     }
@@ -77,26 +81,26 @@
     @Override
     @Transactional
     public Map<String, Object> deleteManageMenu(Map map) {
-        Map<String,Object> resultMap = new HashMap<>();
-        if (!map.containsKey("id")){
-            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
-            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        Map<String, Object> resultMap = new HashMap<>();
+        if (!map.containsKey("id")) {
+            resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+            resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
             return resultMap;
         }
-        if (manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())) == null){
-            resultMap.put("code",ResponseCodeEnum.MENU_IS_NULL.getCode());
-            resultMap.put("msg",ResponseCodeEnum.MENU_IS_NULL.getMsg());
-        }else {
+        if (manageMenuMapper.getManageMenuById(Integer.parseInt(map.get("id").toString())) == null) {
+            resultMap.put("code", ResponseCodeEnum.MENU_IS_NULL.getCode());
+            resultMap.put("msg", ResponseCodeEnum.MENU_IS_NULL.getMsg());
+        } else {
             Map deleteMap = new HashMap();
             int id = Integer.parseInt(map.get("id").toString());
-            deleteMap.put("id",id);
-            deleteMap.put("is_delete",1);
+            deleteMap.put("id", id);
+            deleteMap.put("is_delete", 1);
             manageMenuMapper.updateManageMenuById(deleteMap);
             Map role_menuDeleteMap = new HashMap();
-            role_menuDeleteMap.put("menu_id",id);
+            role_menuDeleteMap.put("menu_id", id);
             manageRoleMenuMapper.updateDeleteStateByMenu_id(role_menuDeleteMap);
-            resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
-            resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+            resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode());
+            resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
         }
         return resultMap;
     }
@@ -104,8 +108,8 @@
     @Override
     public List<ManageMenu> getAllWithPagingQuery(Map map) {
         Map limitMap = new HashMap();
-        limitMap.put("start",(Integer.parseInt(map.get("current").toString())-1)*Integer.parseInt(map.get("size").toString()));
-        limitMap.put("number",Integer.parseInt(map.get("size").toString()));
+        limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString()));
+        limitMap.put("number", Integer.parseInt(map.get("size").toString()));
         List<ManageMenu> manageMenus = manageMenuMapper.getDataWithPage(limitMap);
         System.out.println(manageMenus);
         return manageMenus;
@@ -114,10 +118,48 @@
     @Override
     public List<ManageMenu> getManageMenuByNameFuzzy(Map map) {
         Map limitMap = new HashMap();
-        limitMap.put("name",map.get("name"));
-        limitMap.put("start",(Integer.parseInt(map.get("current").toString())-1)*Integer.parseInt(map.get("size").toString()));
-        limitMap.put("number",Integer.parseInt(map.get("size").toString()));
+        limitMap.put("name", map.get("name"));
+        limitMap.put("start", (Integer.parseInt(map.get("current").toString()) - 1) * Integer.parseInt(map.get("size").toString()));
+        limitMap.put("number", Integer.parseInt(map.get("size").toString()));
         List<ManageMenu> manageMenus = manageMenuMapper.getManageRoleByNameFuzzy(limitMap);
         return manageMenus;
     }
+
+    @Override
+    public List<ManageMenu> getParentChildrenMenusByRoles(List<ManageRole> roles) {
+        List<ManageMenu> allMenus = manageMenuMapper.getAllMenusByRoles(roles);
+        Map<Integer, ManageMenu> menusMap = new HashMap<>();
+        for (ManageMenu menu : allMenus) {
+            menu.setChildren(new ArrayList<>());//���������
+            menusMap.put(menu.getId(), menu);
+        }
+        for (ManageMenu menu : allMenus) {
+            combinationParentChildrenMenus(menusMap, menu);
+        }
+        //������������������������������������parentId������0������������������������
+        allMenus.removeIf(new Predicate<ManageMenu>() {
+            @Override
+            public boolean test(ManageMenu manageMenu) {
+                if(manageMenu.getParentId().equals(0))
+                    return false;
+                return true;
+            }
+        });
+         return allMenus;
+    }
+
+    /**
+     * @Description: ������������������
+     * @Param: [menuMap, menu]menuMap���key���menuid���value���menu
+     * @return: void
+     * @Author: ���������
+     * @Date: 2021/4/7
+     */
+    private void combinationParentChildrenMenus(Map<Integer, ManageMenu> menuMap, ManageMenu menu) {
+        Integer parentId = menu.getParentId();
+        ManageMenu parentMenu = menuMap.get(parentId);
+        if (!ObjectUtils.isEmpty(parentMenu)) {
+            parentMenu.getChildren().add(menu);
+        }
+    }
 }

--
Gitblit v1.8.0