162 lines
5.2 KiB
XML
162 lines
5.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="io.dataease.ext.ExtAuthMapper">
|
|
|
|
<resultMap id="AuthItemMap" type="io.dataease.auth.entity.AuthItem">
|
|
<result column="auth_source" property="authSource"/>
|
|
<result column="level" property="level"/>
|
|
</resultMap>
|
|
|
|
<select id="queryUserIdWithRoleIds" resultType="java.lang.Long" >
|
|
select user_id
|
|
from sys_users_roles
|
|
where role_id in
|
|
<foreach collection="roleIds" item="roleId" open='(' separator=',' close=')'>
|
|
#{roleId}
|
|
</foreach>
|
|
</select>
|
|
|
|
|
|
<select id="queryUserIdWithDeptIds" resultType="java.lang.Long" >
|
|
select user_id
|
|
from sys_user
|
|
where dept_id in
|
|
<foreach collection="deptIds" item="deptId" open='(' separator=',' close=')'>
|
|
#{deptId}
|
|
</foreach>
|
|
</select>
|
|
|
|
|
|
<select id="queryByResource" resultMap="io.dataease.plugins.common.base.mapper.SysAuthMapper.BaseResultMap" >
|
|
select a.*
|
|
from sys_auth a left join sys_auth_detail b on a.id = b.auth_id
|
|
where a.auth_source = #{resourceId} and b.privilege_value = 1
|
|
</select>
|
|
|
|
<select id="dataSourceIdByUser" resultMap="AuthItemMap">
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'link'
|
|
AND auth_target_type = 'user'
|
|
AND auth_target = #{userId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="dataSetIdByUser" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'dataset'
|
|
AND auth_target_type = 'user'
|
|
AND auth_target = #{userId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="panelIdByUser" resultMap="AuthItemMap">
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
|
|
WHERE
|
|
auth_source_type = 'panel'
|
|
AND auth_target_type = 'user'
|
|
AND auth_target = #{userId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="dataSourceIdByRole" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'link'
|
|
AND auth_target_type = 'role'
|
|
AND auth_target = #{roleId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="dataSetIdByRole" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'dataset'
|
|
AND auth_target_type = 'role'
|
|
AND auth_target = #{roleId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="panelIdByRole" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'panel'
|
|
AND auth_target_type = 'role'
|
|
AND auth_target = #{roleId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="dataSourceIdByDept" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'link'
|
|
AND auth_target_type = 'dept'
|
|
AND auth_target = #{deptId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="dataSetIdByDept" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'dataset'
|
|
AND auth_target_type = 'dept'
|
|
AND auth_target = #{deptId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
<select id="panelIdByDept" resultMap="AuthItemMap" >
|
|
SELECT
|
|
auth_source, MAX(d.privilege_type) as level
|
|
FROM
|
|
sys_auth a
|
|
LEFT JOIN sys_auth_detail d on d.auth_id = a.id
|
|
WHERE
|
|
auth_source_type = 'panel'
|
|
AND auth_target_type = 'dept'
|
|
AND auth_target = #{deptId}
|
|
AND d.privilege_value = 1
|
|
GROUP BY a.id
|
|
</select>
|
|
|
|
<select id="parentResource" resultType="String" >
|
|
select GET_V_AUTH_MODEL_WITH_PARENT(#{resourceId}, #{type})
|
|
</select>
|
|
|
|
|
|
|
|
</mapper>
|