From d6fcca25f2979710b008502e26aeceb8993f86ae Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 06 一月 2026 20:00:28 +0800
Subject: [PATCH] #

---
 rsf-server/src/main/resources/mapper/system/PdaRoleMenuMapper.xml |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/rsf-server/src/main/resources/mapper/system/PdaRoleMenuMapper.xml b/rsf-server/src/main/resources/mapper/system/PdaRoleMenuMapper.xml
new file mode 100644
index 0000000..5ab2813
--- /dev/null
+++ b/rsf-server/src/main/resources/mapper/system/PdaRoleMenuMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vincent.rsf.server.system.mapper.PdaRoleMenuMapper">
+    <select id="listMenuByUserId" resultType="com.vincent.rsf.server.manager.entity.MenuPda">
+        SELECT DISTINCT sm.*
+        FROM sys_menu_pda sm
+        JOIN sys_pda_role_menu srm ON sm.id = srm.menu_id
+        JOIN sys_user_role sur ON srm.role_id = sur.role_id
+        JOIN sys_role sr ON sur.role_id = sr.id
+        WHERE 1=1
+        <if test="type != null">
+            AND sm.type = #{type}
+        </if>
+        AND sur.user_id = #{userId}
+        AND sr.deleted = 0
+        AND sm.deleted = 0
+        ORDER BY sm.sort
+    </select>
+
+    <select id="listStrictlyMenuByRoleId" resultType="java.lang.Long">
+        select sm.id
+        from sys_menu_pda sm
+        left join sys_pda_role_menu srm on sm.id = srm.menu_id
+        where 1=1
+        and sm.deleted = 0
+        and srm.role_id = #{roleId}
+        <!--
+        and sm.id not in (
+            select sm.parent_id
+            from sys_menu sm
+            inner join sys_role_menu srm on sm.id = srm.menu_id
+            and srm.role_id = #{roleId}
+        )
+        -->
+        order by sm.sort
+    </select>
+</mapper>

--
Gitblit v1.9.1