이지우 - 대체문자 처리 스케줄러 추가
@fa55935029aac682fb41074018b5ff5f3e89f749
--- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
... | ... | @@ -93,6 +93,7 @@ |
| 93 | 93 |
private String reserveYn ; //예약문자 여부 |
| 94 | 94 |
private String reserveCYn ; //예약문자 취소 여부 |
| 95 | 95 |
private String cancelDate; //예약 취소 일자 |
| 96 |
+ private String msgResult; //문자 발송결과 10:성공 20:실패 30:대체문자 대기 40:대체문자 성공 50:대체문자 실패 |
|
| 96 | 97 |
|
| 97 | 98 |
|
| 98 | 99 |
private String sendRate; // 전송 배분률 |
... | ... | @@ -313,5 +314,8 @@ |
| 313 | 314 |
private String detailType; |
| 314 | 315 |
|
| 315 | 316 |
private List<MjonMsgSendVO> mjonMsgSendVOList = new ArrayList<>(); |
| 317 |
+ |
|
| 318 |
+ private String cmId; //다우기술 cmId |
|
| 319 |
+ |
|
| 316 | 320 |
|
| 317 | 321 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java
... | ... | @@ -463,6 +463,23 @@ |
| 463 | 463 |
} |
| 464 | 464 |
|
| 465 | 465 |
|
| 466 |
+ //대체문자 대기 목록 조회 |
|
| 467 |
+ @SuppressWarnings("unchecked")
|
|
| 468 |
+ public List<MjonMsgVO> selectBizResendLogList()throws Exception{
|
|
| 469 |
+ |
|
| 470 |
+ return (List<MjonMsgVO>) list("mjonMsgDataDAO.selectBizResendLogList");
|
|
| 471 |
+ } |
|
| 472 |
+ //대체문자 결과 반영 |
|
| 473 |
+ public int updateResendResult(MjonMsgVO mjonMsgVO)throws Exception{
|
|
| 474 |
+ |
|
| 475 |
+ return update("MjonMsgDataDAO.updateResendResult", mjonMsgVO);
|
|
| 476 |
+ } |
|
| 477 |
+ //대체문자 로그 삭제 |
|
| 478 |
+ public int deleteBizResendLog(MjonMsgVO mjonMsgVO)throws Exception{
|
|
| 479 |
+ |
|
| 480 |
+ return delete("MjonMsgDataDAO.deleteBizResendLog", mjonMsgVO);
|
|
| 481 |
+ } |
|
| 482 |
+ |
|
| 466 | 483 |
|
| 467 | 484 |
public Timestamp convertToTimestamp(String reqDate) {
|
| 468 | 485 |
try {
|
--- src/main/java/itn/let/schdlr/service/SchdlrManageService.java
+++ src/main/java/itn/let/schdlr/service/SchdlrManageService.java
... | ... | @@ -54,4 +54,7 @@ |
| 54 | 54 |
public void payBack(String type, int limitCout) throws Exception; |
| 55 | 55 |
|
| 56 | 56 |
public void payBack_advc(String p_type) throws Exception; |
| 57 |
+ |
|
| 58 |
+ //대체문자 결과 반영 배치 |
|
| 59 |
+ public void updateKakaoResendResult() throws Exception; |
|
| 57 | 60 |
} |
--- src/main/java/itn/let/schdlr/service/SchedulerUtil.java
+++ src/main/java/itn/let/schdlr/service/SchedulerUtil.java
... | ... | @@ -479,6 +479,22 @@ |
| 479 | 479 |
} |
| 480 | 480 |
} |
| 481 | 481 |
|
| 482 |
+ //대체문자 결과 반영 |
|
| 483 |
+ @Scheduled(cron = "0 0/2 * * * ?") // 2분마다 실행 |
|
| 484 |
+ @SchedulerLock(name = "updateKakaoResendResult", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) |
|
| 485 |
+ public void runUpdateKakaoResendResult() throws Exception {
|
|
| 486 |
+ |
|
| 487 |
+ try {
|
|
| 488 |
+ System.out.println("=============SchedulerUtil=====runKakaoResendUpdate =============>");
|
|
| 489 |
+ schdlrManageService.updateKakaoResendResult(); |
|
| 490 |
+ }catch(Exception ex) {
|
|
| 491 |
+ ex.printStackTrace(); |
|
| 492 |
+ } |
|
| 493 |
+ |
|
| 494 |
+ } |
|
| 495 |
+ |
|
| 496 |
+ |
|
| 497 |
+ |
|
| 482 | 498 |
//환불 실행 |
| 483 | 499 |
private void PayBack(String p_type) throws Exception {
|
| 484 | 500 |
|
--- src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java
+++ src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java
... | ... | @@ -566,4 +566,35 @@ |
| 566 | 566 |
|
| 567 | 567 |
return msgFailList; |
| 568 | 568 |
} |
| 569 |
+ |
|
| 570 |
+ |
|
| 571 |
+ /** |
|
| 572 |
+ * @methodName : updateKakaoResendResult |
|
| 573 |
+ * @author : 이지우 |
|
| 574 |
+ * @date : 2025.07.15 |
|
| 575 |
+ * @description : 대체문자 결과 반영 |
|
| 576 |
+ * @param p_type |
|
| 577 |
+ * @param request |
|
| 578 |
+ * @param model |
|
| 579 |
+ * @return |
|
| 580 |
+ * @throws Exception |
|
| 581 |
+ */ |
|
| 582 |
+ @Override |
|
| 583 |
+ public void updateKakaoResendResult() throws Exception {
|
|
| 584 |
+ |
|
| 585 |
+ // 대체문자 대상 조회 |
|
| 586 |
+ List<MjonMsgVO> resendLogList = mjonMsgDataDAO.selectBizResendLogList(); |
|
| 587 |
+ for(MjonMsgVO vo : resendLogList) {
|
|
| 588 |
+ if("4100".equals(vo.getResultCode())
|
|
| 589 |
+ || "6600".equals(vo.getResultCode()) |
|
| 590 |
+ || "7000".equals(vo.getResultCode())) {
|
|
| 591 |
+ vo.setMsgResult("40");
|
|
| 592 |
+ }else {
|
|
| 593 |
+ vo.setMsgResult("50");
|
|
| 594 |
+ } |
|
| 595 |
+ mjonMsgDataDAO.updateResendResult(vo); |
|
| 596 |
+ mjonMsgDataDAO.deleteBizResendLog(vo); |
|
| 597 |
+ } |
|
| 598 |
+ |
|
| 599 |
+ } |
|
| 569 | 600 |
} |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
... | ... | @@ -8244,5 +8244,35 @@ |
| 8244 | 8244 |
|
| 8245 | 8245 |
</update> |
| 8246 | 8246 |
|
| 8247 |
+ <select id="mjonMsgDAO.selectBizResendLogList" resultClass="mjonMsgVO"> |
|
| 8248 |
+ |
|
| 8249 |
+ SELECT |
|
| 8250 |
+ BRLA.CMID AS cmId, |
|
| 8251 |
+ BRLA.CALL_STATUS AS resultCode, |
|
| 8252 |
+ BRLB.USER_KEY AS userData |
|
| 8253 |
+ FROM |
|
| 8254 |
+ BIZ_RESEND_LOG BRLA |
|
| 8255 |
+ JOIN |
|
| 8256 |
+ BIZ_RESEND_LOG BRLB |
|
| 8257 |
+ ON BRLB.UMID = BRLA.CMID |
|
| 8258 |
+ WHERE (BRLA.UMID = '' OR BRLA.UMID IS NULL); |
|
| 8259 |
+ |
|
| 8260 |
+ </select> |
|
| 8261 |
+ |
|
| 8262 |
+ <update id="mjonMsgDAO.updateResendResult" parameterClass="mjonMsgVO" > |
|
| 8263 |
+ |
|
| 8264 |
+ UPDATE MJ_MSG_DATA |
|
| 8265 |
+ SET MSG_RESULT = #msgResult# |
|
| 8266 |
+ WHERE USERDATA = #userData# |
|
| 8267 |
+ |
|
| 8268 |
+ </update> |
|
| 8269 |
+ |
|
| 8270 |
+ <delete id="mjonMsgDAO.deleteBizResendLog" parameterClass="mjonMsgVO" > |
|
| 8271 |
+ |
|
| 8272 |
+ DELETE FROM BIZ_RESEND_LOG |
|
| 8273 |
+ WHERE CMID = #cmId# OR UMID = #cmId# |
|
| 8274 |
+ |
|
| 8275 |
+ </delete> |
|
| 8276 |
+ |
|
| 8247 | 8277 |
</sqlMap> |
| 8248 | 8278 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?