70 lines
3.1 KiB
XML
70 lines
3.1 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.CUST.brain.dao.mapper.SysPermissionMapper">
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
<resultMap id="BaseResultMap" type="com.CUST.brain.dao.domain.system.SysPermission">
|
|
<id column="id" property="id"/>
|
|
<result column="permission_name" property="permissionName"/>
|
|
<result column="permission_code" property="permissionCode"/>
|
|
<result column="permission_type" property="permissionType"/>
|
|
<result column="parent_id" property="parentId"/>
|
|
<result column="path" property="path"/>
|
|
<result column="component" property="component"/>
|
|
<result column="icon" property="icon"/>
|
|
<result column="sort" property="sort"/>
|
|
<result column="status" property="status"/>
|
|
<result column="create_time" property="createTime"/>
|
|
<result column="update_time" property="updateTime"/>
|
|
<result column="create_by" property="createBy"/>
|
|
<result column="update_by" property="updateBy"/>
|
|
<result column="flag" property="flag"/>
|
|
</resultMap>
|
|
|
|
<!-- 通用查询结果列 -->
|
|
<sql id="Base_Column_List">
|
|
id, permission_name, permission_code, permission_type, parent_id, path, component,
|
|
icon, sort_order, status, create_time, update_time, create_by, update_by, deleted
|
|
</sql>
|
|
<insert id="insertRolePermissionsBatch">
|
|
INSERT INTO sys_role_permission (id, role_id, permission_id, create_time)
|
|
VALUES
|
|
<foreach collection="list" item="item" separator=",">
|
|
(#{item.id}, #{item.roleId}, #{item.permissionId}, NOW())
|
|
</foreach>
|
|
</insert>
|
|
<delete id="deleteRolePermissionsByRoleId">
|
|
DELETE FROM sys_role_permission WHERE role_id = #{roleId}
|
|
</delete>
|
|
<select id="selectPermissionsByUserId" resultType="com.CUST.brain.dao.domain.system.SysPermission">
|
|
SELECT DISTINCT p.* FROM sys_permission p
|
|
INNER JOIN sys_role_permission rp ON p.id = rp.permission_id
|
|
INNER JOIN sys_user_role ur ON rp.role_id = ur.role_id
|
|
WHERE ur.user_id = #{userId} AND p.flag = 0
|
|
</select>
|
|
<select id="selectPermissionsWithRoleStatus" resultType="com.CUST.brain.common.dto.system.PermissionTreeVO">
|
|
SELECT
|
|
p.id,
|
|
p.permission_name,
|
|
p.permission_code,
|
|
p.permission_type,
|
|
p.parent_id,
|
|
p.path,
|
|
p.component,
|
|
p.icon,
|
|
p.sort
|
|
FROM sys_permission p
|
|
LEFT JOIN sys_role_permission rp ON rp.role_id = #{roleId} AND rp.permission_id = p.id
|
|
WHERE p.status = 1
|
|
<if test="!isSuperAdmin">
|
|
AND p.permission_code NOT LIKE 'system%'
|
|
</if>
|
|
</select>
|
|
<select id="selectPermissionsByRoleId" resultType="com.CUST.brain.dao.domain.system.SysPermission">
|
|
SELECT p.*
|
|
FROM sys_permission p
|
|
INNER JOIN sys_role_permission rp ON p.id = rp.permission_id
|
|
WHERE rp.role_id = #{roleId}
|
|
</select>
|
|
|
|
</mapper> |