Browse Source

关闭菜单还是会显示的问题修复

Signed-off-by: Vmo <idevmo@foxmail.com>
Vmo 7 months ago
parent
commit
5f5e8c178b

+ 8 - 6
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java

@@ -140,17 +140,19 @@ public class MenuServiceImpl implements MenuService {
             return true;
         }
 
-        // 1. 遍历到 parentId 为根节点,则无需判断
+        // 1. 先判断自身是否禁用
+        if (CommonStatusEnum.isDisable(node.getStatus())) {
+            disabledMenuCache.add(node.getId());
+            return true;
+        }
+
+        // 2. 遍历到 parentId 为根节点,则无需判断
         Long parentId = node.getParentId();
         if (ObjUtil.equal(parentId, ID_ROOT)) {
-            if (CommonStatusEnum.isDisable(node.getStatus())) {
-                disabledMenuCache.add(node.getId());
-                return true;
-            }
             return false;
         }
 
-        // 2. 继续遍历 parent 节点
+        // 3. 继续遍历 parent 节点
         MenuDO parent = menuMap.get(parentId);
         if (parent == null || isMenuDisabled(parent, menuMap, disabledMenuCache)) {
             disabledMenuCache.add(node.getId());