diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java index 26040c6..d29e0d6 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java @@ -190,8 +190,9 @@ public class SysMenuServiceImpl extends ServiceImpl impl public void update(SysMenu resources) { String menuId = resources.getMenu_id(); SysMenu menu = baseMapper.selectById(menuId); - List allChildIds = Arrays.asList(baseMapper.findAllChild(menuId).split(",")); - if (allChildIds.contains(resources.getPid())){ + String allChild = baseMapper.findAllChild(menuId); // 获取当前菜单的所有子菜单 + List allChildIds = ObjectUtil.isNotEmpty(allChild)?Arrays.asList(allChild.split(",")):null; + if (ObjectUtil.isNotEmpty(allChildIds) && allChildIds.contains(resources.getPid())){ throw new BadRequestException("上级不能为自己或自己的下级"); } if (resources.getIframe()) {