|
@@ -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());
|