aries.zhang пре 5 година
родитељ
комит
2a4a8012b6

+ 25 - 24
sqlconfig/system_controller/system_find_menu_page_count.tpl

@@ -1,33 +1,34 @@
 select
-    count(distinct sys_menu.id) records
-from
-    sys_menu
-LEFT JOIN
-    sys_role_menu
-ON
-    sys_menu.id = sys_role_menu.menu_id
-LEFT JOIN
-    sys_user_role
-ON
-    sys_role_menu.role_id = sys_user_role.role_id
-LEFT JOIN
-    sys_user
-ON
-    sys_user_role.user_id = sys_user.id
-where
-    sys_menu.del_flag = 0
+    count(sys_menu.id) records
+FROM
+	sys_menu
+{{if ne .user_id ""}}
+INNER JOIN (
+	SELECT DISTINCT
+		sys_role_menu.menu_id
+	FROM
+		sys_role_menu,
+		sys_user_role,
+		sys_user
+	WHERE
+		sys_role_menu.del_flag = 0
+	AND sys_user_role.del_flag = 0
+    AND sys_user.id = '{{.user_id}}'
+	AND sys_role_menu.role_id = sys_user_role.role_id
+	AND sys_user_role.user_id = sys_user.id
+) sys_role_menu ON sys_menu.id = sys_role_menu.menu_id
+{{end}}
+WHERE
+	sys_menu.del_flag = 0
 {{if ne .name ""}}
-    and sys_menu.name like '%{{.name}}%'
+    AND sys_menu.name like '%{{.name}}%'
 {{end}}
 {{if ne .code ""}}
-    and sys_menu.code like '%{{.code}}%'
+    AND sys_menu.code like '%{{.code}}%'
 {{end}}
 {{if ne .cn_id ""}}
-    and sys_menu.inheritance like '%{{.cn_id}}%'
+    AND sys_menu.inheritance like '%{{.cn_id}}%'
 {{end}}
 {{if ne .type_op ""}}
-    and sys_menu.type {{.type_op}} {{.type}}
-{{end}}
-{{if ne .user_id ""}}
-    and sys_user.id = '{{.user_id}}'
+    AND sys_menu.type {{.type_op}} {{.type}}
 {{end}}

+ 29 - 30
sqlconfig/system_controller/system_find_menu_page_select.tpl

@@ -1,38 +1,37 @@
-
-select
-    distinct sys_menu.*
-from
-    sys_menu
-LEFT JOIN
-    sys_role_menu
-ON
-    sys_menu.id = sys_role_menu.menu_id
-LEFT JOIN
-    sys_user_role
-ON
-    sys_role_menu.role_id = sys_user_role.role_id
-LEFT JOIN
-    sys_user
-ON
-    sys_user_role.user_id = sys_user.id
-where
-    sys_menu.del_flag = 0
+SELECT
+	sys_menu.*
+FROM
+	sys_menu
+{{if ne .user_id ""}}
+INNER JOIN (
+	SELECT DISTINCT
+		sys_role_menu.menu_id
+	FROM
+		sys_role_menu,
+		sys_user_role,
+		sys_user
+	WHERE
+		sys_role_menu.del_flag = 0
+	AND sys_user_role.del_flag = 0
+    AND sys_user.id = '{{.user_id}}'
+	AND sys_role_menu.role_id = sys_user_role.role_id
+	AND sys_user_role.user_id = sys_user.id
+) sys_role_menu ON sys_menu.id = sys_role_menu.menu_id
+{{end}}
+WHERE
+	sys_menu.del_flag = 0
 {{if ne .name ""}}
-    and sys_menu.name like '%{{.name}}%'
+    AND sys_menu.name like '%{{.name}}%'
 {{end}}
 {{if ne .code ""}}
-    and sys_menu.code like '%{{.code}}%'
+    AND sys_menu.code like '%{{.code}}%'
 {{end}}
 {{if ne .cn_id ""}}
-    and sys_menu.inheritance like '%{{.cn_id}}%'
+    AND sys_menu.inheritance like '%{{.cn_id}}%'
 {{end}}
 {{if ne .type_op ""}}
-    and sys_menu.type {{.type_op}} {{.type}}
-{{end}}
-{{if ne .user_id ""}}
-    and sys_user.id = '{{.user_id}}'
-{{else}}
-    group by sys_menu.id
+    AND sys_menu.type {{.type_op}} {{.type}}
 {{end}}
-order by order_num
-LIMIT {{.rows}} OFFSET {{.offset}}
+ORDER BY
+	sys_menu.order_num, sys_menu.id
+LIMIT {{.rows}} OFFSET {{.offset}}