54 lines
1.8 KiB
XML
54 lines
1.8 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.imyeyu.api.modules.user.mapper.RolePermissionDelegationMapper">
|
|
<select id="selectByRoleIdList" resultType="com.imyeyu.api.modules.user.entity.RolePermissionDelegation">
|
|
SELECT
|
|
*
|
|
FROM `role_permission_delegation`
|
|
WHERE
|
|
`role_id` IN
|
|
<foreach collection="roleIdList" item="item" separator="," open="(" close=")">
|
|
#{item}
|
|
</foreach>
|
|
AND `deleted_at` IS NULL
|
|
</select>
|
|
<select id="selectPermissionByRoleIdList" resultType="com.imyeyu.api.modules.user.entity.Permission">
|
|
SELECT DISTINCT
|
|
permission.*
|
|
FROM `role_permission_delegation`
|
|
LEFT JOIN `permission` ON permission.id = role_permission_delegation.permission_id
|
|
WHERE
|
|
`role_permission_delegation`.`role_id` IN
|
|
<foreach collection="roleIdList" item="item" separator="," open="(" close=")">
|
|
#{item}
|
|
</foreach>
|
|
AND `role_permission_delegation`.`deleted_at` IS NULL
|
|
AND `permission`.`deleted_at` IS NULL
|
|
ORDER BY
|
|
`permission`.code ASC
|
|
</select>
|
|
<insert id="createBatch">
|
|
INSERT INTO `role_permission_delegation` (
|
|
id,
|
|
role_id,
|
|
permission_id,
|
|
created_by,
|
|
created_at
|
|
) VALUES
|
|
<foreach collection="rolePermissionDelegationList" item="item" separator=",">
|
|
(#{item.id}, #{item.roleId}, #{item.permissionId}, #{item.createdBy}, #{item.createdAt})
|
|
</foreach>
|
|
</insert>
|
|
<update id="deleteByPermissionIdList">
|
|
UPDATE `role_permission_delegation`
|
|
SET `deleted_at` = UNIX_TIMESTAMP()
|
|
WHERE
|
|
`role_id` = #{roleId}
|
|
AND `permission_id` IN
|
|
<foreach collection="permissionIdList" item="item" separator="," open="(" close=")">
|
|
#{item}
|
|
</foreach>
|
|
AND `deleted_at` IS NULL
|
|
</update>
|
|
</mapper>
|