From ad5685c86d7d693f65bfe74c88436c7ec0f82ebb Mon Sep 17 00:00:00 2001 From: woo Date: Tue, 11 Jul 2023 09:40:54 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=B8=EC=9E=90=EB=B0=9C=EC=86=A1=20?= =?UTF-8?q?=EC=98=88=EC=95=BD=20=EB=AC=B8=EC=9E=90=20=EC=8A=A4=EB=AF=B8?= =?UTF-8?q?=EC=8B=B1=20=EB=B0=8F=20=EC=8A=A4=ED=8C=B8=20=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=20=EB=94=9C=EB=A0=88=EC=9D=B4=20=EA=B8=B0=EB=8A=A5=20=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90/=EA=B4=80=EB=A6=AC=EC=9E=90=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/mjo/msg/service/impl/MjonMsgDAO.java | 10 ++ .../msg/service/impl/MjonMsgServiceImpl.java | 132 ++++++++++----- .../service/impl/MjonMsgDataServiceImpl.java | 10 +- .../service/impl/MjonReservMsgDAO.java | 68 ++++++++ .../let/kakao/MjonKakaoATData_SQL_mysql.xml | 1 + .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 40 +++++ .../sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml | 154 ++++++++++++++++++ .../let/uss/umt/EgovMberManage_SQL_Mysql.xml | 2 +- .../cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp | 6 + 9 files changed, 381 insertions(+), 42 deletions(-) diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java index 81021f07..42cd9831 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java @@ -426,11 +426,21 @@ public class MjonMsgDAO extends EgovAbstractDAO { update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgDataFlag", mjonMsgVO); } + // mj_msg_data 테이블 예약 지연 문자 발송 요청시간 수정 + public void updateMsgDelaySendReserveTimeMsgDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateMsgDelaySendReserveTimeMsgDataFlag", mjonMsgVO); + } + // mj_msg_group_data 테이블 지연 문자 즉시발송 요청시간 수정 public void updateMsgDelaySendRealTimeMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { update("mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag", mjonMsgVO); } + // mj_msg_group_data 테이블 예약 지연 문자 발송 요청시간 수정 + public void updateMsgDelaySendReserveTimeMsgGroupDataFlag(MjonMsgVO mjonMsgVO) { + update("mjonMsgDAO.updateMsgDelaySendReserveTimeMsgGroupDataFlag", mjonMsgVO); + } + // mj_msg_data 테이블 지연 알림톡 취소 값 수정 public void updateKakaoAtDelayCancelMsgDataFlag(MjonMsgVO mjonMsgVO) { update("mjonMsgDAO.updateKakaoAtDelayCancelMsgDataFlag", mjonMsgVO); diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java index 46398448..765c0bb0 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java @@ -2,7 +2,6 @@ package itn.let.mjo.msg.service.impl; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.List; @@ -18,7 +17,6 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; -import itn.com.cmm.util.MJUtil; import itn.com.utl.fcc.service.EgovDateUtil; import itn.let.mjo.msg.service.MjPhoneMemberVO; import itn.let.mjo.msg.service.MjonMapAddressVO; @@ -766,6 +764,10 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM //삭제 문자 건수 MSG_SEQ 번호 받아오기 List resultMsgSeqList = mjonReservMsgDAO.selectMsgSeqListByGroupId(mjonResvMsgVO); + String reservYn = resultMsgSeqList.get(0).getReserveYn(); + + System.out.println("++++++++++++++++++++++++++++ reservYn ::: "+reservYn); + int size = resultMsgSeqList.size(); List userDataList = new ArrayList(); for(int i=0; i < size; i++) { @@ -777,8 +779,8 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM mjonResvMsgVO.setUserDataList(userDataList); - int ihResult = 0; - int imoResult = 0; + //int ihResult = 0; + //int imoResult = 0; int bizResult = 0; int FHSmsResult = 0; int FHMmsResult = 0; @@ -787,51 +789,101 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM int JJB01Result = 0; int JJB02Result = 0; - - //아이하트 딜레이문자 즉시발송 처리 - //ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); - ihResult = mjonReservMsgDAO.updateRealTimeIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); - - //현대퓨처넷 단문 딜레이문자 즉시발송 처리 - FHSmsResult = mjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO); + //즉시 전송 딜레이건에 대한 즉시 전송 처리 - 아이하트, 아에임오 전송사는 사용 안하기 때문에 주석처리함. + if(reservYn.equals("N")) { + + //아이하트 딜레이문자 즉시발송 처리 + //ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); + //ihResult = mjonReservMsgDAO.updateRealTimeIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); + + //현대퓨처넷 단문 딜레이문자 즉시발송 처리 + FHSmsResult = mjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO); - //현대퓨처넷 장문/그림 딜레이문자 즉시발송 처리 - FHMmsResult = mjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO); + //현대퓨처넷 장문/그림 딜레이문자 즉시발송 처리 + FHMmsResult = mjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO); + + //아이엠오 딜레이문자 즉시발송 처리 + //imoResult = mjonReservMsgDAO.updateRealTimeIMOMsgSeqListByMsgSeq(mjonResvMsgVO); + + //비즈뿌리오 딜레이문자 즉시발송 처리 + bizResult = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 딜레이문자 즉시발송 처리 + JJResult = mjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO); + + //인비토 딜레이문자 즉시발송 처리 + IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B01 딜레이문자 즉시발송 처리 + JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B02 딜레이문자 즉시발송 처리 + JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); + + //발송 결과 합산 + resultSts = FHSmsResult + FHMmsResult + bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; + + System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); + + }else {//예약문자에 대한 딜레이발송 시간을 원복 처리해준다. - 아이하트, 아이엠오 전송사는 제외해준다. + + //현대퓨처넷 단문 예약 딜레이문자 발송 처리 + FHSmsResult = mjonReservMsgDAO.updateReserveTimeHFNSmsMsgSeqListByMsgSeq(mjonResvMsgVO); + + //현대퓨처넷 장문/그림 예약 딜레이문자 발송 처리 + FHMmsResult = mjonReservMsgDAO.updateReserveTimeHFNMmsMsgSeqListByMsgSeq(mjonResvMsgVO); + + //비즈뿌리오 예약 딜레이문자 발송 처리 + bizResult = mjonReservMsgDAO.updateReserveTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 예약 딜레이문자 발송 처리 + JJResult = mjonReservMsgDAO.updateReserveTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO); + + //인비토 예약 딜레이문자 발송 처리 + IVTResult = mjonReservMsgDAO.updateReserveTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B01 예약 딜레이문자 발송 처리 + JJB01Result = mjonReservMsgDAO.updateReserveTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); + + //제이제이 B02 예약 딜레이문자 발송 처리 + JJB02Result = mjonReservMsgDAO.updateReserveTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); + + //발송 결과 합산 + resultSts = FHSmsResult + FHMmsResult + bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; + + System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); + + + } - //아이엠오 딜레이문자 즉시발송 처리 - imoResult = mjonReservMsgDAO.updateRealTimeIMOMsgSeqListByMsgSeq(mjonResvMsgVO); - - //비즈뿌리오 딜레이문자 즉시발송 처리 - bizResult = mjonReservMsgDAO.updateRealTimeBizMsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 딜레이문자 즉시발송 처리 - JJResult = mjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 딜레이문자 즉시발송 처리 - IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 B01 딜레이문자 즉시발송 처리 - JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); - - //제이제이 B02 딜레이문자 즉시발송 처리 - JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); - - //삭제 결과 합산 - resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; - - System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts); //예약 취소 환불 처리 if(resultSts > 0) { + MjonMsgVO mjonMsgVO = new MjonMsgVO(); //그룹 데이터 정보 조회하기 - MjonMsgVO mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO); + mjonMsgVO = mjonMsgDAO.selectMsgGroupDataByGoupId(mjonResvMsgVO); + + if(reservYn.equals("N")) { + + //mj_msg_data 테이블 지연 문자 즉시발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendRealTimeMsgDataFlag(mjonMsgVO); + + //mj_msg_group_data 테이블 즉시발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag(mjonMsgVO); + + }else { + + //mj_msg_data 테이블 예약 지연 문자 발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendReserveTimeMsgDataFlag(mjonMsgVO); + + //mj_msg_group_data 테이블 예약 발송 요청 값 수정 + mjonMsgDAO.updateMsgDelaySendReserveTimeMsgGroupDataFlag(mjonMsgVO); + + } + - //mj_msg_data 테이블 지연 문자 즉시발송 요청 값 수정 - mjonMsgDAO.updateMsgDelaySendRealTimeMsgDataFlag(mjonMsgVO); - //mj_msg_group_data 테이블 즉시발송 요청 값 수정 - mjonMsgDAO.updateMsgDelaySendRealTimeMsgGroupDataFlag(mjonMsgVO); } diff --git a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java index 10832f3f..a25c3e86 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java +++ b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java @@ -368,6 +368,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M //Controller에서 전달 받은 분할 시간 정보 리스트 List dividDayList = mjonMsgVO.getDividDay(); + String frstDelayTime = mjonMsgVO.getReqDate(); //문자발송 리스트 생성 시작 for(int i = 0; i < callToCnt; i++) { @@ -571,7 +572,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M //분할 발송일 경우 Loop을 돌기 때문에 마지막 시간이 reqDate에 들어가기 때문에 첫번째 데이터에서만 시간을 입력해 준다. //mj_group_data 테이블의 reqdate 컬럼 값으로 셋팅 된다. if(i==0) { - mjonMsgVO.setReqDate(tempVO.getReqDate()); + frstDelayTime = tempVO.getReqDate(); } } @@ -771,6 +772,13 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M if(tmpDelayYn == null) { mjonMsgVO.setDelayYn("N"); } + + //예약 문자이고 30분 지연이 된 문자의 Mj_msg_group_data 테이블의 req_date 시간을 첫번째 문자의 지연된 시간으로 셋팅해준다. + if(mjonMsgVO.getReserveYn().equals("Y") && (spamStatus.equals("Y") || smishingYn.equals("Y"))) { + + mjonMsgVO.setReqDate(frstDelayTime); + + } mjonMsgDAO.insertGroupMsgData(mjonMsgVO); }else { diff --git a/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java b/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java index 6c836b5c..20fad5e5 100644 --- a/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java +++ b/src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java @@ -201,6 +201,18 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeHFNSmsMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeHFNSmsMsgSeqListByMsgSeq + * @작성일 : 2023 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 현대퓨처넷 예약문자 지연처리 문자 정상 시간 발송 + */ + public int updateReserveTimeHFNSmsMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeHFNSmsMsgSeqListByMsgSeq", mjonResvMsgVO); + } + + /** * @Method Name : updateRealTimeIHeartMsgSeqListByMsgSeq * @작성일 : 2022. 12. 02. @@ -212,6 +224,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeHFNMmsMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeHFNMmsMsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 현대퓨처넷 예약 장문/그림 지연처리 문자 즉시 발송 + */ + public int updateReserveTimeHFNMmsMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeHFNMmsMsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateRealTimeIMOMsgSeqListByMsgSeq * @작성일 : 2022. 12. 02. @@ -245,6 +268,18 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeJJMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeJJMsgSeqListByMsgSeq + * @작성일 : 2023. 7. 10. + * @작성자 : 우영두 + * @Method 설명 : 제이제이 예약 지연처리 문자 정상 발송 + */ + public int updateReserveTimeJJMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeJJMsgSeqListByMsgSeq", mjonResvMsgVO); + } + + /** * @Method Name : updateRealTimeIVTMsgSeqListByMsgSeq * @작성일 : 2023. 05. 16. @@ -256,6 +291,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeIVTMsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 인비토 예약 지연처리 문자 즉시 발송 + */ + public int updateReserveTimeIVTMsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateRealTimeJJB01MsgSeqListByMsgSeq * @작성일 : 2023. 06. 20. @@ -267,6 +313,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeJJB01MsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 제이제이 B01라인 예약 지연처리 문자 발송 + */ + public int updateReserveTimeJJB01MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeJJB01MsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateRealTimeJJB02MsgSeqListByMsgSeq * @작성일 : 2023. 06. 20. @@ -278,6 +335,17 @@ public class MjonReservMsgDAO extends EgovAbstractDAO { return update("MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO); } + /** + * @Method Name : updateReserveTimeJJB02MsgSeqListByMsgSeq + * @작성일 : 2023. 07. 10. + * @작성자 : 우영두 + * @Method 설명 : 제이제이 B02라인 예약 지연처리 문자 발송 + */ + public int updateReserveTimeJJB02MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) { + + return update("MjonReservMsgDAO.updateReserveTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO); + } + /** * @Method Name : updateReserveTimeBizMsgSeqListByMsgSeq * @작성일 : 2023. 07. 06. diff --git a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml index 2deba729..2d1e1452 100644 --- a/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml @@ -2313,6 +2313,7 @@ , A.result AS resultType , MGD.AT_DELAY_YN AS atDelayYn , MGD.AT_DELAY_COMPLETE_YN AS atDelayCompleteYn + , MGD.RESERVE_YN AS reserveYn FROM (SELECT a.MSG_ID AS msgId diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index 0bfe25e1..6b719939 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -5825,6 +5825,25 @@ + + + + UPDATE MJ_MSG_DATA + SET REQ_DATE = + = 30 + THEN DATE_ADD(REQ_DATE, INTERVAL -30 MINUTE) + ELSE DATE_ADD(REQ_DATE, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE)) MINUTE) + END + ]]> + WHERE USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + + UPDATE MJ_MSG_GROUP_DATA @@ -5834,6 +5853,27 @@ + + + + UPDATE MJ_MSG_GROUP_DATA + SET REQ_DATE = + = 30 + THEN DATE_ADD(REQ_DATE, INTERVAL -30 MINUTE) + ELSE DATE_ADD(REQ_DATE, INTERVAL -(TIMESTAMPDIFF(MINUTE, NOW(), REQ_DATE)) MINUTE) + END + ]]> , + + DELAY_COMPLETE_YN = 'Y' + WHERE USER_ID = #userId# + AND MSG_GROUP_ID = #msgGroupId# + + +