48 lines
2.0 KiB
XML
48 lines
2.0 KiB
XML
<?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.nflg.wms.repository.mapper.MenuMapper">
|
|
|
|
<select id="getButtonsByMenuId" resultType="com.nflg.wms.common.pojo.vo.ButtonVO">
|
|
SELECT DISTINCT mb.name, mb.code
|
|
FROM role r
|
|
INNER JOIN role_button_map rbm ON r.id = rbm.role_id
|
|
INNER JOIN menu_button mb ON rbm.button_id = mb.id
|
|
INNER JOIN user_role_map urm ON urm.role_id = r.id
|
|
WHERE mb.enable = TRUE
|
|
AND mb.menu_id = #{menuId}
|
|
AND urm.user_id = #{userId}
|
|
</select>
|
|
|
|
<select id="menuIsSelected" resultType="java.lang.Boolean">
|
|
SELECT EXISTS(SELECT 1
|
|
FROM role_menu_map
|
|
WHERE menu_id = #{menuId}
|
|
AND role_id = #{roleId})
|
|
</select>
|
|
|
|
<select id="getAllDataForAuthorize" resultType="com.nflg.wms.common.pojo.vo.MenuAuthorizeVO">
|
|
select id,
|
|
parent_id,
|
|
"name",
|
|
CONCAT('menu-', id) as key,
|
|
sort,
|
|
1 as type,
|
|
case when b.menu_id is null then false else true end as selected
|
|
from menu a
|
|
left join (select menu_id from role_menu_map where role_id = #{roleId}) b on a.id = b.menu_id
|
|
where "enable" = true
|
|
UNION
|
|
select id,
|
|
menu_id,
|
|
"name",
|
|
CONCAT('button-', id) as key,
|
|
sort,
|
|
2 as type,
|
|
case when b.button_id is null then false else true end as selected
|
|
from menu_button a
|
|
left join (select button_id from role_button_map where role_id = #{roleId}) b on a.id = b.button_id
|
|
where "enable" = true
|
|
order by sort;
|
|
</select>
|
|
</mapper>
|