58 lines
2.0 KiB
XML
58 lines
2.0 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.yfd.platform.system.mapper.SysUserTenantMapper">
|
||
|
||
<!-- 查询用户可访问的门户ID列表 -->
|
||
<select id="getTenantIdsByUserId" resultType="java.lang.String">
|
||
SELECT TENANT_ID
|
||
FROM SYS_USER_TENANT
|
||
WHERE USER_ID = #{userId}
|
||
</select>
|
||
|
||
<!-- 批量删除用户-门户关联 -->
|
||
<delete id="deleteByUserId">
|
||
DELETE FROM SYS_USER_TENANT WHERE USER_ID = #{userId}
|
||
</delete>
|
||
|
||
<!-- 批量新增用户-门户关联(使用 MERGE 兼容 Oracle) -->
|
||
<insert id="batchInsert">
|
||
MERGE INTO SYS_USER_TENANT T
|
||
USING (
|
||
<foreach collection="tenantIds" item="tenantId" index="index" separator="UNION ALL">
|
||
SELECT
|
||
#{userId, jdbcType=VARCHAR} AS USER_ID,
|
||
#{tenantId, jdbcType=VARCHAR} AS TENANT_ID
|
||
FROM DUAL
|
||
</foreach>
|
||
) S
|
||
ON (T.USER_ID = S.USER_ID AND T.TENANT_ID = S.TENANT_ID)
|
||
WHEN NOT MATCHED THEN
|
||
INSERT (ID, USER_ID, TENANT_ID)
|
||
VALUES (SYS_GUID(), S.USER_ID, S.TENANT_ID)
|
||
</insert>
|
||
|
||
<!-- 删除指定用户和指定门户的关联 -->
|
||
<delete id="deleteByUserIdAndTenantId">
|
||
DELETE FROM SYS_USER_TENANT WHERE USER_ID = #{userId} AND TENANT_ID = #{tenantId}
|
||
</delete>
|
||
|
||
<!-- 查询某门户下的所有用户ID -->
|
||
<select id="getUserIdsByTenantId" resultType="java.lang.String">
|
||
SELECT USER_ID FROM SYS_USER_TENANT WHERE TENANT_ID = #{tenantId}
|
||
</select>
|
||
|
||
<!-- 批量查询用户-门户关联 -->
|
||
<select id="getTenantIdsByUserIds" resultType="java.util.HashMap">
|
||
SELECT
|
||
USER_ID AS "userId",
|
||
TENANT_ID AS "tenantId"
|
||
FROM SYS_USER_TENANT
|
||
WHERE USER_ID IN
|
||
<foreach collection="userIds" item="id" open="(" separator="," close=")">
|
||
#{id}
|
||
</foreach>
|
||
</select>
|
||
|
||
</mapper>
|