From 915d1ff9aea2cd0731b0995d68d23d65c45ac54b Mon Sep 17 00:00:00 2001 From: woo Date: Mon, 10 Jul 2023 11:24:47 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=88=EC=95=BD=EB=AC=B8=EC=9E=90=20?= =?UTF-8?q?=EB=B0=9C=EC=86=A1=2030=EB=B6=84=20=EB=94=9C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=20=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 --- .../service/impl/MjonMsgDataServiceImpl.java | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) 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 a34ea544..10832f3f 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 @@ -324,7 +324,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M if(spamStatus.equals("Y") || smishingYn.equals("Y")) { - mjonMsgVO.setDelayYn("N");//일단 값만 등록해준다. 이거 안해주면 NULL 값으로 들어간다. 차후에 변경하도록 할 예정임, 원래는 스팸이면 Y로 넣어줘야한다. + mjonMsgVO.setDelayYn("Y");//일단 값만 등록해준다. 이거 안해주면 NULL 값으로 들어간다. 차후에 변경하도록 할 예정임, 원래는 스팸이면 Y로 넣어줘야한다. }else { @@ -528,13 +528,51 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M //분할 발송을 체크 한 경우 if(mjonMsgVO.getDivideChk() != null) { - tempVO.setReqDate(dividDayList.get(i)); //분할 문자 예약 시간 입력해주기 + //스팸문구 혹은 스미싱 의심 회원의 경우 30분 딜레이 처리해준다. + //20230630 우영두 추가 + if(spamStatus.equals("Y") || smishingYn.equals("Y")) { + + Date delayDate = transFormat.parse(dividDayList.get(i)); + + cal.setTime(delayDate); + cal.add(Calendar.MINUTE, 30); + delayTime = transFormat.format(cal.getTime()); + + tempVO.setReqDate(delayTime); //분할 문자 예약 시간 입력해주기 + + }else { + + tempVO.setReqDate(dividDayList.get(i)); //분할 문자 예약 시간 입력해주기 + + } + }else {//일반 예약 발송의 경우 - tempVO.setReqDate(mjonMsgVO.getReqDate()); + if(spamStatus.equals("Y") || smishingYn.equals("Y")) {//스팸문구 혹은 스미싱 의심 회원의 경우 30분 딜레이 처리해준다. + + Date delayDate = transFormat.parse(mjonMsgVO.getReqDate()); + + cal.setTime(delayDate); + cal.add(Calendar.MINUTE, 30); + delayTime = transFormat.format(cal.getTime()); + + tempVO.setReqDate(delayTime); + + }else { + + tempVO.setReqDate(mjonMsgVO.getReqDate()); + + } } + + //딜레이 처리되었을 수 있어서 임시 데이터의 발송 시간을 업데이트 해준다. + //분할 발송일 경우 Loop을 돌기 때문에 마지막 시간이 reqDate에 들어가기 때문에 첫번째 데이터에서만 시간을 입력해 준다. + //mj_group_data 테이블의 reqdate 컬럼 값으로 셋팅 된다. + if(i==0) { + mjonMsgVO.setReqDate(tempVO.getReqDate()); + } } if(!msgType.equals("4")) { // 장문 혹은 그림문자일 경우 추가