65 lines
2.2 KiB
XML
65 lines
2.2 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="xtools.app.sys.mapper.SysMenuMapper">
|
|
<!-- 根据角色 ID 查询菜单列表 -->
|
|
<select id="getMenuByRoleIds" resultType="xtools.app.sys.model.entity.SysMenu">
|
|
SELECT
|
|
DISTINCT
|
|
sm.id,
|
|
sm.parent_id,
|
|
sm.tree_path,
|
|
sm.menu_name,
|
|
sm.menu_type,
|
|
sm.menu_icon,
|
|
sm.route_name,
|
|
sm.route_path,
|
|
sm.component,
|
|
sm.menu_visible,
|
|
sm.menu_cache
|
|
FROM
|
|
sys_menu sm
|
|
LEFT JOIN sys_role_menu srm ON sm.id = srm.menu_id
|
|
<where>
|
|
AND sm.menu_type IN ('C', 'M')
|
|
<if test="roleIds != null and roleIds.size() > 0">
|
|
AND srm.role_id IN
|
|
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
|
|
#{roleId}
|
|
</foreach>
|
|
</if>
|
|
</where>
|
|
ORDER BY
|
|
sm.sort,
|
|
sm.gmt_create DESC
|
|
</select>
|
|
|
|
<!-- 根据角色 ID 获取按钮权限列表 -->
|
|
<select id="getBtnPermByRoleIds" resultType="xtools.app.sys.model.entity.SysMenu">
|
|
SELECT
|
|
DISTINCT
|
|
sm.btn_perm
|
|
FROM
|
|
sys_menu sm
|
|
LEFT JOIN sys_role_menu srm ON sm.id = srm.menu_id
|
|
<where>
|
|
AND sm.menu_type = 'B'
|
|
<if test="roleIds != null and roleIds.size() > 0">
|
|
AND srm.role_id IN
|
|
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
|
|
#{roleId}
|
|
</foreach>
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<!-- 获取接口权限列表 -->
|
|
<select id="getSysInterfacePerm" resultType="xtools.app.sys.model.entity.SysInterfacePerm">
|
|
SELECT sm.interface_perm_type type,
|
|
sm.interface_perm_uri uri,
|
|
GROUP_CONCAT(srm.role_id SEPARATOR ',') AS roleIds
|
|
FROM sys_menu sm
|
|
LEFT JOIN sys_role_menu srm ON sm.id = srm.menu_id
|
|
WHERE sm.menu_type = 'I'
|
|
GROUP BY sm.id
|
|
</select>
|
|
</mapper> |