Browse Source

fix: 菜单移除DISTINCT

hsun 5 months ago
parent
commit
b9678e9304
1 changed files with 14 additions and 2 deletions
  1. 14 2
      models/system/sys_menu.go

+ 14 - 2
models/system/sys_menu.go

@@ -104,7 +104,13 @@ type MenuListResp struct {
 
 // GetMenuListByRoleIds 根据管理员多个角色查询菜单ID
 func GetMenuListByRoleIds(roleIds string) (items []*MenuList, err error) {
-	sql := ` SELECT DISTINCT a.* FROM sys_menu AS a
+	//sql := ` SELECT DISTINCT a.* FROM sys_menu AS a
+	//		INNER JOIN sys_role_menu AS b ON a.menu_id=b.menu_id AND b.type = 0
+	//		INNER JOIN sys_role AS c ON b.role_id=c.role_id
+	//		WHERE c.role_id in (` + roleIds + `)
+	//		AND a.parent_id=0
+	//        ORDER BY sort ASC `
+	sql := ` SELECT a.* FROM sys_menu AS a
 			INNER JOIN sys_role_menu AS b ON a.menu_id=b.menu_id AND b.type = 0
 			INNER JOIN sys_role AS c ON b.role_id=c.role_id
 			WHERE c.role_id in (` + roleIds + `)
@@ -200,7 +206,13 @@ func GetMenuButtonApisByRoleId(roleId int) (items []*SysMenu, err error) {
 
 // GetMenuListAllByRoleIds 根据管理员多个角色查询菜单ID
 func GetMenuListAllByRoleIds(roleIds string) (items []*MenuList, err error) {
-	sql := ` SELECT DISTINCT a.* FROM sys_menu AS a
+	//sql := ` SELECT DISTINCT a.* FROM sys_menu AS a
+	//		INNER JOIN sys_role_menu AS b ON a.menu_id=b.menu_id AND b.type = 0
+	//		INNER JOIN sys_role AS c ON b.role_id=c.role_id
+	//		WHERE c.role_id in (` + roleIds + `)
+	//        AND a.menu_type=0
+	//        ORDER BY menu_id ASC `
+	sql := ` SELECT a.* FROM sys_menu AS a
 			INNER JOIN sys_role_menu AS b ON a.menu_id=b.menu_id AND b.type = 0
 			INNER JOIN sys_role AS c ON b.role_id=c.role_id
 			WHERE c.role_id in (` + roleIds + `)