| <?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.doumee.dao.system.SystemPermissionMapper"> | 
|   | 
|   <!-- 查询系统权限列表 --> | 
|   <resultMap id="SystemPermissionListVO" type="com.doumee.dao.system.vo.SystemPermissionListVO" autoMapping="true"> | 
|     <id column="id" property="id"/> | 
|     <association property="createUserInfo" javaType="com.doumee.dao.system.model.SystemUser"> | 
|       <id column="create_user_id" property="id"/> | 
|       <result column="create_user_name" property="username"/> | 
|     </association> | 
|     <association property="updateUserInfo" javaType="com.doumee.dao.system.model.SystemUser"> | 
|       <id column="update_user_id" property="id"/> | 
|       <result column="update_user_name" property="username"/> | 
|     </association> | 
|   </resultMap> | 
|   <select id="selectManageList" resultMap="SystemPermissionListVO"> | 
|     select | 
|       perm.id, perm.code, perm.name, perm.remark, perm.fixed, perm.create_time, perm.update_time, perm.create_user, perm.update_user, perm.deleted, | 
|       create_user.id create_user_id, create_user.username create_user_name, | 
|       update_user.id updete_user_id, update_user.username update_user_name | 
|     from system_permission perm | 
|     left join "system_user" create_user on create_user.id = perm.create_user | 
|     left join "system_user" update_user on update_user.id = perm.update_user | 
|     <where> | 
|       perm.deleted = 0 | 
|       <if test="dto.code != null"> | 
|         AND perm.code LIKE '%'||#{dto.code}||'%' | 
|       </if> | 
|       <if test="dto.name != null"> | 
|         AND perm.name LIKE  '%'||#{dto.name}||'%' | 
|       </if> | 
|     </where> | 
|     ${orderByClause} | 
|   </select> | 
|   | 
|   <!-- 根据用户ID查询权限 --> | 
|   <select id="selectByUserId" resultType="com.doumee.dao.system.model.SystemPermission"> | 
|     select distinct | 
|       perm.id, perm.code, perm.name, perm.remark, perm.create_time, perm.update_time, perm.create_user, perm.update_user, perm.deleted | 
|     from system_permission perm | 
|     inner join system_role_permission role_perm on role_perm.permission_id = perm.id and role_perm.deleted = 0 | 
|     inner join system_role role on role.id = role_perm.role_id and role.deleted = 0 | 
|     inner join system_user_role user_role on user_role.role_id = role.id and user_role.deleted = 0 | 
|     <where> | 
|       perm.deleted = 0 | 
|       and user_role.user_id = #{userid} | 
|     </where> | 
|   </select> | 
|   | 
|   <!-- 根据角色ID查询权限 --> | 
|   <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.doumee.dao.system.model.SystemPermission"> | 
|     select | 
|       perm.id, perm.code, perm.name, perm.remark, perm.create_time, perm.update_time, perm.create_user, perm.update_user, perm.deleted | 
|     from system_permission perm | 
|     <where> | 
|       perm.deleted = 0 | 
|       AND EXISTS ( SELECT 1 FROM system_role_permission role_perm WHERE role_perm.permission_id = perm.ID AND role_perm.deleted = 0 AND role_perm.role_id = #{roleid} ) | 
|     </where> | 
|   </select> | 
|   | 
| </mapper> |