From 0e48cd386385110ea16ca05aae070f013c221f9a Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 11 May 2021 10:35:01 +0800
Subject: [PATCH] screen-manage                修改组织模块Bug

---
 screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java
index 34c5e4c..0db0ef6 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleMenuServiceImpl.java
@@ -16,14 +16,13 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -50,7 +49,16 @@
 
     @Override
     @Transactional
-    public Map<String, Object> updateRoleMenu(List list, int id) {
+    public Map<String, Object> updateRoleMenu(List menuList, int id) {
+        //���������������
+        List supplementList = new ArrayList();
+        supplementList.addAll(menuList);
+        for (int i=0;i<supplementList.size();i++) {
+            supplementList.addAll(supplementParentMenus(Integer.parseInt(supplementList.get(i).toString())));
+        }
+        LinkedHashSet<Object> hashSet = new LinkedHashSet<>(supplementList);
+        ArrayList<Object> list = new ArrayList<>(hashSet);
+        //return null;
         Map<String,Object> resultMap = new HashMap<>();
         List<ManageMenu> manageMenusOld = manageMenuMapper.getManageMenuByRoleId(id);
         QueryWrapper<ManageRoleMenu> wrapper = new QueryWrapper();
@@ -88,7 +96,6 @@
                     continue;
                 }
                 updateList.add(manageRoleMenu.get("menu_id"));
-                System.out.println("++++++++++++++"+updateList);
             }
             List insertList = new ArrayList();
             for (Object temp:list) {
@@ -144,4 +151,21 @@
         resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
         return resultMap;
     }
+
+    /**
+     * @Description: ���������������
+     * @Param: [list, menuId]list���menuId������
+     * @return: void
+     * @Author: ���������
+     * @Date: 2021/4/7
+     */
+    private List supplementParentMenus(int menuId) {
+        List list = new ArrayList();
+        ManageMenu manageMenu = manageMenuMapper.getManageMenuById(menuId);
+        if (manageMenu.getParentId()!=0){
+            list.add(manageMenu.getParentId());
+            list.addAll(supplementParentMenus(manageMenu.getParentId()));
+        }
+        return list;
+    }
 }

--
Gitblit v1.8.0