diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/MenuServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/MenuServiceImpl.java index 7c18a9fc..794b198e 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/MenuServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/MenuServiceImpl.java @@ -226,6 +226,12 @@ public class MenuServiceImpl extends ServiceImpl implements IM if (menu.getParentId() == null && menu.getId() == null) { menu.setParentId(BladeConstant.TOP_PARENT_ID); } + if (menu.getParentId() != null && menu.getId() == null) { + Menu parentMenu = baseMapper.selectById(menu.getParentId()); + if (parentMenu.getCategory() != 1) { + throw new ServiceException("父节点只可选择菜单类型!"); + } + } menu.setIsDeleted(BladeConstant.DB_NOT_DELETED); return saveOrUpdate(menu); }