woo 2023-07-10
예약문자 발송 30분 딜레이 기능 추가
@915d1ff9aea2cd0731b0995d68d23d65c45ac54b
src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
@@ -324,7 +324,7 @@
 	    	
 	    	if(spamStatus.equals("Y") || smishingYn.equals("Y")) {
 	    		
-	    		mjonMsgVO.setDelayYn("N");//일단 값만 등록해준다. 이거 안해주면 NULL 값으로 들어간다. 차후에 변경하도록 할 예정임, 원래는 스팸이면 Y로 넣어줘야한다.
+	    		mjonMsgVO.setDelayYn("Y");//일단 값만 등록해준다. 이거 안해주면 NULL 값으로 들어간다. 차후에 변경하도록 할 예정임, 원래는 스팸이면 Y로 넣어줘야한다.
 	    		
 	    	}else {
 	    		
@@ -528,13 +528,51 @@
 					//분할 발송을 체크 한 경우
 					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")) { // 장문 혹은 그림문자일 경우 추가
Add a comment
List