You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

191 lines
10 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="cokr.xit.ens.modules.kkotalk.mapper.IKkoTalkMapper">
<!-- =================================================================================== -->
<!-- ================================ accept =========================================== -->
<!-- =================================================================================== -->
<insert id="saveSndDtlKkoTalk" parameterType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|saveSndDtlKkoTalk-카카오톡발송상세생성|julim */
INSERT INTO ens_snd_dtl_kko_talk (
send_detail_id, /* 발송 상세 ID */
title, /* 제목 */
link, /* 웹링크 */
hash, /* 해시 값 */
guide, /* 메세지 */
payload, /* 페이로드 */
read_expires_at, /* 최초열람 만료 일시 */
review_expires_at, /* 재열람 만료 일시 */
use_non_personalized_noti, /* 알림톡 개인정보 제거 여부 */
status, /* 문서 상태 */
ci, /* CI */
phone_number, /* 수신인 전화번호 */
name, /* 수신인 이름 */
birthday, /* 수신인 생년월일 */
external_id, /* 문서매핑 식별 ID */
mk_jid, /* MK JID */
mk_tmplt_msg_json_data, /* 템플릿 메시지 JSON 데이터 */
error_code, /* 오류 코드 */
error_message, /* 오류 메시지 */
mk_bill_use_yn, /* 빌 사용 여부 */
bill_uid, /* 빌 UID */
send_mast_id, /* 발송 마스터 ID */
regist_dt
) VALUES (
#{sendDetailId},
#{title},
#{link},
#{hash},
#{guide},
#{payload},
#{readExpiresAt},
#{reviewExpiresAt},
#{useNonPersonalizedNotification},
#{status},
#{ci},
#{phoneNumber},
#{name},
#{birthday},
#{externalId},
#{mkJid},
#{mkTmpltMsgJsonData},
#{errorCode},
#{errorMessage},
#{mkBillUseYn},
#{billUid},
#{sendMastId},
sysdate
)
</insert>
<update id="updateSndDtlKkoTalk" parameterType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|updateSndDtlKkoTalk-카카오톡발송상세변경|julim */
UPDATE ens_snd_dtl_kko_talk
SET title = #{title} /* 제목 */
, hash = #{hash} /* 해시 값 */
, guide = #{guide} /* 메세지 */
, payload = #{payload}
, use_non_personalized_noti = #{useNonPersonalizedNotification}
, ci = #{ci}
, phone_number = #{phoneNumber} /* 수신인 전화번호 */
, name = #{name} /* 수신인 이름 */
, birthday = #{birthday} /* 수신인 생년월일 */
, external_id = #{externalId} /* 문서 매핑 식별 ID */
, error_code = #{errorCode}
, error_message = #{errorMessage}
, last_updt_dt = sysdate
WHERE send_detail_id = #{sendDetailId}
</update>
<update id="updateKakaotalkSendBulksResult" parameterType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|updateKakaotalkSendBulksResult-카카오톡 문서요청 결과 반영|limju */
UPDATE ens_snd_dtl_kko_talk
SET external_id = #{externalId} /* 문서 매핑 식별 ID */
, envelope_id = #{envelopeId} /* 문서 고유 ID */
, status = #{status} /* 문서 상태 */
, error_code = #{errorCode}
, error_message = #{errorMessage}
, last_updt_dt = sysdate
WHERE send_detail_id = #{sendDetailId}
</update>
<update id="updateKakaotalkStatusBulksResult" parameterType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|updateKakaotalkStatusBulksResult-카카오톡 문서 상태조회 결과 반영|limju */
UPDATE ens_snd_dtl_kko_talk
SET status = #{status} /* 문서 상태 */
, sent_at = #{sentAt} /* 문서 송신 일시 */
, received_at = #{receivedAt} /* 문서 수신 일시 */
, read_at = #{readAt} /* 문서 열람 일시 */
, read_expires_at = #{readExpiredAt} /* 최초 열람 만료 일시 */
, authenticated_at = #{authenticatedAt} /* 문서 열람 인증 일시 */
, ott_verified_at = #{ottVerifiedAt} /* 토큰 검증 일시 */
, user_notified_at = #{userNotifiedAt} /* 알림톡 수신 일시 */
, distribution_received_at = #{distributionReceivedAt} /* 유통정보 수신 일시 */
, payload = #{payload}
, error_code = #{errorCode}
, error_message = #{errorMessage}
, last_updt_dt = sysdate
WHERE send_detail_id = #{sendDetailId}
</update>
<select id="findAllBySendMastId" parameterType="long" resultType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|findAllBySendMastId-카카오톡발송대상 조회|julim */
<include refid="sqlSelectSendDetailKkoTalk"/>
FROM ens_snd_dtl_kko_talk
WHERE send_mast_id = #{sendMastId}
</select>
<select id="findAllBySendMastAndEnvlopeIdIsNotNull" parameterType="cokr.xit.ens.modules.common.domain.SendMast" resultType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|findAllBySendMastAndEnvlopeIdIsNotNull-카카오톡 발송 결과 대상?? 조회|julim */
<include refid="sqlSelectSendDetailKkoTalk"/>
FROM ens_snd_dtl_kko_talk
WHERE send_mast_id = #{sendMastId}
AND envelope_id IS NOT NULL
AND (status != 'READ' OR status IS NULL OR status = '')
</select>
<select id="findAllFetchBySendMastId" parameterType="long" resultType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|findAllFetchBySendMastId-카카오톡 발송 결과 대상 조회|julim */
<include refid="sqlSelectSendDetailKkoTalk"/>
FROM ens_snd_dtl_kko_talk
WHERE send_mast_id = #{sendMastId}
</select>
<select id="findFetchByExternalIdAndEnvelopeId" parameterType="map" resultType="cokr.xit.ens.modules.kkotalk.model.SendDetailKkoTalkDTO">
/** iup-kkotalk-mapper|findFetchByExternalIdAndEnvelopeId-카카오톡 발송 결과 대상 조회|julim */
<include refid="sqlSelectSendDetailKkoTalk"/>
FROM ens_snd_dtl_kko_talk
WHERE envelope_id = #{envelopeId}
<if test="externalId != null and externalId != ''">
AND external_id = #{externalId}
</if>
</select>
<select id="selectSendMastByExternalIdAndEnvelopeId" parameterType="map" resultType="cokr.xit.ens.modules.common.domain.SendMast">
/** iup-kkotalk-mapper|selectSendMastByExternalIdAndEnvelopeId-전송마스터 정보 조회|julim */
SELECT esm.org_cd
, esm.post_se
FROM ens_snd_mast esm
JOIN ens_snd_dtl_kko_talk esdkt
ON esm.send_mast_id = esdkt.send_mast_id
WHERE esdkt.external_id = #{externalId}
AND esdkt.envelope_id = #{envelopeId}
</select>
<select id="selectBillByBillUid" parameterType="map" resultType="cokr.xit.ens.modules.common.ctgy.intgrnbill.support.entity.Bill">
/** iup-kkotalk-mapper|selectBillByBillUid-Bill 정보 조회|julim */
SELECT bill_id
, bill_uid
, bill_se_cd
FROM ens_bill
WHERE bill_uid = #{billUid}
</select>
<sql id="sqlSelectSendDetailKkoTalk">
SELECT send_detail_id, /* 발송 상세 ID */
title, /* 제목 */
link, /* 웹링크 */
hash, /* 해시 값 */
guide, /* 메세지 */
payload, /* 페이로드 */
read_expires_at, /* 최초열람 만료 일시 */
review_expires_at, /* 재열람 만료 일시 */
use_non_personalized_noti AS useNonPersonalizedNotification, /* 알림톡 개인정보 제거 여부 */
status, /* 문서 상태 */
ci, /* CI */
phone_number, /* 수신인 전화번호 */
name, /* 수신인 이름 */
birthday, /* 수신인 생년월일 */
external_id, /* 문서매핑 식별 ID */
envelope_id,
mk_jid, /* MK JID */
mk_tmplt_msg_json_data, /* 템플릿 메시지 JSON 데이터 */
error_code, /* 오류 코드 */
error_message, /* 오류 메시지 */
mk_bill_use_yn, /* 빌 사용 여부 */
bill_uid, /* 빌 UID */
send_mast_id /* 발송 마스터 ID */
</sql>
</mapper>