fix: 카카오톡 재열람 만료시간 설정 반영

최초열람마감시간 + 1일
main
Jonguk. Lim 2 months ago
parent 66e0a0a9d4
commit 7545312a8f

@ -1,47 +1,19 @@
Insert into TB_INPUT_XIT Insert into TB_INPUT_XIT
(LNK_INPUT_ID, ORG_CD, JOB_CD, TOT_CNT, PRCS_CD, RUN_DT, EXPIRES_DT, SEND_TYPE, REG_ID, REG_DT, PAY_EXPIRES_DT) (LNK_INPUT_ID, ORG_CD, JOB_CD, TOT_CNT, PRCS_CD, RUN_DT, EXPIRES_DT, SEND_TYPE, REG_ID, REG_DT, PAY_EXPIRES_DT)
Values Values
(302400001120, '0002', 'B0001', 1, 'TGRG', SYSDATE, SYSDATE + 30 (302400001123, '0002', 'B0001', 1, 'TGRG', SYSDATE, SYSDATE + 30
, 'KP', 'cntc', SYSDATE, SYSDATE+30); , 'KP', 'cntc', SYSDATE, SYSDATE+30);
Insert into TB_INPUT_DATA_XIT Insert into TB_INPUT_DATA_XIT
(LNK_INPUT_ID, DATA_ID, SID, NAME, BIRTHDAY, GENDER, MSG_DATA, MSG_DTL_DATA, REG_ID, REG_DT, CAR_NO, CALL_CENTER_NO) (LNK_INPUT_ID, DATA_ID, SID, NAME, BIRTHDAY, GENDER, MSG_DATA, MSG_DTL_DATA, REG_ID, REG_DT, CAR_NO, CALL_CENTER_NO)
Values Values
(302400001120, '300799990000000001120', '8312181157213', '김지호', '19831218','1' (302400001123, '300799990000000001123', '8312181157213', '김지호', '19831218','1'
, '{"~~@@!!CAR_NO!!@@~~":"20우3412","~~@@!!DEGREE!!@@~~":"3","~~@@!!FEE!!@@~~":"1,900","~~@@!!YYYY!!@@~~":"2022","~~@@!!MM!!@@~~":"03","~~@@!!DD!!@@~~":"11","~~@@!!BANK!!@@~~":"우체국","~~@@!!ACCOUNT!!@@~~":"8608-90-80907938","~~@@!!HISTORY!!@@~~":"-2021-11-29 12:33 (별내 550)\n-2021-11-29 12:19 (양주 900)\n-2021-11-30 14:33 (불암산② 450)","~~@@!!CALL_NO!!@@~~":"(031)522-6400~1","~~@@!!HOMEPAGE!!@@~~":"https://seoulbeltway.co.kr/main/esccar.jsp"}' , '{"~~@@!!CAR_NO!!@@~~":"20우3412","~~@@!!DEGREE!!@@~~":"3","~~@@!!FEE!!@@~~":"1,900","~~@@!!YYYY!!@@~~":"2022","~~@@!!MM!!@@~~":"03","~~@@!!DD!!@@~~":"11","~~@@!!BANK!!@@~~":"우체국","~~@@!!ACCOUNT!!@@~~":"8608-90-80907938","~~@@!!HISTORY!!@@~~":"-2021-11-29 12:33 (별내 550)\n-2021-11-29 12:19 (양주 900)\n-2021-11-30 14:33 (불암산② 450)","~~@@!!CALL_NO!!@@~~":"(031)522-6400~1","~~@@!!HOMEPAGE!!@@~~":"https://seoulbeltway.co.kr/main/esccar.jsp"}'
, '{"details":[{"item_type":"TEXT","elements":[],"title":"미납통행료 안내문(1차)","properties":{"use_toggle":false}},{"item_type":"PRE_TEXT","elements":"수도권제1순환고속도로 안내문(1차)이 도착하였습니다.\n미납통행료 종이고지서를 모바일 전자문서로 고지하고 있으며, 본 전자문서를 받으신 경우 종이고지서는 발송되지 않습니다.","title":"","properties":{"use_toggle":false}},{"item_type":"KEY_VALUE","elements":[{"level":1,"value":"67어3853","key":"차량번호"},{"level":1,"value":"수도권제1순환","key":"미납발생\n노선명"},{"level":1,"value":"미납통행료 안내문(1차)","key":"고지서명"},{"level":1,"value":"1,260원","key":"납부하실 통행료"},{"level":1,"value":"1,260원","key":"- 미납통행료"},{"level":1,"value":"0원","key":"- 부가통행료"},{"level":1,"value":"2023년 06월 22일까지","key":"납부기한"}],"title":"안내내역","properties":{"use_toggle":false}},{"item_type":"TEXT","elements":[],"title":"상세내역","properties":{"use_toggle":false}},{"item_type":"KEY_VALUE","elements":[{"level":1,"value":"2023-05-20 13:10","key":"통행일시"},{"level":1,"value":"양주","key":"통행영업소"},{"level":1,"value":"1,260 원","key":"통행요금"},{"level":1,"value":"SC잔액부족","key":"미납사유"}],"title":"","properties":{"use_toggle":false}},{"item_type":"PRE_TEXT","elements":" \n","title":"","properties":{"use_toggle":false}},{"item_type":"PRE_TEXT","elements":"※ 해당 통행을 포함하여 최근 1년 이내에 20회 이상 통행료 미납 시 누적 20회부터 즉시 부가통행료(미납통행료의 10배)가 미납통행료와 함께 부과될 수 있음을 알려드립니다.","title":"","properties":{"style":{"highlight":{"※ 해당 통행을 포함하여 최근 1년 이내에 20회 이상 통행료 미납 시 누적 20회부터 즉시 부가통행료(미납통행료의 10배)가 미납통행료와 함께 부과될 수 있음을 알려드립니다.":{"font-color":"black","font-weight":"bold"}}},"use_toggle":false}},{"item_type":"KEY_VALUE","elements":[{"level":1,"value":"하단의 납부하기 클릭 또는\n가상계좌 납부\n(우체국 8608-89-80215603)","key":"납부방법"},{"level":1,"value":"수도권제1순환고속도로\n고객센터 ☎ (031)894-6300~1\n홈페이지 https://seoulbeltway.co.kr/main/esccar.jsp","key":"문의처"}],"title":"납부방법 및 문의처","properties":{"hyperlink":["https://seoulbeltway.co.kr/main/esccar.jsp"],"style":{"highlight":{"(031)894-6300~1":{"font-color":"blue","font-weight":"bold","font-size":"35px","use-clipboard":true},"우체국":{"font-weight":"bold"},"고객센터 ☎ ":{"font-color":"blue","font-weight":"bold","font-size":"35px"},"8608-89-80215603":{"font-weight":"bold","use-clipboard":true}}},"use_toggle":false}},{"item_type":"TABLE","elements":{"head":[""],"rows":[["발송처 : 민자도로 관리지원센터\n(044-211-3377)"]]},"title":"","properties":{"style":{"highlight":{"발송처 : 민자도로 관리지원센터":{"font-size":"25px"},"(044-211-3377)":{"font-size":"25px"}},"text_align":["right"]},"use_toggle":false}},{"item_type":"PAY_BUTTON","title":"납부하기"}]}' , '{"details":[{"item_type":"TEXT","elements":[],"title":"미납통행료 안내문(1차)","properties":{"use_toggle":false}},{"item_type":"PRE_TEXT","elements":"수도권제1순환고속도로 안내문(1차)이 도착하였습니다.\n미납통행료 종이고지서를 모바일 전자문서로 고지하고 있으며, 본 전자문서를 받으신 경우 종이고지서는 발송되지 않습니다.","title":"","properties":{"use_toggle":false}},{"item_type":"KEY_VALUE","elements":[{"level":1,"value":"67어3853","key":"차량번호"},{"level":1,"value":"수도권제1순환","key":"미납발생\n노선명"},{"level":1,"value":"미납통행료 안내문(1차)","key":"고지서명"},{"level":1,"value":"1,260원","key":"납부하실 통행료"},{"level":1,"value":"1,260원","key":"- 미납통행료"},{"level":1,"value":"0원","key":"- 부가통행료"},{"level":1,"value":"2023년 06월 22일까지","key":"납부기한"}],"title":"안내내역","properties":{"use_toggle":false}},{"item_type":"TEXT","elements":[],"title":"상세내역","properties":{"use_toggle":false}},{"item_type":"KEY_VALUE","elements":[{"level":1,"value":"2023-05-20 13:10","key":"통행일시"},{"level":1,"value":"양주","key":"통행영업소"},{"level":1,"value":"1,260 원","key":"통행요금"},{"level":1,"value":"SC잔액부족","key":"미납사유"}],"title":"","properties":{"use_toggle":false}},{"item_type":"PRE_TEXT","elements":" \n","title":"","properties":{"use_toggle":false}},{"item_type":"PRE_TEXT","elements":"※ 해당 통행을 포함하여 최근 1년 이내에 20회 이상 통행료 미납 시 누적 20회부터 즉시 부가통행료(미납통행료의 10배)가 미납통행료와 함께 부과될 수 있음을 알려드립니다.","title":"","properties":{"style":{"highlight":{"※ 해당 통행을 포함하여 최근 1년 이내에 20회 이상 통행료 미납 시 누적 20회부터 즉시 부가통행료(미납통행료의 10배)가 미납통행료와 함께 부과될 수 있음을 알려드립니다.":{"font-color":"black","font-weight":"bold"}}},"use_toggle":false}},{"item_type":"KEY_VALUE","elements":[{"level":1,"value":"하단의 납부하기 클릭 또는\n가상계좌 납부\n(우체국 8608-89-80215603)","key":"납부방법"},{"level":1,"value":"수도권제1순환고속도로\n고객센터 ☎ (031)894-6300~1\n홈페이지 https://seoulbeltway.co.kr/main/esccar.jsp","key":"문의처"}],"title":"납부방법 및 문의처","properties":{"hyperlink":["https://seoulbeltway.co.kr/main/esccar.jsp"],"style":{"highlight":{"(031)894-6300~1":{"font-color":"blue","font-weight":"bold","font-size":"35px","use-clipboard":true},"우체국":{"font-weight":"bold"},"고객센터 ☎ ":{"font-color":"blue","font-weight":"bold","font-size":"35px"},"8608-89-80215603":{"font-weight":"bold","use-clipboard":true}}},"use_toggle":false}},{"item_type":"TABLE","elements":{"head":[""],"rows":[["발송처 : 민자도로 관리지원센터\n(044-211-3377)"]]},"title":"","properties":{"style":{"highlight":{"발송처 : 민자도로 관리지원센터":{"font-size":"25px"},"(044-211-3377)":{"font-size":"25px"}},"text_align":["right"]},"use_toggle":false}},{"item_type":"PAY_BUTTON","title":"납부하기"}]}'
, 'cntc', SYSDATE, '20우3412', '1599-2509'); , 'cntc', SYSDATE, '20우3412', '1599-2509');
commit; commit;
select
intgrnsend0_.int_send_detail_id as col_0_0_,
intgrnsend0_.linked_uuid as col_1_0_,
intgrnsend0_.cur_post_se as col_2_0_,
senddetail1_.status as col_3_0_,
senddetail1_.sent_at as col_4_0_,
senddetail1_.received_at as col_5_0_,
senddetail1_.authenticated_at as col_6_0_,
senddetail1_.ott_verified_at as col_7_0_,
senddetail1_.read_at as col_8_0_,
senddetail1_.user_notified_at as col_9_0_,
senddetail1_.error_code as col_10_0_,
senddetail1_.error_message as col_11_0_,
sendmast2_.error_code as col_12_0_,
sendmast2_.error_message as col_13_0_
from
ens_intgrn_snd_dtl intgrnsend0_
inner join
ens_snd_dtl_kko_talk senddetail1_
on (
senddetail1_.send_detail_id=intgrnsend0_.send_detail_id_kko_talk
)
inner join
ens_snd_mast sendmast2_
on senddetail1_.send_mast_id=sendmast2_.send_mast_id
where
intgrnsend0_.cur_post_se='kkoTalk'
and intgrnsend0_.int_send_mast_id=1553;
@ -71,131 +43,3 @@ select * from ENS_NICE_CI_MNG order by regist_dt desc;
select to_char(to_timestamp(null, 'yyyy-mm-dd"T"hh24:mi:ss'), 'yyyymmddhh24miss') select to_char(to_timestamp(null, 'yyyy-mm-dd"T"hh24:mi:ss'), 'yyyymmddhh24miss')
from dual; from dual;
select *
from ens_tmplt_mng etm
join ens_org_mng eom
on etm.ORG_CD = eom.ORG_CD
left join ens_tmplt_mng_intgrn etmi
on etm.ORG_CD = etmi.ORG_CD
and etm.TMPLT_CD = etmi.TMPLT_CD
left join ens_tmplt_mng_kko_at etmka
on etm.ORG_CD = etmka.ORG_CD
and etm.TMPLT_CD = etmka.TMPLT_CD
left join ens_tmplt_mng_kko_md etmkm
on etm.ORG_CD = etmkm.ORG_CD
and etm.TMPLT_CD = etmkm.TMPLT_CD
left join ens_tmplt_mng_kt_st etmks
on etm.ORG_CD = etmks.ORG_CD
and etm.TMPLT_CD = etmks.TMPLT_CD
left join ens_tmplt_mng_kt_gbs etmkg
on etm.ORG_CD = etmkg.ORG_CD
and etm.TMPLT_CD = etmkg.TMPLT_CD
left join ens_tmplt_mng_nv_st etmns
on etm.ORG_CD = etmns.ORG_CD
and etm.TMPLT_CD = etmns.TMPLT_CD
where etm.ORG_CD = '0001'
and etm.TMPLT_CD = 'A0001';
select * from ens_org_mng where ORG_CD = '0001';
select * from ens_intgrn_snd_dtl;
select * from TB_INPUT_XIT;
select * from TB_INPUT_DATA_XIT;
SELECT * FROM TB_SEND_RESULT_V2;
select
sendmast0_.send_mast_id as send_mast_id1_35_,
sendmast0_.last_updt_dt as last_updt_dt2_35_,
sendmast0_.regist_dt as regist_dt3_35_,
sendmast0_.accept_dt as accept_dt4_35_,
sendmast0_.close_dt as close_dt5_35_,
sendmast0_.error_code as error_code6_35_,
sendmast0_.error_message as error_message7_35_,
sendmast0_.org_cd as org_cd8_35_,
sendmast0_.post_bundle_title as post_bundle_title9_35_,
sendmast0_.read_cnt as read_cnt10_35_,
sendmast0_.send_cnt as send_cnt11_35_,
sendmast0_.send_dt as send_dt12_35_,
sendmast0_.stat_cd as stat_cd13_35_,
sendmast0_.tmplt_cd as tmplt_cd14_35_,
sendmast0_.vender as vender15_35_,
sendmast0_.post_se as post_se16_35_
from
ens_snd_mast sendmast0_
where
sendmast0_.send_mast_id=3302;
select
intgrnsend0_.int_send_mast_id as col_0_0_
from
ens_intgrn_snd_dtl intgrnsend0_
inner join
ens_snd_dtl_kko_talk senddetail1_
on (
intgrnsend0_.send_detail_id_kko_talk=senddetail1_.send_detail_id
)
where
senddetail1_.send_mast_id=3302
group by
intgrnsend0_.int_send_mast_id;
select
intgrnsend0_.int_send_mast_id as int_send_mast_id1_6_0_,
intgrnsend0_.last_updt_dt as last_updt_dt2_6_0_,
intgrnsend0_.regist_dt as regist_dt3_6_0_,
intgrnsend0_.accept_dt as accept_dt4_6_0_,
intgrnsend0_.close_dt as close_dt5_6_0_,
intgrnsend0_.error_code as error_code6_6_0_,
intgrnsend0_.error_message as error_message7_6_0_,
intgrnsend0_.org_cd as org_cd8_6_0_,
intgrnsend0_.post_bundle_title as post_bundle_title9_6_0_,
intgrnsend0_.read_cnt as read_cnt10_6_0_,
intgrnsend0_.send_cnt as send_cnt11_6_0_,
intgrnsend0_.send_dt as send_dt12_6_0_,
intgrnsend0_.stat_cd as stat_cd13_6_0_,
intgrnsend0_.tmplt_cd as tmplt_cd14_6_0_,
intgrnsend0_.vender as vender15_6_0_,
intgrnsend0_.try1 as try16_6_0_,
intgrnsend0_.try2 as try17_6_0_,
intgrnsend0_.try3 as try18_6_0_,
intgrnsend0_.try_cnt as try_cnt19_6_0_,
intgrnsend0_.try_seq as try_seq20_6_0_,
intgrnsend0_.try_stat_cd as try_stat_cd21_6_0_
from
ens_intgrn_snd_mast intgrnsend0_
where
intgrnsend0_.int_send_mast_id=2452;; select
intgrnsend0_.int_send_mast_id as int_send_mast_id1_6_0_,
intgrnsend0_.last_updt_dt as last_updt_dt2_6_0_,
intgrnsend0_.regist_dt as regist_dt3_6_0_,
intgrnsend0_.accept_dt as accept_dt4_6_0_,
intgrnsend0_.close_dt as close_dt5_6_0_,
intgrnsend0_.error_code as error_code6_6_0_,
intgrnsend0_.error_message as error_message7_6_0_,
intgrnsend0_.org_cd as org_cd8_6_0_,
intgrnsend0_.post_bundle_title as post_bundle_title9_6_0_,
intgrnsend0_.read_cnt as read_cnt10_6_0_,
intgrnsend0_.send_cnt as send_cnt11_6_0_,
intgrnsend0_.send_dt as send_dt12_6_0_,
intgrnsend0_.stat_cd as stat_cd13_6_0_,
intgrnsend0_.tmplt_cd as tmplt_cd14_6_0_,
intgrnsend0_.vender as vender15_6_0_,
intgrnsend0_.try1 as try16_6_0_,
intgrnsend0_.try2 as try17_6_0_,
intgrnsend0_.try3 as try18_6_0_,
intgrnsend0_.try_cnt as try_cnt19_6_0_,
intgrnsend0_.try_seq as try_seq20_6_0_,
intgrnsend0_.try_stat_cd as try_stat_cd21_6_0_
from
ens_intgrn_snd_mast intgrnsend0_
where
intgrnsend0_.int_send_mast_id=2452;
select esdkt.EXTERNAL_ID, esdkt.ENVELOPE_ID
from ens_snd_mast esm
join ENS_SND_DTL_KKO_TALK esdkt
ON esm.SEND_MAST_ID = esdkt.SEND_MAST_ID
and esdkt.EXTERNAL_ID =

@ -15,17 +15,15 @@ public class AcptDocKkoTalk implements Accept<KkotalkApiDTO.Envelope> {
@Override @Override
public KkotalkApiDTO.Envelope createDocument() { public KkotalkApiDTO.Envelope createDocument() {
final String readExpiresAt = DateUtil.getTimeTOfTime(tbInputDataXit.getTbInputXit().getPayExpiresDt().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
return KkotalkApiDTO.Envelope.builder() return KkotalkApiDTO.Envelope.builder()
.hash(null) .hash(null)
.content( .content(
KkotalkApiDTO.Content.builder() KkotalkApiDTO.Content.builder()
.link(redirectUrl) .link(redirectUrl)
.build()) .build())
.readExpiresAt( .readExpiresAt(readExpiresAt)
DateUtil.getTimeTOfTime(tbInputDataXit.getTbInputXit().getPayExpiresDt().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")))) .reviewExpiresAt(DateUtil.getAddDayT(readExpiresAt, 1))
// FIXME: readExpiresAt + 1일로 설정
.reviewExpiresAt(
"2024-10-30T23:59:59")
.build(); .build();
} }
} }

@ -15,6 +15,7 @@ import lombok.extern.slf4j.*;
@Slf4j @Slf4j
public class DateUtil { public class DateUtil {
private static final String DEFAULT_YMD_DT_FMT ="yyyy-MM-dd HH:mm:ss";
/** /**
* <pre> : (: milliesecond) .</pre> * <pre> : (: milliesecond) .</pre>
@ -415,7 +416,7 @@ public class DateUtil {
*/ */
public static String getTimeOfTimeT(String timeT, String fmt) { public static String getTimeOfTimeT(String timeT, String fmt) {
return LocalDateTime.parse(timeT, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")) return LocalDateTime.parse(timeT, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"))
.format(DateTimeFormatter.ofPattern(StringUtils.isEmpty(fmt)? "yyyy-MM-dd HH:mm:ss": fmt)); .format(DateTimeFormatter.ofPattern(StringUtils.isEmpty(fmt)? DEFAULT_YMD_DT_FMT: fmt));
} }
/** /**
@ -428,4 +429,34 @@ public class DateUtil {
return LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) return LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")); .format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));
} }
/**
* : --
*
* @param userFormat
* @return String
*/
public static String getTodayAndNowTime(final String userFormat) {
String pattern = "";
try {
pattern = DEFAULT_YMD_DT_FMT;
if (!org.apache.commons.lang3.StringUtils.isEmpty(userFormat)) {
pattern = userFormat;
}
} catch (Exception e) {
log.error("DateUtils::getTodayAndNowTime", e);
}
return localDateTime().format(DateTimeFormatter.ofPattern(pattern));
}
/**
* LocalDateTime
*
* @return LocalDateTime
*/
public static LocalDateTime localDateTime() {
return LocalDateTime.now();
}
} }

Loading…
Cancel
Save