From 1f6d9310b320b6ca2783bd88b5d12eef78847184 Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Thu, 16 Jan 2025 19:35:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(system):=20=E4=BF=AE=E5=A4=8D=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=8F=9C=E5=8D=95=E6=97=B6=E4=B8=8A=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 MenuDto 中将 pid 字段默认值设为 null,确保在新增根菜单时 pid 为 null- 在 MenuServiceImpl 中添加对上级菜单不存在的检查,避免创建无效的菜单项 --- .../java/com/zsc/edu/gateway/modules/system/dto/MenuDto.java | 2 +- .../gateway/modules/system/service/impl/MenuServiceImpl.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/dto/MenuDto.java b/src/main/java/com/zsc/edu/gateway/modules/system/dto/MenuDto.java index e52b7e6..cd6916c 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/dto/MenuDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/dto/MenuDto.java @@ -16,7 +16,7 @@ public class MenuDto { /** * 父菜单ID */ - private Long pid; + private Long pid = null; /** * 菜单类型 */ diff --git a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java index 245c998..6f4659a 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/system/service/impl/MenuServiceImpl.java @@ -48,6 +48,9 @@ public class MenuServiceImpl extends ServiceImpl implement if (baseMapper.exists(new LambdaQueryWrapper().eq(Menu::getPermissions, dto.getPermissions()))) { throw new ConstraintException("该权限已存在!请检查输入表单是否出错!"); } + if (baseMapper.selectOne(new LambdaQueryWrapper().eq(Menu::getPid, dto.getPid())) == null && dto.getPid() != null) { + throw new ConstraintException("上级菜单不存在!请检查输入表单是否出错!"); + } Menu menu = mapper.toEntity(dto); baseMapper.insert(menu); return menu;