feat: 지비스 발송 결과 반영

main
kjh 2 months ago
parent 281cd86117
commit 28ad4dfa5a

@ -112,13 +112,24 @@ public class BizKtGbsService extends AbstractService implements IBizKtGbsService
dto.setMmsRsltDvcd("60"); dto.setMmsRsltDvcd("60");
} }
dto.setMmsRsltDvcdMsg(messageUtil.getMessage("info.api.kt.msg.rslt."+dto.getMmsRsltDvcd())); dto.setMmsRsltDvcdMsg(messageUtil.getMessage("info.api.kt.msg.rslt."+dto.getMmsRsltDvcd()));
// FIXME: KT GIBIS 적용 안됨 - 기존API 반영 결과와 신규 발송 결과에 따른 반영 구분{
if(mapper.updateKtGbsDtl(dto) != 1) { if(mapper.updateKtGbsDtl(dto) != 1) {
errors.add(new ErrorMsg( errors.add(new ErrorMsg(
String.format("존재 하지 않는 발송 대상(src_key[%s], mms_rslt_sqno[%s]) 입니다", String.format("존재 하지 않는 발송 대상(src_key[%s], mms_rslt_sqno[%s]) 입니다",
dto.getSrcKey(), dto.getMmsSndgRsltSqno()))); dto.getSrcKey(), dto.getMmsSndgRsltSqno())));
} }
//FIXME: KT GIBIS 적용 안됨
// 업무 테이블에 발송 결과 상태 적용
if (("40").equals(dto.getMmsRsltDvcd())) {
dto.setMmsRsltDvcd("RECEIVED");
} else if (("60").equals(dto.getMmsRsltDvcd())) {
dto.setMmsRsltDvcd("READ");
} else if (("4N").equals(dto.getMmsRsltDvcd())) {
dto.setMmsRsltDvcd("FORBIDDEN");
} else if (("4T").equals(dto.getMmsRsltDvcd())) {
dto.setMmsRsltDvcd("UNIDENTIFIED_USER");
} else {
dto.setMmsRsltDvcd("FAIL");
}
mapper.saveKtGbsCntcSndngResult(dto); mapper.saveKtGbsCntcSndngResult(dto);
} }

@ -74,7 +74,7 @@ public class KtGbsInboundController {
}) })
@Operation(summary = "메세지 발송/수신 결과 전송 -> KT GIBIS에서 호출", description = "메세지 발송/수신 결과 전송 -> KT GIBIS에서 호출") @Operation(summary = "메세지 발송/수신 결과 전송 -> KT GIBIS에서 호출", description = "메세지 발송/수신 결과 전송 -> KT GIBIS에서 호출")
//@PostMapping(value = "/goji/kt/gibis/stat/bulk", produces = MediaType.APPLICATION_JSON_VALUE) //@PostMapping(value = "/goji/kt/gibis/stat/bulk", produces = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = "/api/msg/result", produces = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "/goji/api/msg/result", produces = MediaType.APPLICATION_JSON_VALUE)
public KtCommonDTO.KtCommonResponse messageResult(@RequestBody final KtGbsDTO.MsgRsltRequest reqDTO) { public KtCommonDTO.KtCommonResponse messageResult(@RequestBody final KtGbsDTO.MsgRsltRequest reqDTO) {
return bizService.messageResult(reqDTO); return bizService.messageResult(reqDTO);
} }

@ -56,52 +56,55 @@
, mms_rdg_tmst = NVL(#{mmsRdgTmst}, mms_rdg_tmst) /* 열람 타임 스탬프 */ , mms_rdg_tmst = NVL(#{mmsRdgTmst}, mms_rdg_tmst) /* 열람 타임 스탬프 */
, updt_dt = sysdate , updt_dt = sysdate
, updusr = 'api_inbound' , updusr = 'api_inbound'
WHERE unity_sndng_detail_id = #{srcKey} WHERE src_key = #{srcKey}
</update> </update>
<insert id="saveKtGbsCntcSndngResult" parameterType="kr.xit.biz.ens.model.ktgbs.KtGbsDTO$MsgRsltReqsData"> <insert id="saveKtGbsCntcSndngResult" parameterType="kr.xit.biz.ens.model.ktgbs.KtGbsDTO$MsgRsltReqsData">
/** ens-kt-oracle-mapper|saveKtGbsCntcSndngResult-KT GIBIS 연계발송결과반영|julim */ /** ens-kt-oracle-mapper|saveKtGbsCntcSndngResult-KT GIBIS 연계발송결과반영|julim */
<selectKey keyProperty="signguCode,ffnlgCode,sndngSeCode" resultType="hashmap" order="BEFORE"> <selectKey keyProperty="signguCode,ffnlgCode" resultType="hashmap" order="BEFORE">
SELECT tesn.signgu_code AS signguCode SELECT tekg.signgu_code AS "signguCode"
, tesn.ffnlg_code AS ffnlgCode , tekg.ffnlg_code AS "ffnlgCode"
, tesn.sndng_se_code AS sndngSeCode FROM tb_ens_kt_gbs tekg
FROM tb_ens_sndng_mastr tesn WHERE tekg.src_key = #{srcKey}
JOIN tb_elctrn_ntic_sndng_detail tcsnd
ON tesn.unity_sndng_mastr_id = tcsnd.elctrn_ntic_sndng_detail_id
WHERE tcsnd.elctrn_ntic_sndng_detail_id = #{srcKey}
</selectKey> </selectKey>
INSERT INTO tb_elctrn_ntic_sndng_result (
elctrn_ntic_sndng_detail_id, /* 통합 발송 상세 ID*/ MERGE INTO tb_elctrn_ntic_sndng_result tensr
sndng_se_code, /* 발송구분코드 - KAKAO-MY-DOC|KT-BC */ USING (SELECT unity_sndng_detail_id FROM tb_ens_kt_gbs WHERE src_key = #{srcKey}) tekg
signgu_code, /* 시군구코드 */ ON (tensr.elctrn_ntic_sndng_detail_id = tekg.unity_sndng_detail_id)
ffnlg_code, /* 과태료코드 */ WHEN MATCHED THEN
sndng_result_sttus, UPDATE
requst_dt, /* 송신(요청) 일시 */ SET sndng_result_sttus = NVL(#{mmsRsltDvcd}, sndng_result_sttus)
inqire_dt, /* 수신(조회) 일시 */ , requst_dt = NVL(#{mmsSndgTmst}, requst_dt) /* 송신(요청) 일시 */
readng_dt, /* 최초열람일시 */ , inqire_dt = NVL(#{mmsRcvTmst}, inqire_dt) /* 수신(조회) 일시 */
error_cn, /* 에러내용 */ , readng_dt = NVL(#{mmsRdgTmst}, readng_dt) /* 최초열람일시 */
regist_dt, , error_cn = NVL(#{errorMsg}, error_cn)
register , updt_dt = sysdate
) VALUES ( , updusr = 'batch'
#{srcKey} WHEN NOT MATCHED THEN
, #{sndngSeCode} /* 발송구분코드 - KAKAO-MY-DOC|KT-BC */ INSERT (
, #{signguCode} /* 시군구코드 */ elctrn_ntic_sndng_detail_id, /* 통합 발송 상세 ID*/
, #{ffnlgCode} /* 과태료코드 */ sndng_se_code, /* 발송구분코드 - KAKAO-NEW|KT-GBS */
, #{mmsRsltDvcd} signgu_code, /* 시군구코드 */
, #{mmsSndgTmst} /* 송신(요청) 일시 */ ffnlg_code, /* 과태료코드 */
, #{mmsRcvTmst} /* 수신(조회) 일시 */ sndng_result_sttus, /* 발송결과상태 */
, #{mmsRdgTmst} /* 최초열람일시 */ requst_dt, /* 송신(요청) 일시 */
, #{errorMsg} /* 에러내용 */ inqire_dt, /* 수신(조회) 일시 */
, sysdate readng_dt, /* 최초열람일시 */
, 'batch' error_cn, /* 에러내용 */
) regist_dt,
ON DUPLICATE KEY UPDATE register
sndng_result_sttus = NVL(#{mmsRsltDvcd}, sndng_result_sttus) ) VALUES (
, requst_dt = NVL(#{mmsSndgTmst}, requst_dt) /* 송신(요청) 일시 */ #{srcKey}
, inqire_dt = NVL(#{mmsRcvTmst}, inqire_dt) /* 수신(조회) 일시 */ , 'ktGibis'
, readng_dt = NVL(#{mmsRdgTmst}, readng_dt) /* 최초열람일시 */ , #{signguCode} /* 시군구코드 */
, error_cn = NVL(#{errorMsg}, error_cn) , #{ffnlgCode} /* 과태료코드 */
, updt_dt = sysdate , #{mmsRsltDvcd} /* 발송결과상태 */
, updusr = 'batch' , #{mmsSndgTmst} /* 송신(요청) 일시 */
, #{mmsRcvTmst} /* 수신(조회) 일시 */
, #{mmsRdgTmst} /* 최초열람일시 */
, #{errorMsg} /* 에러내용 */
, sysdate
, 'batch'
)
</insert> </insert>
</mapper> </mapper>

@ -957,7 +957,7 @@
UPDATE tb_elctrn_ntic_sndng_result UPDATE tb_elctrn_ntic_sndng_result
SET sndng_result_code = CASE WHEN #{sndngResultSttus} IN ('RECEIVED', 'EXPIRED') THEN '1' SET sndng_result_code = CASE WHEN #{sndngResultSttus} IN ('RECEIVED', 'EXPIRED') THEN '1'
WHEN #{sndngResultSttus} IN ('READ') THEN '2' WHEN #{sndngResultSttus} IN ('READ') THEN '2'
WHEN #{sndngResultSttus} IS NULL THEN '' WHEN #{sndngResultSttus} IS NULL THEN NULL
ELSE '3' END ELSE '3' END
, requst_dt = from_unixtime(#{requstDt}, '%Y%m%d%H%i%s') /* 송신(요청) 일시 */ , requst_dt = from_unixtime(#{requstDt}, '%Y%m%d%H%i%s') /* 송신(요청) 일시 */
, inqire_dt = from_unixtime(#{inqireDt}, '%Y%m%d%H%i%s') /* 수신(조회) 일시 */ , inqire_dt = from_unixtime(#{inqireDt}, '%Y%m%d%H%i%s') /* 수신(조회) 일시 */
@ -976,7 +976,7 @@
UPDATE tb_elctrn_ntic_sndng_result UPDATE tb_elctrn_ntic_sndng_result
SET sndng_result_code = CASE WHEN #{sndngResultSttus} IN ('RECEIVED', 'EXPIRED') THEN '1' SET sndng_result_code = CASE WHEN #{sndngResultSttus} IN ('RECEIVED', 'EXPIRED') THEN '1'
WHEN #{sndngResultSttus} IN ('READ') THEN '2' WHEN #{sndngResultSttus} IN ('READ') THEN '2'
WHEN #{sndngResultSttus} IS NULL THEN '' WHEN #{sndngResultSttus} IS NULL THEN NULL
ELSE '3' END ELSE '3' END
, requst_dt = DATE_FORMAT(#{requstDt}, '%Y%m%d%H%i%s') /* 송신(요청) 일시 */ , requst_dt = DATE_FORMAT(#{requstDt}, '%Y%m%d%H%i%s') /* 송신(요청) 일시 */
, inqire_dt = DATE_FORMAT(#{inqireDt}, '%Y%m%d%H%i%s') /* 수신(조회) 일시 */ , inqire_dt = DATE_FORMAT(#{inqireDt}, '%Y%m%d%H%i%s') /* 수신(조회) 일시 */

@ -764,7 +764,6 @@
ORDER BY tekbd.sndng_detail_id ORDER BY tekbd.sndng_detail_id
</select> </select>
<!-- //FIXME : KT GIBIS 적용 안됨 - 대상 조회시 필요한 필드 매핑 필요(SQL) -->
<select id="selectKtGbsMstTgtInfo" resultType="kr.xit.biz.ens.model.EnsKtGbsDTO"> <select id="selectKtGbsMstTgtInfo" resultType="kr.xit.biz.ens.model.EnsKtGbsDTO">
/** ens-oracle-mapper|selectKtGbsMstTgtInfo-Kt GIBIS 본문자 수신 대상 정보 조회|julim */ /** ens-oracle-mapper|selectKtGbsMstTgtInfo-Kt GIBIS 본문자 수신 대상 정보 조회|julim */
SELECT tesm.sndng_mastr_id /* 발송마스터 ID */ SELECT tesm.sndng_mastr_id /* 발송마스터 ID */

Loading…
Cancel
Save