WholeProcessPlatform/backend/src/main/resources/mapper/system/PushConfigUserMapper.xml

77 lines
2.8 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.yfd.platform.system.mapper.PushConfigUserMapper">
<select id="selectAllActiveUsers" resultType="com.yfd.platform.system.domain.PushTargetUserVo">
SELECT
u.ID AS userId,
NVL(u.REAL_NAME, NVL(u.NICKNAME, u.USERNAME)) AS targetName,
u.PHONE AS targetPhone
FROM SYS_USER u
WHERE u.STATUS = 1
AND u.PHONE IS NOT NULL
AND TRIM(u.PHONE) IS NOT NULL
</select>
<select id="selectTargetUsersByConfigId" resultType="com.yfd.platform.system.domain.PushTargetUserVo">
SELECT DISTINCT
t.userId,
t.targetName,
t.targetPhone
FROM (
SELECT
u.ID AS userId,
NVL(u.REAL_NAME, NVL(u.NICKNAME, u.USERNAME)) AS targetName,
u.PHONE AS targetPhone
FROM PUSH_CONFIG_USER pcu
INNER JOIN SYS_USER u ON u.ID = pcu.USER_ROLE_ID
WHERE pcu.CONFIG_ID = #{configId}
AND pcu.TYPE = 0
AND NVL(pcu.IS_DELETED, 0) = 0
AND u.STATUS = 1
AND u.PHONE IS NOT NULL
AND TRIM(u.PHONE) IS NOT NULL
UNION ALL
SELECT
u.ID AS userId,
NVL(u.REAL_NAME, NVL(u.NICKNAME, u.USERNAME)) AS targetName,
u.PHONE AS targetPhone
FROM PUSH_CONFIG_USER pcu
INNER JOIN SYS_ROLE_USERS sru ON sru.ROLEID = pcu.USER_ROLE_ID
INNER JOIN SYS_USER u ON u.ID = sru.USERID
WHERE pcu.CONFIG_ID = #{configId}
AND pcu.TYPE = 1
AND NVL(pcu.IS_DELETED, 0) = 0
AND u.STATUS = 1
AND u.PHONE IS NOT NULL
AND TRIM(u.PHONE) IS NOT NULL
) t
</select>
<select id="selectConfigTargets" resultType="com.yfd.platform.system.domain.PushConfigTargetVo">
SELECT
pcu.ID AS id,
pcu.CONFIG_ID AS configId,
pcu.TYPE AS type,
pcu.USER_ROLE_ID AS userRoleId,
CASE
WHEN pcu.TYPE = 0 THEN NVL(u.REAL_NAME, NVL(u.NICKNAME, u.USERNAME))
ELSE r.ROLENAME
END AS targetName,
CASE
WHEN pcu.TYPE = 0 THEN u.PHONE
ELSE NULL
END AS targetPhone
FROM PUSH_CONFIG_USER pcu
LEFT JOIN SYS_USER u ON pcu.TYPE = 0 AND u.ID = pcu.USER_ROLE_ID
LEFT JOIN SYS_ROLE r ON pcu.TYPE = 1 AND r.ID = pcu.USER_ROLE_ID
WHERE pcu.CONFIG_ID = #{configId}
AND NVL(pcu.IS_DELETED, 0) = 0
ORDER BY pcu.CREATED_AT DESC, pcu.ID DESC
</select>
</mapper>