<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> 

<mapper namespace="kr.co.i2talk.push">
<!-- 1. 추가  쿼리 메소드 작성 -->
    <select id="kr.co.i2talk.push.listSnsRecvUser"
		parameterType="Map"
		resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.push.listSnsRecvUser */
SELECT
	B.*
FROM
(SELECT
	  A.RECV_ID
	, A.MSG_ID
	, A.USR_ID 
	, FN_GET_USR_NM(A.USR_ID) USR_NM
	, IFNULL(FN_GET_USR_DEPT_NM(A.USR_ID),' - ') DEPT_NM
	, IFNULL(FN_GET_USR_POS_NM(A.USR_ID),' - ') POS_NM
	, FN_GET_USR_PHOTO(A.USR_ID) USR_PHOTO_PATH
	, FN_GET_USR_ORIGIN_PHOTO(A.USR_ID) USR_PHOTO_IMG
	, A.CLIENT_ID
	, TO_CHAR(TO_DATE(A.RECV_DTTM,'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') RECV_DTTM	
	 , #{searchKeyword} SEARCHKEYWORD
FROM
	SNS_RECV_USER A
) B
WHERE 1=1
<if test="@i2c.cmm.util.StringUtil@isNotEmpty(msg_id)">
	<if test="@i2c.cmm.util.StringUtil@isNotEmpty(searchKeyword)">
		AND B.USR_NM LIKE '%' || #{searchKeyword} || '%'
	</if>
	AND B.MSG_ID = #{msg_id}
	AND B.RECV_DTTM IS NOT NULL
</if>
    </select>

    <select id="kr.co.i2talk.push.viewSnsRecvUser"
		parameterType="Map"
		resultType="i2c.cmm.base.CommonResultMap">
	/* kr.co.i2talk.push.viewSnsRecvUser */
SELECT
	recv_id,
	msg_id,
	usr_id,
	client_id,
	recv_dttm
FROM
	sns_recv_user
WHERE
	recv_id = #{recv_id}
    </select>

    <insert id="kr.co.i2talk.push.insertSnsRecvUser"
		parameterType="Map">
/* kr.co.i2talk.push.insertSnsRecvUser */
INSERT INTO sns_recv_user (
	recv_id, msg_id, usr_id, client_id, recv_dttm, snd_dttm, msg_cntn, biz_tp_cd, biz_sub_tp_cd, sndr_id
) VALUES (
	#{recv_id}, #{msg_id}, #{usr_id}, #{client_id}, #{recv_dttm}, #{snd_dttm}, #{msg_cntn}, #{biz_tp_cd}, #{biz_sub_tp_cd}, #{sndr_id}
)
    </insert>
    
	<update id="kr.co.i2talk.push.receiveConfirm"
		parameterType="Map">
/* kr.co.i2talk.push.receiveConfirm */
UPDATE sns_recv_user SET
	client_id = #{client_id},
	confirm_dttm = TO_CHAR(SYSDATE, 'YYYYMMDDHH24MMSS')
WHERE
	recv_id = #{recv_id}
	and recv_dttm is null
    </update>
    
    <update id="kr.co.i2talk.push.receiveConfirmEmg"
		parameterType="Map">
/* kr.co.i2talk.push.receiveConfirmEmg */
UPDATE SNS_RECV_USER SET	
	confirm_dttm = DATE_FORMAT(SYSDATE(), '%Y%m%d%H%i')
WHERE
	 MSG_ID = #{msg_id}
AND  USR_ID = #{usr_id}	
    </update>

	<delete id="kr.co.i2talk.push.deleteSnsRecvUser"
		parameterType="Map">
/* kr.co.i2talk.push.deleteSnsRecvUser */
DELETE FROM sns_recv_user WHERE
	recv_id = #{recv_id}
    </delete>
<!-- 1. 추가  쿼리 메소드 작성 끝 -->

<!-- 2. 추가  쿼리 메소드 작성 -->

<!-- 2. 추가  쿼리 메소드 작성 끝 -->



</mapper>
