From 84010a6693f7718110ec4048c5d265e032b98155 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 20 Oct 2023 18:28:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=8F=9C=E5=8D=95=E5=90=8C=E7=88=B6?= =?UTF-8?q?=E7=BA=A7=E4=B8=8B=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/system/controller/sys_menu.go | 4 ++-- src/modules/system/service/sys_menu.go | 2 +- src/modules/system/service/sys_menu.impl.go | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/modules/system/controller/sys_menu.go b/src/modules/system/controller/sys_menu.go index 6e75ee73..5dfd4e41 100644 --- a/src/modules/system/controller/sys_menu.go +++ b/src/modules/system/controller/sys_menu.go @@ -79,7 +79,7 @@ func (s *SysMenuController) Add(c *gin.Context) { // 目录和菜单检查地址唯一 if menu.TYPE_DIR == body.MenuType || menu.TYPE_MENU == body.MenuType { - uniqueNenuPath := s.sysMenuService.CheckUniqueMenuPath(body.Path, "") + uniqueNenuPath := s.sysMenuService.CheckUniqueMenuPath(body.Path, body.ParentID, "") if !uniqueNenuPath { msg := fmt.Sprintf("菜单新增【%s】失败,菜单路由地址已存在", body.MenuName) c.JSON(200, result.ErrMsg(msg)) @@ -151,7 +151,7 @@ func (s *SysMenuController) Edit(c *gin.Context) { // 目录和菜单检查地址唯一 if menu.TYPE_DIR == body.MenuType || menu.TYPE_MENU == body.MenuType { - uniqueNenuPath := s.sysMenuService.CheckUniqueMenuPath(body.Path, body.MenuID) + uniqueNenuPath := s.sysMenuService.CheckUniqueMenuPath(body.Path, body.ParentID, body.MenuID) if !uniqueNenuPath { msg := fmt.Sprintf("菜单修改【%s】失败,菜单路由地址已存在", body.MenuName) c.JSON(200, result.ErrMsg(msg)) diff --git a/src/modules/system/service/sys_menu.go b/src/modules/system/service/sys_menu.go index 10374be1..e4fbd5e5 100644 --- a/src/modules/system/service/sys_menu.go +++ b/src/modules/system/service/sys_menu.go @@ -44,7 +44,7 @@ type ISysMenu interface { CheckUniqueMenuName(menuName, parentId, menuId string) bool // CheckUniqueMenuPath 校验路由地址是否唯一(针对目录和菜单) - CheckUniqueMenuPath(path, menuId string) bool + CheckUniqueMenuPath(path, parentId, menuId string) bool // BuildRouteMenus 构建前端路由所需要的菜单 BuildRouteMenus(sysMenus []model.SysMenu, prefix string) []vo.Router diff --git a/src/modules/system/service/sys_menu.impl.go b/src/modules/system/service/sys_menu.impl.go index 1dd1d837..6d4d5c2b 100644 --- a/src/modules/system/service/sys_menu.impl.go +++ b/src/modules/system/service/sys_menu.impl.go @@ -124,9 +124,10 @@ func (r *SysMenuImpl) CheckUniqueMenuName(menuName, parentId, menuId string) boo } // CheckUniqueMenuPath 校验路由地址是否唯一(针对目录和菜单) -func (r *SysMenuImpl) CheckUniqueMenuPath(path, menuId string) bool { +func (r *SysMenuImpl) CheckUniqueMenuPath(path, parentId, menuId string) bool { uniqueId := r.sysMenuRepository.CheckUniqueMenu(model.SysMenu{ - Path: path, + Path: path, + ParentID: parentId, }) if uniqueId == menuId { return true