feat: 천안 KT-GIBIS 상태조회 결과 반영

ENS_SND_DTL_KT_GBS 테이블에 필드 추가 필요
main
Jonguk. Lim 3 months ago
parent 3dc5956b73
commit c0f9ee3c62

@ -95,6 +95,7 @@ where teim.ihidnum = 'RUNCNjEwM0JERENGMEMzNjRBOTAyMERERjg5MDFEODc=';
select * from ens_snd_mast;
select * from TB_ELCTRN_NTIC_SNDNG_RESULT;
select * from ENS_SND_DTL_KT_GBS;
select * from TB_ELCTRN_NTIC_SNDNG;
select * from TB_ELCTRN_NTIC_SNDNG_DETAIL;

@ -3,7 +3,7 @@ package kr.xit.biz.ktgbs.mapper;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO;
import kr.xit.biz.ens.model.kt.KtMmsSendDTO.KtMsgRsltReqData;
import kr.xit.biz.ens.model.ktgbs.KtGbsDTO;
/**
* <pre>
@ -23,6 +23,6 @@ import kr.xit.biz.ens.model.kt.KtMmsSendDTO.KtMsgRsltReqData;
@Mapper
public interface IBizKtGbsMapper {
int updateRlaybsnmKtInfo(final CmmEnsRlaybsnmDTO dto);
int updateKtBcDtl(final KtMsgRsltReqData dto);
int saveKtCntcSndngResult(final KtMsgRsltReqData dto);
int updateKtGbsDtl(final KtGbsDTO.MsgRsltReqsData dto);
int saveKtGbsCntcSndngResult(final KtGbsDTO.MsgRsltReqsData dto);
}

@ -113,14 +113,14 @@ public class BizKtGbsService extends AbstractService implements IBizKtGbsService
dto.setMmsRsltDvcd("60");
}
dto.setMmsRsltDvcdMsg(messageUtil.getMessage("info.api.kt.msg.rslt."+dto.getMmsRsltDvcd()));
// FIXME: KT GIBIS 적용 안됨
//if(mapper.updateKtBcDtl(dto) != 1) {
// errors.add(new ErrorMsg(
// String.format("존재 하지 않는 발송 대상(src_key[%s], mms_rslt_sqno[%s]) 입니다",
// dto.getSrcKey(), dto.getMmsSndgRsltSqno())));
//}
// FIXME: KT GIBIS 적용 안됨
//mapper.saveKtCntcSndngResult(dto);
// FIXME: KT GIBIS 적용 안됨 - 컬럼 추가 필요
if(mapper.updateKtGbsDtl(dto) != 1) {
errors.add(new ErrorMsg(
String.format("존재 하지 않는 발송 대상(src_key[%s], mms_rslt_sqno[%s]) 입니다",
dto.getSrcKey(), dto.getMmsSndgRsltSqno())));
}
//FIXME: KT GIBIS 적용 안됨
mapper.saveKtGbsCntcSndngResult(dto);
}
return KtCommonDTO.KtCommonResponse.builder()

@ -1,92 +1,91 @@
<?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">
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="kr.xit.biz.kt.mapper.IBizKtBcMapper">
<update id="updateRlaybsnmKtInfo" parameterType="kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO">
/** ens-kt-mysql-mapper|updateRlaybsnmKtInfo-kt token 정보 갱신|julim */
UPDATE tb_ens_rlaybsnm_manage
SET kt_scope = #{ktScope},
<choose>
<when test="profile eq 'prod'">
<update id="updateRlaybsnmKtInfo" parameterType="kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO">
/** ens-kt-mysql-mapper|updateRlaybsnmKtInfo-kt token 정보 갱신|julim */
UPDATE tb_ens_rlaybsnm_manage
SET kt_scope = #{ktScope},
<choose>
<when test="profile eq 'prod'">
kt_prod_access_token = #{ktAccessToken},
kt_prod_token_expires_in = #{ktTokenExpiresIn},
kt_prod_token_jti = #{ktTokenJti},
</when>
<otherwise>
</when>
<otherwise>
kt_dev_access_token = #{ktAccessToken},
kt_dev_token_expires_in = #{ktTokenExpiresIn},
kt_dev_token_jti = #{ktTokenJti},
</otherwise>
</choose>
updt_dt = now(),
updusr = 'api-biz'
WHERE signgu_code = #{signguCode}
AND ffnlg_code = #{ffnlgCode}
</update>
</otherwise>
</choose>
updt_dt = now(),
updusr = 'api-biz'
WHERE signgu_code = #{signguCode}
AND ffnlg_code = #{ffnlgCode}
</update>
<update id="updateKtBcDtl" parameterType="kr.xit.biz.ens.model.kt.KtMmsSendDTO$KtMsgRsltReqData">
/** ens-kt-mysql-mapper|updateKtBcDtl-kt 메세지 수신결과 상세 반영|julim */
UPDATE tb_ens_kt_bc_detail
SET mms_sndg_rslt_sqno = #{mmsSndgRsltSqno} /* MMS 발송 결과 상태 순번 - 1:수신시, 2:발송시*/
, prcs_dt = #{prcsDt} /* 처리일자 */
, mbl_bzowr_dvcd = #{mblBzowrDvcd} /* 모바일 사업자 구분 : 01:KT, 02:SKT, 03:LGT */
, rl_mms_sndg_telno = #{rlMmsSndgTelno} /* 실제 발송 번호 */
, mms_sndg_rslt_dvcd = #{mmsSndgRsltDvcd} /* 발송결과코드 */
, mms_sndg_rslt_dvcd_msg = #{mmsSndgRsltDvcdMsg} /* 발송결과코드 메세지 */
, mms_sndg_tmst = IFNULL(#{mmsSndgTmst}, mms_sndg_tmst) /* 발송 타임 스탬프 */
, mms_rcv_tmst = IFNULL(#{mmsRcvTmst}, mms_rcv_tmst) /* 수신 타임 스탬프 */
, mms_rdg_tmst = IFNULL(#{mmsRdgTmst}, mms_rdg_tmst) /* 열람 타임 스탬프 */
, updt_dt = NOW()
, updusr = 'api_inbound'
WHERE unity_sndng_detail_id = #{srcKey}
</update>
<update id="updateKtBcDtl" parameterType="kr.xit.biz.ens.model.kt.KtMmsSendDTO$KtMsgRsltReqData">
/** ens-kt-mysql-mapper|updateKtBcDtl-kt 메세지 수신결과 상세 반영|julim */
UPDATE tb_ens_kt_bc_detail
SET mms_sndg_rslt_sqno = #{mmsSndgRsltSqno} /* MMS 발송 결과 상태 순번 - 1:수신시, 2:발송시*/
, prcs_dt = #{prcsDt} /* 처리일자 */
, mbl_bzowr_dvcd = #{mblBzowrDvcd} /* 모바일 사업자 구분 : 01:KT, 02:SKT, 03:LGT */
, rl_mms_sndg_telno = #{rlMmsSndgTelno} /* 실제 발송 번호 */
, mms_sndg_rslt_dvcd = #{mmsSndgRsltDvcd} /* 발송결과코드 */
, mms_sndg_rslt_dvcd_msg = #{mmsSndgRsltDvcdMsg} /* 발송결과코드 메세지 */
, mms_sndg_tmst = IFNULL(#{mmsSndgTmst}, mms_sndg_tmst) /* 발송 타임 스탬프 */
, mms_rcv_tmst = IFNULL(#{mmsRcvTmst}, mms_rcv_tmst) /* 수신 타임 스탬프 */
, mms_rdg_tmst = IFNULL(#{mmsRdgTmst}, mms_rdg_tmst) /* 열람 타임 스탬프 */
, updt_dt = NOW()
, updusr = 'api_inbound'
WHERE unity_sndng_detail_id = #{srcKey}
</update>
<insert id="saveKtCntcSndngResult">
/** ens-kt-mysql-mapper|saveCntcSndngResult-연계발송결과반영|julim */
<selectKey keyProperty="signguCode,ffnlgCode,sndngSeCode" resultType="hashmap" order="BEFORE">
SELECT tesn.signgu_code AS signguCode
, tesn.ffnlg_code AS ffnlgCode
, tesn.sndng_se_code AS sndngSeCode
FROM tb_ens_sndng_mastr tesn
JOIN tb_cntc_sndng_detail tcsnd
ON tesn.unity_sndng_mastr_id = tcsnd.unity_sndng_mastr_id
WHERE tcsnd.unity_sndng_detail_id = #{srcKey}
</selectKey>
INSERT
INTO tb_cntc_sndng_result (
unity_sndng_detail_id, /* 통합 발송 상세 ID*/
sndng_se_code, /* 발송구분코드 */
signgu_code, /* 시군구코드 */
ffnlg_code, /* 과태료코드 */
sndng_result_sttus,
requst_dt, /* 송신(요청) 일시 */
inqire_dt, /* 수신(조회) 일시 */
readng_dt, /* 최초열람일시 */
error_cn, /* 에러내용 */
regist_dt,
register
) VALUES (
#{srcKey}
, #{sndngSeCode} /* 발송구분코드 - KAKAO-MY-DOC|KT-BC */
, #{signguCode} /* 시군구코드 */
, #{ffnlgCode} /* 과태료코드 */
, #{mmsSndgRsltDvcd}
, #{mmsSndgTmst} /* 송신(요청) 일시 */
, #{mmsRcvTmst} /* 수신(조회) 일시 */
, #{mmsRdgTmst} /* 최초열람일시 */
, #{mmsSndgRsltDvcdMsg} /* 에러내용 */
, now()
, 'batch'
)
ON DUPLICATE KEY UPDATE
sndng_result_sttus = IFNULL(#{mmsSndgRsltDvcd}, sndng_result_sttus)
, requst_dt = IFNULL(#{mmsSndgTmst}, requst_dt) /* 송신(요청) 일시 */
, inqire_dt = IFNULL(#{mmsRcvTmst}, inqire_dt) /* 수신(조회) 일시 */
, readng_dt = IFNULL(#{mmsRdgTmst}, readng_dt) /* 최초열람일시 */
, error_cn = IFNULL(#{mmsSndgRsltDvcdMsg}, error_cn)
, updt_dt = now()
, updusr = 'batch'
</insert>
<insert id="saveKtCntcSndngResult">
/** ens-kt-mysql-mapper|saveCntcSndngResult-연계발송결과반영|julim */
<selectKey keyProperty="signguCode,ffnlgCode,sndngSeCode" resultType="hashmap" order="BEFORE">
SELECT tesn.signgu_code AS signguCode
, tesn.ffnlg_code AS ffnlgCode
, tesn.sndng_se_code AS sndngSeCode
FROM tb_ens_sndng_mastr tesn
JOIN tb_cntc_sndng_detail tcsnd
ON tesn.unity_sndng_mastr_id = tcsnd.unity_sndng_mastr_id
WHERE tcsnd.unity_sndng_detail_id = #{srcKey}
</selectKey>
INSERT INTO tb_cntc_sndng_result (
unity_sndng_detail_id, /* 통합 발송 상세 ID*/
sndng_se_code, /* 발송구분코드 */
signgu_code, /* 시군구코드 */
ffnlg_code, /* 과태료코드 */
sndng_result_sttus,
requst_dt, /* 송신(요청) 일시 */
inqire_dt, /* 수신(조회) 일시 */
readng_dt, /* 최초열람일시 */
error_cn, /* 에러내용 */
regist_dt,
register
) VALUES (
#{srcKey}
, #{sndngSeCode} /* 발송구분코드 - KAKAO-MY-DOC|KT-BC */
, #{signguCode} /* 시군구코드 */
, #{ffnlgCode} /* 과태료코드 */
, #{mmsSndgRsltDvcd}
, #{mmsSndgTmst} /* 송신(요청) 일시 */
, #{mmsRcvTmst} /* 수신(조회) 일시 */
, #{mmsRdgTmst} /* 최초열람일시 */
, #{mmsSndgRsltDvcdMsg} /* 에러내용 */
, now()
, 'batch'
)
ON DUPLICATE KEY UPDATE
sndng_result_sttus = IFNULL(#{mmsSndgRsltDvcd}, sndng_result_sttus)
, requst_dt = IFNULL(#{mmsSndgTmst}, requst_dt) /* 송신(요청) 일시 */
, inqire_dt = IFNULL(#{mmsRcvTmst}, inqire_dt) /* 수신(조회) 일시 */
, readng_dt = IFNULL(#{mmsRdgTmst}, readng_dt) /* 최초열람일시 */
, error_cn = IFNULL(#{mmsSndgRsltDvcdMsg}, error_cn)
, updt_dt = now()
, updusr = 'batch'
</insert>
</mapper>

@ -1,92 +1,91 @@
<?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">
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="kr.xit.biz.kt.mapper.IBizKtBcMapper">
<update id="updateRlaybsnmKtInfo" parameterType="kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO">
/** ens-kt-oracle-mapper|updateRlaybsnmKtInfo-kt token 정보 갱신|julim */
UPDATE tb_ens_rlaybsnm_manage
SET kt_scope = #{ktScope},
<choose>
<when test="profile eq 'prod'">
<update id="updateRlaybsnmKtInfo" parameterType="kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO">
/** ens-kt-oracle-mapper|updateRlaybsnmKtInfo-kt token 정보 갱신|julim */
UPDATE tb_ens_rlaybsnm_manage
SET kt_scope = #{ktScope},
<choose>
<when test="profile eq 'prod'">
kt_prod_access_token = #{ktAccessToken},
kt_prod_token_expires_in = #{ktTokenExpiresIn},
kt_prod_token_jti = #{ktTokenJti},
</when>
<otherwise>
</when>
<otherwise>
kt_dev_access_token = #{ktAccessToken},
kt_dev_token_expires_in = #{ktTokenExpiresIn},
kt_dev_token_jti = #{ktTokenJti},
</otherwise>
</choose>
updt_dt = sysdate,
updusr = 'api-biz'
WHERE signgu_code = #{signguCode}
AND ffnlg_code = #{ffnlgCode}
</update>
</otherwise>
</choose>
updt_dt = sysdate,
updusr = 'api-biz'
WHERE signgu_code = #{signguCode}
AND ffnlg_code = #{ffnlgCode}
</update>
<update id="updateKtBcDtl" parameterType="kr.xit.biz.ens.model.kt.KtMmsSendDTO$KtMsgRsltReqData">
/** ens-kt-oracle-mapper|updateKtBcDtl-kt 메세지 수신결과 상세 반영|julim */
UPDATE tb_ens_kt_bc_detail
SET mms_sndg_rslt_sqno = #{mmsSndgRsltSqno} /* MMS 발송 결과 상태 순번 - 1:수신시, 2:발송시*/
, prcs_dt = #{prcsDt} /* 처리일자 */
, mbl_bzowr_dvcd = #{mblBzowrDvcd} /* 모바일 사업자 구분 : 01:KT, 02:SKT, 03:LGT */
, rl_mms_sndg_telno = #{rlMmsSndgTelno} /* 실제 발송 번호 */
, mms_sndg_rslt_dvcd = #{mmsSndgRsltDvcd} /* 발송결과코드 */
, mms_sndg_rslt_dvcd_msg = #{mmsSndgRsltDvcdMsg} /* 발송결과코드 메세지 */
, mms_sndg_tmst = NVL(#{mmsSndgTmst}, mms_sndg_tmst) /* 발송 타임 스탬프 */
, mms_rcv_tmst = NVL(#{mmsRcvTmst}, mms_rcv_tmst) /* 수신 타임 스탬프 */
, mms_rdg_tmst = NVL(#{mmsRdgTmst}, mms_rdg_tmst) /* 열람 타임 스탬프 */
, updt_dt = sysdate
, updusr = 'api_inbound'
WHERE unity_sndng_detail_id = #{srcKey}
</update>
<update id="updateKtGbsDtl" parameterType="kr.xit.biz.ens.model.ktgbs.KtGbsDTO$MsgRsltReqsData">
/** ens-kt-oracle-mapper|updateKtGbsDtl-kt GIBIS 메세지 수신결과 상세 반영|julim */
UPDATE ens_snd_dtl_kt_gbs
<!-- FIXME: 컬럼추가 필요함 -->
SET mms_sndg_rslt_sqno = #{mmsSndgRsltSqno} /* MMS 발송 결과 상태 순번 - 1:수신시, 2:발송시*/
, prcs_dt = #{prcsDt} /* 처리일자 */
, mbl_bzowr_dvcd = #{mblBzowrDvcd} /* 모바일 사업자 구분 : 01:KT, 02:SKT, 03:LGT */
, rl_mms_sndg_telno = #{rlMmsSndgTelno} /* 실제 발송 번호 */
<!-- 컬럼추가 필요함 -->
, error_code = #{mmsRsltDvcd} /* 발송결과코드 */
, error_message = #{mmsRsltDvcdMsg} /* 발송결과코드 메세지 */
, doc_sent_dt = NVL(#{mmsSndgTmst}, mms_sndg_tmst) /* 발송 타임 스탬프 */
, doc_received_dt = NVL(#{mmsRcvTmst}, mms_rcv_tmst) /* 수신 타임 스탬프 */
, doc_read_frst_dt = NVL(#{mmsRdgTmst}, mms_rdg_tmst) /* 열람 타임 스탬프 */
WHERE send_detail_id = #{srcKey}
</update>
<insert id="saveKtCntcSndngResult">
/** ens-kt-oracle-mapper|saveCntcSndngResult-연계발송결과반영|julim */
<selectKey keyProperty="signguCode,ffnlgCode,sndngSeCode" resultType="hashmap" order="BEFORE">
SELECT tesn.signgu_code AS signguCode
, tesn.ffnlg_code AS ffnlgCode
, tesn.sndng_se_code AS sndngSeCode
FROM tb_ens_sndng_mastr tesn
JOIN tb_cntc_sndng_detail tcsnd
ON tesn.unity_sndng_mastr_id = tcsnd.unity_sndng_mastr_id
WHERE tcsnd.unity_sndng_detail_id = #{srcKey}
</selectKey>
INSERT
INTO tb_cntc_sndng_result (
unity_sndng_detail_id, /* 통합 발송 상세 ID*/
sndng_se_code, /* 발송구분코드 */
signgu_code, /* 시군구코드 */
ffnlg_code, /* 과태료코드 */
sndng_result_sttus,
requst_dt, /* 송신(요청) 일시 */
inqire_dt, /* 수신(조회) 일시 */
readng_dt, /* 최초열람일시 */
error_cn, /* 에러내용 */
regist_dt,
register
) VALUES (
#{srcKey}
, #{sndngSeCode} /* 발송구분코드 - KAKAO-MY-DOC|KT-BC */
, #{signguCode} /* 시군구코드 */
, #{ffnlgCode} /* 과태료코드 */
, #{mmsSndgRsltDvcd}
, #{mmsSndgTmst} /* 송신(요청) 일시 */
, #{mmsRcvTmst} /* 수신(조회) 일시 */
, #{mmsRdgTmst} /* 최초열람일시 */
, #{mmsSndgRsltDvcdMsg} /* 에러내용 */
, sysdate
, 'batch'
)
ON DUPLICATE KEY UPDATE
sndng_result_sttus = NVL(#{mmsSndgRsltDvcd}, sndng_result_sttus)
, requst_dt = NVL(#{mmsSndgTmst}, requst_dt) /* 송신(요청) 일시 */
, inqire_dt = NVL(#{mmsRcvTmst}, inqire_dt) /* 수신(조회) 일시 */
, readng_dt = NVL(#{mmsRdgTmst}, readng_dt) /* 최초열람일시 */
, error_cn = NVL(#{mmsSndgRsltDvcdMsg}, error_cn)
, updt_dt = sysdate
, updusr = 'batch'
</insert>
<insert id="saveKtGbsCntcSndngResult" parameterType="kr.xit.biz.ens.model.ktgbs.KtGbsDTO$MsgRsltReqsData">
/** ens-kt-oracle-mapper|saveKtGbsCntcSndngResult-KT GIBIS 연계발송결과반영|julim */
<selectKey keyProperty="signguCode,ffnlgCode,sndngSeCode" resultType="hashmap" order="BEFORE">
SELECT tesn.signgu_code AS signguCode
, tesn.ffnlg_code AS ffnlgCode
, tesn.sndng_se_code AS sndngSeCode
FROM tb_ens_sndng_mastr tesn
JOIN TB_ELCTRN_NTIC_SNDNG_DETAIL tcsnd
ON tesn.unity_sndng_mastr_id = tcsnd.elctrn_ntic_sndng_detail_id
WHERE tcsnd.unity_sndng_detail_id = #{srcKey}
</selectKey>
INSERT INTO tb_elctrn_ntic_sndng_result (
unity_sndng_detail_id, /* 통합 발송 상세 ID*/
sndng_se_code, /* 발송구분코드 */
signgu_code, /* 시군구코드 */
ffnlg_code, /* 과태료코드 */
sndng_result_sttus,
requst_dt, /* 송신(요청) 일시 */
inqire_dt, /* 수신(조회) 일시 */
readng_dt, /* 최초열람일시 */
error_cn, /* 에러내용 */
regist_dt,
register
) VALUES (
#{srcKey}
, #{sndngSeCode} /* 발송구분코드 - KAKAO-MY-DOC|KT-BC */
, #{signguCode} /* 시군구코드 */
, #{ffnlgCode} /* 과태료코드 */
, #{mmsSndgRsltDvcd}
, #{mmsSndgTmst} /* 송신(요청) 일시 */
, #{mmsRcvTmst} /* 수신(조회) 일시 */
, #{mmsRdgTmst} /* 최초열람일시 */
, #{mmsSndgRsltDvcdMsg} /* 에러내용 */
, sysdate
, 'batch'
)
ON DUPLICATE KEY UPDATE
sndng_result_sttus = NVL(#{mmsSndgRsltDvcd}, sndng_result_sttus)
, requst_dt = NVL(#{mmsSndgTmst}, requst_dt) /* 송신(요청) 일시 */
, inqire_dt = NVL(#{mmsRcvTmst}, inqire_dt) /* 수신(조회) 일시 */
, readng_dt = NVL(#{mmsRdgTmst}, readng_dt) /* 최초열람일시 */
, error_cn = NVL(#{mmsSndgRsltDvcdMsg}, error_cn)
, updt_dt = sysdate
, updusr = 'batch'
</insert>
</mapper>

Loading…
Cancel
Save