
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<?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.takensoft.taken_bi_manager.push.dao.WebPushDAO">
<!-- 사용자 매퍼 -->
<resultMap id="pushResult" type="PushVO">
<result property="userId" column="user_id"/>
<result property="isPush" column="is_push"/>
<result property="userNm" column="user_nm"/>
<result property="deptNm" column="dept_nm"/>
</resultMap>
<!-- 토큰 목록 매퍼 -->
<resultMap id="pushTokenLogResult" type="PushTokenLogVO">
<result property="userId" column="user_id"/>
<result property="issueDatetime" column="issue_datetime"/>
<result property="userNm" column="user_nm"/>
<result property="deptNm" column="dept_nm"/>
<result property="tokenState" column="token_state"/>
<result property="isPush" column="is_push"/>
<association property="userToken" javaType="PushTokenVO">
<result property="endpoint" column="endpoint"/>
<result property="expirationTime" column="expiration_time"/>
<association property="keys" javaType="PushTokenKeyVO">
<result property="auth" column="auth"/>
<result property="p256dh" column="p256dh"/>
</association>
</association>
</resultMap>
<!--<resultMap id="pushTokenResult" type="PushVO">
<result property="userId" column="user_id"/>
<result property="isPush" column="is_push"/>
<association property="userToken" javaType="PushTokenVO">
<result property="endpoint" column="endpoint"/>
<result property="expirationTime" column="expiration_time"/>
<association property="keys" javaType="PushTokenKeyVO">
<result property="auth" column="auth"/>
<result property="p256dh" column="p256dh"/>
</association>
</association>
</resultMap>-->
<resultMap id="pushLogResult" type="PushResultVO">
<result property="userId" column="user_id"/>
<result property="message" column="message"/>
<result property="sendTime" column="send_time"/>
<result property="userNm" column="user_nm"/>
</resultMap>
<!--<resultMap id="pushResult" type="PushVO">
<result property="userId" column="user_id"/>
<result property="userTokenString" column="user_token"/>
<result property="isPush" column="is_push"/>
</resultMap>
<resultMap id="pushTokenResult" type="PushVO">
<result property="userId" column="user_id"/>
<result property="isPush" column="is_push"/>
<association property="userToken" javaType="PushTokenVO">
<result property="endpoint" column="endpoint"/>
<result property="expirationTime" column="expiration_time"/>
<association property="keys" javaType="PushTokenKeyVO">
<result property="auth" column="auth"/>
<result property="p256dh" column="p256dh"/>
</association>
</association>
</resultMap>-->
<!-- Job그룹 생성 및 업데이트 -->
<update id="insertPush" parameterType="PushVO">
INSERT INTO push
(
job_group_id
, indx
, column_name
, column_display_name
, data_value
, creat_dt
, check_at
)
VALUES
(
#{job_group_id}
, #{indx}
, #{column_name}
, #{column_display_name}
, #{data_value}
, current_timestamp
, #{check_at}
)
</update>
<!-- Job그룹 생성 및 업데이트 -->
<select id="checkPushHistory" parameterType="PushVO" resultType="Integer">
select count(*)
from push
where
job_group_id = #{job_group_id}
and column_name = #{column_name}
and
creat_dt <![CDATA[>]]> current_timestamp - interval '5 minute'
</select>
<!--
작성자 : 하석형
작성일 : 2024.02.07
내용 : 웹 푸시 사용자 목록 조회
-->
<select id="selectPushUserList" parameterType="PushVO" resultMap="pushResult">
SELECT
user_id
, is_push
, user_nm
, dept_nm
FROM
push_user
<if test="using == 'Y'">
WHERE
is_push = true
</if>
<if test="using == 'N'">
WHERE
is_push = false
</if>
</select>
<!--
작성자 : 하석형
작성일 : 2024.02.16
내용 : 웹 푸시 허용 사용자 등록
-->
<update id="insertPushUser">
UPDATE push_user
SET
is_push = true
WHERE
user_id = #{userId}
</update>
<!--
작성자 : 하석형
작성일 : 2024.02.16
내용 : 웹 푸시 허용 사용자 삭제
-->
<update id="deletePushUser">
UPDATE push_user
SET
is_push = false
WHERE
user_id = #{userId}
</update>
<!--
작성자 : 하석형
작성일 : 2024.02.14
내용 : 웹 푸시 토큰 목록 조회
-->
<select id="selectPushTokenList" resultMap="pushTokenLogResult">
SELECT
pt.user_id
, issue_datetime
, user_nm
, dept_nm
, endpoint
, expiration_time
, auth
, p256dh
, token_state
, pu.is_push
FROM
push_token pt
JOIN
push_user pu
ON
pt.user_id = pu.user_id
<if test="using == 'Y'">
WHERE
token_state = 'Y'
</if>
ORDER BY
issue_datetime DESC
</select>
<!--
작성자 : 하석형
작성일 : 2024.02.15
내용 : 웹 푸시 토큰 등록
-->
<insert id="userPushTokenInsert" parameterType="PushTokenLogVO">
INSERT INTO push_token(
user_id
, issue_datetime
, endpoint
, expiration_time
, auth
, p256dh
, token_state
) VALUES (
#{userId}
, #{issueDatetime}
, #{userToken.endpoint}
, #{userToken.expirationTime}
, #{userToken.keys.auth}
, #{userToken.keys.p256dh}
, #{tokenState}
)
</insert>
<!--
작성자 : 하석형
작성일 : 2024.02.07
내용 : 웹 푸시 결과 목록 조회
-->
<select id="selectPushResultList" resultMap="pushLogResult">
SELECT
pr.user_id
, message
, send_time
, pu.user_nm
FROM
push_result pr
JOIN
push_user pu
ON
pr.user_id = pu.user_id
ORDER BY
send_time DESC
</select>
<!--
작성자 : 하석형
작성일 : 2024.02.16
내용 : 웹 푸시 결과 등록
-->
<insert id="insertPushResult" parameterType="PushResultVO">
INSERT INTO push_result(
user_id
, message
, send_time
) VALUES (
#{userId}
, #{message}
, #{sendTime}
)
</insert>
<!--
작성자 : 하석형
작성일 : 2024.02.13
내용 : 웹 푸시 사용자 등록
-->
<insert id="insertUser" parameterType="PushVO">
INSERT INTO push_user(
user_id
, is_push
, user_nm
, dept_nm
, endpoint
, expiration_time
, auth
, p256dh
) VALUES (
#{userId}
, #{isPush}
, #{userNm}
, #{deptNm}
, #{userToken.endpoint}
, #{userToken.expirationTime}
, #{userToken.keys.auth}
, #{userToken.keys.p256dh}
)
</insert>
<!--
작성자 : 하석형
작성일 : 2024.01.29
내용 : 웹 푸시 사용자 목록 조회
-->
<select id="pushUserSelectList" resultMap="pushResult">
/*SELECT
user_id
, user_token
, is_push
FROM
users*/
</select>
<!--
작성자 : 하석형
작성일 : 2024.01.30
내용 : 웹 푸시 사용자 조회
-->
<select id="pushUserSelectOne" parameterType="PushVO" resultMap="pushResult">
/*SELECT
user_id
, user_token
, is_push
FROM
users
WHERE
user_id = #{userId}*/
</select>
<!--
작성자 : 하석형
작성일 : 2024.02.06
내용 : 웹 푸시 사용자 토큰 조회
-->
<select id="userTokenSelectOne" parameterType="PushVO">
/*SELECT
user_id
, endpoint
, expiration_time
, auth
, p256dh
FROM
push_users
WHERE
user_id = #{userId}*/
</select>
<!--
작성자 : 하석형
작성일 : 2024.01.30
내용 : 웹 푸시 사용자 토큰 등록
-->
<insert id="userTokenInsert" parameterType="PushVO">
/*INSERT INTO push_users(
user_id
, endpoint
, expiration_time
, auth
, p256dh
) VALUES (
#{userId}
, #{userToken.endpoint}
, #{userToken.expirationTime}
, #{userToken.keys.auth}
, #{userToken.keys.p256dh}
)*/
</insert>
</mapper>