auth-server-java/dao/src/main/resources/mapper/system/PermissionMapper.xml

64 lines
2.9 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="cn.bunny.services.mapper.system.PermissionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.bunny.services.domain.system.system.entity.Permission">
<id column="id" property="id"/>
<id column="create_time" property="createTime"/>
<id column="update_time" property="updateTime"/>
<id column="create_user" property="createUser"/>
<id column="update_user" property="updateUser"/>
<id column="is_deleted" property="isDeleted"/>
<id column="parent_id" property="parentId"/>
<id column="power_code" property="powerCode"/>
<id column="power_name" property="powerName"/>
<id column="request_url" property="requestUrl"/>
<id column="request_method" property="requestMethod"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, create_time, update_time, create_user, update_user, is_deleted, parent_id, power_code, power_name,
request_url
</sql>
<!-- 分页查询权限内容 -->
<select id="selectListByPage" resultType="cn.bunny.services.domain.system.system.vo.PermissionVo">
select
permission.*,
create_user.username as create_username,
update_user.username as update_username
from sys_permission permission
left join sys_user create_user on create_user.id = permission.create_user
left join sys_user update_user on update_user.id = permission.update_user
<where>
permission.is_deleted = 0
<if test="dto.powerCode != null and dto.powerCode != ''">
and permission.power_code like CONCAT('%',#{dto.powerCode},'%')
</if>
<if test="dto.powerName != null and dto.powerName != ''">
and permission.power_name like CONCAT('%',#{dto.powerName},'%')
</if>
<if test="dto.requestUrl != null and dto.requestUrl != ''">
and permission.request_url like CONCAT('%',#{dto.requestUrl},'%')
</if>
<if test="dto.requestMethod != null and dto.requestMethod != ''">
and permission.request_method like CONCAT('%',#{dto.requestMethod},'%')
</if>
</where>
order by permission.update_time desc
</select>
<!-- 根据用户id查询当前用户所有权限 -->
<select id="selectListByUserId" resultType="cn.bunny.services.domain.system.system.entity.Permission">
SELECT p.*
FROM sys_permission p
INNER JOIN sys_role_permission rp ON p.id = rp.power_id
INNER JOIN sys_user_role ur ON rp.role_id = ur.role_id
INNER JOIN sys_user u ON ur.user_id = u.id AND u.is_deleted = 0
WHERE u.id = #{userId}
</select>
</mapper>