electromagnetic-data-new/electrmangnetic/src/main/resources/sqlmapper/RolePermissionMapper.xml

31 lines
1.5 KiB
XML
Raw Normal View History

<?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.electromagnetic.industry.software.manage.mapper.RolePermissionMapper">
<resultMap id="RolePermissionMap" type="com.electromagnetic.industry.software.manage.pojo.models.RolePermission">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="file_id" jdbcType="VARCHAR" property="fileId"/>
<result column="permission_code" jdbcType="VARCHAR" property="permissionCode"/>
<result column="role_id" jdbcType="VARCHAR" property="roleId"/>
</resultMap>
<select id="getCurrentPermission" parameterType="com.electromagnetic.industry.software.manage.pojo.req.PublishedFileDTO" resultMap="RolePermissionMap">
SELECT f.parent_id as file_id , rp.permission_code, rp.role_id
FROM ed_role_permission rp
JOIN ed_file_info f ON rp.file_id = f.id
WHERE f.parent_id = #{fileId}
AND f.prj_dir = #{prjDir}
AND f.data_status = #{dataStatus}
AND f.effect_flag = #{effectFlag}
GROUP BY rp.role_id, rp.permission_code
HAVING COUNT(f.id) = (
SELECT COUNT(f2.id)
FROM ed_file_info f2
WHERE f2.parent_id = #{fileId}
AND f2.prj_dir = #{prjDir}
AND f2.data_status = #{dataStatus}
AND f2.effect_flag = #{effectFlag}
)
</select>
</mapper>