<?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.RoleMenuMapper">
|
|
<select id="listMenuByUserId" resultType="com.vincent.rsf.server.system.entity.Menu">
|
SELECT DISTINCT sm.*
|
FROM sys_menu sm
|
JOIN sys_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 sm
|
left join sys_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>
|