lyhzzz před 2 roky
rodič
revize
2879e26e83

+ 6 - 7
src/main/java/com/fdkankan/manage/service/impl/SysMenuServiceImpl.java

@@ -174,6 +174,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
         Set<Long> setParentIds = new HashSet<>();
         List<Long> returnMenuIds = new ArrayList<>();
         List<Long> delMenuIds = new ArrayList<>();
+        List<Long> delParentIds = new ArrayList<>();
         //如果父菜单不包含全部子菜单,将父菜单移除,不返回前端
         for (Long menuId : menuMap.keySet()) {
             Long parentId = menuMap.get(menuId).getParentId();
@@ -187,17 +188,15 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
                 }
             }
         }
-        if(delMenuIds.size() >0){
-            for (Long delMenuId : delMenuIds) {
-                Long parentId = menuMap.get(delMenuId).getParentId();
-                if(parentId!= null && !delMenuIds.contains(parentId)){
-                    delMenuIds.add(parentId);
-                }
+        for (Long delMenuId : delMenuIds) {
+            Long parentId = menuMap.get(delMenuId).getParentId();
+            if(parentId!= null && !delMenuIds.contains(parentId)){
+                delParentIds.add(parentId);
             }
         }
 
         for (Long menuId : menuIds) {
-            if(!delMenuIds.contains(menuId)){
+            if(!delMenuIds.contains(menuId) && !delParentIds.contains(menuId)){
                 returnMenuIds.add(menuId);
             }
         }