From bdeb1fbd8a7933b8425bbed2b0093dfa1c2b4d3e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 15 May 2023 19:23:24 +0800
Subject: [PATCH] 菜单,角色查询调整排序

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/MenuMapper.xml |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/MenuMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/MenuMapper.xml
index 5ed33fe..252db7a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/MenuMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/MenuMapper.xml
@@ -59,7 +59,14 @@
             blade_menu menu
         WHERE menu.is_deleted = 0
         <if test="param1!=null">
-            and menu.parent_id = #{param1}
+            <choose>
+                <when test="param2.super!=null and param1==0">
+                    and menu.parent_id = #{param1} and (menu.name = 'web' or menu.name = 'app')
+                </when>
+                <otherwise>
+                    and menu.parent_id = #{param1}
+                </otherwise>
+            </choose>
         </if>
         <if test="param2.name!=null and param2.name!=''">
             and menu.name like concat(concat('%', #{param2.name}),'%')
@@ -475,4 +482,56 @@
         GROUP BY m.path
     </select>
 
+    <select id="selectAppMenu" resultType="cn.gistack.system.vo.MenuVO">
+        SELECT MENU.* FROM BLADE_MENU MENU
+        LEFT JOIN BLADE_MENU TOPMENU ON TOPMENU.ID = MENU.PARENT_ID
+        LEFT JOIN BLADE_ROLE_MENU BRM ON BRM.MENU_ID = MENU.ID
+        WHERE TOPMENU.NAME='app'
+        AND BRM.ROLE_ID = #{roleId}
+        AND MENU.IS_DELETED = 0
+                ORDER BY MENU.SORT ASC
+
+    </select>
+
+    <resultMap id="webMenu" type="cn.gistack.system.vo.WebMenuVO">
+        <result property="id" column="id"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="component" column="component"/>
+        <result property="path" column="path"/>
+        <association property="meta" javaType="cn.gistack.system.vo.Meta">
+            <result property="title" column="name"></result>
+            <result property="icon" column="icon_path"></result>
+        </association>
+    </resultMap>
+
+
+    <select id="selectWebTopMenu" resultMap="webMenu">
+        SELECT MENU.id,MENU.parent_id,MENU.component,MENU.path,MENU.name,MENU.ICON_PATH FROM BLADE_MENU MENU
+        LEFT JOIN BLADE_ROLE_MENU BRM ON BRM.MENU_ID = MENU.ID
+        WHERE MENU.NAME='web' AND MENU.PARENT_ID = 0
+        AND MENU.IS_DELETED = 0
+    </select>
+    <select id="getChildrenListById"  resultMap="webMenu">
+        SELECT MENU.id,MENU.parent_id,MENU.component,MENU.path,MENU.name,MENU.icon_path FROM BLADE_MENU MENU
+         LEFT JOIN BLADE_ROLE_MENU BRM ON BRM.MENU_ID = MENU.ID
+         WHERE MENU.parent_id = #{id}
+         AND BRM.ROLE_ID = #{roleId}
+         AND MENU.IS_DELETED = 0 ORDER BY MENU.SORT ASC
+    </select>
+    <select id="getButtonList" resultType="cn.gistack.system.vo.MenuVO">
+        SELECT * FROM BLADE_MENU M
+        LEFT JOIN BLADE_ROLE_MENU BRM ON M.ID = BRM.MENU_ID
+        WHERE BRM.ROLE_ID  IN
+        <foreach collection="roleIds" index="index" item="item" open="(" separator="," close=")">
+          #{item}
+        </foreach>
+        AND M.CATEGORY = 2 AND M.IS_DELETED = 0 AND M.BUTTON_REMARK = 'WEB'
+    </select>
+
+    <!--查询菜单列表(排除 web,app 之外的菜单)-->
+    <select id="grantTreeNew" resultMap="treeNodeResultMap">
+        select id, parent_id, name as title, id as "value", id as "key" from YWXT.blade_menu
+        where is_deleted = 0 start with ( name = 'web' or  name = 'app') CONNECT BY PRIOR id =  parent_id order by sort asc
+    </select>
+
 </mapper>

--
Gitblit v1.9.3