<?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.terra.system.mapper.all.PermsMapper">
|
<select id="selectRes" resultType="com.terra.system.entity.all.ResAuthEntity">
|
select distinct d.id,d.name,d.server
|
from lf.sys_user a
|
inner join lf.sys_role_user b on a.id = b.userid
|
inner join lf.sys_role_res c on b.roleid = c.roleid
|
inner join lf.sys_res d on c.resid = d.id
|
<where>
|
<if test="uid != null">
|
a.uid = #{uid}
|
</if>
|
</where>
|
order by d.id
|
</select>
|
|
<select id="selectMenus" resultType="com.terra.system.entity.all.MenusAuthEntity">
|
select distinct e.id,e.pid,e.cn_name,e.en_name,e.url,e.perms,e.type,e.css,e.icon,e.level,e.order_num,e.is_show
|
from lf.sys_user a
|
inner join lf.sys_role_user b on a.id = b.userid
|
inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
|
inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
|
inner join lf.sys_menu e on d.menuid = e.id
|
<where>
|
<if test="uid != null">
|
a.uid = #{uid}
|
</if>
|
</where>
|
order by e.order_num
|
</select>
|
|
<select id="selectPerms" resultType="java.lang.String">
|
select distinct e.perms || f.tag as perms
|
from lf.sys_user a
|
inner join lf.sys_role_user b on a.id = b.userid
|
inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
|
inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
|
inner join lf.sys_menu e on d.menuid = e.id
|
inner join lf.sys_auth f on d.authid = f.id
|
<where>
|
e.perms is not null
|
<if test="uid != null">
|
and a.uid = #{uid}
|
</if>
|
</where>
|
order by perms
|
</select>
|
|
<select id="selectPermsEntity" resultType="com.terra.system.entity.all.PermsAuthEntity">
|
select distinct e.id,e.pid,e.order_num,e.cn_name,e.en_name,f.name,e.perms,f.tag
|
from lf.sys_user a
|
inner join lf.sys_role_user b on a.id = b.userid
|
inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
|
inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
|
inner join lf.sys_menu e on d.menuid = e.id
|
inner join lf.sys_auth f on d.authid = f.id
|
<where>
|
<if test="uid != null">
|
a.uid = #{uid}
|
</if>
|
</where>
|
order by e.order_num
|
</select>
|
|
<select id="selectRoles" resultType="java.lang.Integer">
|
select is_admin from lf.sys_role a inner join lf.sys_role_user b on a.id = b.roleid
|
inner join lf.sys_user c on b.userid = c.id where c.uid = #{uid}
|
</select>
|
|
<select id="selectMenuRecursive" resultType="com.terra.system.entity.sys.MenuEntity">
|
with recursive rs as (
|
select a.* from lf.sys_menu a where a.id = #{id}
|
union
|
select a.* from lf.sys_menu a, rs b where a.pid = b.id
|
)
|
select * FROM rs where rs.id in (
|
select distinct e.id
|
from lf.sys_user a
|
inner join lf.sys_role_user b on a.id = b.userid
|
inner join lf.sys_role_menu_auth c on b.roleid = c.roleid
|
inner join lf.sys_menu_auth d on c.menu_auth_id = d.id
|
inner join lf.sys_menu e on d.menuid = e.id
|
inner join lf.sys_auth f on d.authid = f.id
|
<where>
|
<if test="uid != null">
|
a.uid = #{uid}
|
</if>
|
</where>
|
)
|
order by order_num;
|
</select>
|
</mapper>
|