<?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.zy.ptc.kernel.system.mapper.RoleMenuMapper">
|
|
<select id="listMenuByUserId" resultType="com.zy.ptc.kernel.system.entity.Menu">
|
select * from sys_menu
|
where 1=1
|
<if test="type != null">
|
AND type = #{type}
|
</if>
|
and deleted = 0
|
and id in (
|
select menu_id from sys_role_menu
|
where role_id in (
|
select sur.role_id from sys_user_role sur
|
left join sys_role sr on sur.role_id = sr.id
|
where 1=1
|
and sur.user_id = #{userId}
|
and sr.deleted = 0
|
)
|
)
|
order by 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>
|