wyh 2023-07-04
알림톡 사용자 딜레이 기능 추가
@e9695888519a8d8d52a9249c467db97c99684f44
src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
--- src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java
@@ -157,6 +157,23 @@
 					kakaoSandInfo.setReqDate(sdFormat.format(now));
 					
 				}
+				
+				if(kakaoVO.getAtSmishingYn().equals("Y")) {
+					String sandDate = kakaoVO.getReqDate();
+					SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+					Date date = sdFormat.parse(sandDate);
+					
+					Calendar cal1 = Calendar.getInstance();
+					cal1.setTime(date); // 시간 설정
+					cal1.add(Calendar.MINUTE, 30); // 30분 연산
+					
+					String reqDate = sdFormat.format(cal1.getTime());
+					
+					System.out.println("@@@@@@@@@@@@@@  reqDate  : "+reqDate);
+					kakaoVO.setReqDate(reqDate);
+					kakaoSandInfo.setReqDate(reqDate);
+				}
+				
 				/**전송시간 설정 (끝)------------------------------------------------*/
 	
 				/**카카오 전송 데이터 추가*/
src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java
--- src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkSendController.java
@@ -154,6 +154,7 @@
 			
 			mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
 			
+			model.addAttribute("atSmishingYn", mberManageVO.getAtSmishingYn());
 		}
 		
 		//3.사용자 개인단가 정보가 0이 아니면 개인단가 사용, 없으면 시스템 기본 단가 사용
src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
--- src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
+++ src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java
@@ -354,6 +354,10 @@
 	private String delayYn;			// 문자 30분 지연 처리 유무
 	private String delayCompleteYn; // 문자 30분 지연 처리 완료 유무
 	
+	private String atDelayYn;			// 알림 30분 지연 처리 유무
+	private String atDelayCompleteYn;	// 알림톡 30분 지연 처리 완료 유무
+	private String atSmishingYn;		// 알림 지연처리
+	
 	private int totalCallCnt;	//수신자 전체 갯
 	
 	private String bizLogCallStatus;	//다우기술 biz_log 테이블의 발송결과 코드 값.
@@ -1375,5 +1379,22 @@
 	public void setAccessKey(String accessKey) {
 		this.accessKey = accessKey;
 	}
-	
+	public String getAtDelayYn() {
+		return atDelayYn;
+	}
+	public void setAtDelayYn(String atDelayYn) {
+		this.atDelayYn = atDelayYn;
+	}
+	public String getAtDelayCompleteYn() {
+		return atDelayCompleteYn;
+	}
+	public void setAtDelayCompleteYn(String atDelayCompleteYn) {
+		this.atDelayCompleteYn = atDelayCompleteYn;
+	}
+	public String getAtSmishingYn() {
+		return atSmishingYn;
+	}
+	public void setAtSmishingYn(String atSmishingYn) {
+		this.atSmishingYn = atSmishingYn;
+	}
 }
src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
@@ -1380,25 +1380,25 @@
 			List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
 			kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
 			
-	        model.addAttribute("kakaoResultList", kakaoResultList);
+			model.addAttribute("kakaoResultList", kakaoResultList);
 			
 			/*
 			 * 알림톡/친구톡 예약발송 리스트 불러오기
 			 * */
-	        
-	        KakaoVO reserveKakaoVO = new KakaoVO();
-	        reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기
-	        reserveKakaoVO.setReserveCYn("N");//예약취소건은 제외하기
-	        reserveKakaoVO.setUserId(reqMberManageVO.getMberId());
+			
+			KakaoVO reserveKakaoVO = new KakaoVO();
+			reserveKakaoVO.setSearchCondition2("Y");//예약건만 불러오기
+			reserveKakaoVO.setReserveCYn("N");//예약취소건은 제외하기
+			reserveKakaoVO.setUserId(reqMberManageVO.getMberId());
 			// 문자발송 완료건은 모두 보이도록 처리
 			//kakaoVO.setMsgType("8");
-	        reserveKakaoVO.setSearchSortCnd("reqDate");
-	        reserveKakaoVO.setSearchSortOrd("desc");
-	        reserveKakaoVO.setFirstIndex(0);
+			reserveKakaoVO.setSearchSortCnd("reqDate");
+			reserveKakaoVO.setSearchSortOrd("desc");
+			reserveKakaoVO.setFirstIndex(0);
 			List<KakaoVO> kakaoReserveList = new ArrayList<KakaoVO>();
 			kakaoReserveList = mjonKakaoATService.selectReserveMjonKakaoATGroupList(reserveKakaoVO);
 			
-	        model.addAttribute("kakaoReserveList", kakaoReserveList);
+			model.addAttribute("kakaoReserveList", kakaoReserveList);
 			
 			/*
 			 * 팩스 발송 내역 리스트 불러오기
src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
@@ -375,7 +375,9 @@
 					AND MG.DEL_FLAG ='N'
 					/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
 					/* AND MG.RESERVE_YN = 'N' */
-					<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
+					<![CDATA[
+					AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
+					]]>
 					
 				<isNotEmpty property="reserveCYn">
 					AND MG.RESERVE_C_YN = #reserveCYn#
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml
@@ -2055,23 +2055,24 @@
 	<select id="mjonMsgDAO.selectMberManageInfo" parameterClass="String" resultClass="mberManageVO">
 	
 		SELECT
-			MBER_ID				AS mberId
-			, MBER_NM			AS mberNm
-			, SHORT_PRICE		AS shortPrice
-			, LONG_PRICE		AS longPrice
-			, PICTURE_PRICE		AS picturePrice
-			, PICTURE2_PRICE	AS picture2Price
-			, PICTURE3_PRICE	AS picture3Price
-			, KAKAO_AT_PRICE	AS kakaoAtPrice
-			, FAX_PRICE			AS faxPrice
-			, USER_MONEY		AS userMoney
-			, USER_POINT		AS userPoint
-			, DEPT				AS dept
-			, MBTLNUM			AS moblphonNo
-			, MANAGER_NM		AS managerNm
-			, EXCEPT_SPAM_YN	AS exceptSpamYn
-			, HOTLINE_AGENT_CODE AS hotlineAgentCode
-			, BLINE_CODE		AS blineCode
+			MBER_ID					AS mberId
+			, MBER_NM				AS mberNm
+			, SHORT_PRICE			AS shortPrice
+			, LONG_PRICE			AS longPrice
+			, PICTURE_PRICE			AS picturePrice
+			, PICTURE2_PRICE		AS picture2Price
+			, PICTURE3_PRICE		AS picture3Price
+			, KAKAO_AT_PRICE		AS kakaoAtPrice
+			, FAX_PRICE				AS faxPrice
+			, USER_MONEY			AS userMoney
+			, USER_POINT			AS userPoint
+			, DEPT					AS dept
+			, MBTLNUM				AS moblphonNo
+			, MANAGER_NM			AS managerNm
+			, EXCEPT_SPAM_YN		AS exceptSpamYn
+			, HOTLINE_AGENT_CODE	AS hotlineAgentCode
+			, BLINE_CODE			AS blineCode
+			, AT_SMISHING_YN		AS atSmishingYn
 		FROM   LETTNGNRLMBER
 		WHERE  MBER_ID = #userId#
 	
src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataView.jsp
@@ -1055,6 +1055,8 @@
 		<input type="hidden" id="callToList" name="callToList" value="">				<!--완  받는사람 리스트-->
 		<input type="hidden" id="varNmList" name="varNmList" value="">					<!--완  변수 이름  리스트-->
 		<input type="hidden" id="varValList" name="varValList" value="">				<!--완  변수 리스트-->
+		
+		<input type="hidden" id="atSmishingYn" name="atSmishingYn" value="${atSmishingYn}">		<!--알림톡 스미싱 여부-->
 	</form>
 
 	<form id="excelForm" name="excelForm" action="<c:url value='/web/mjon/alimtalk/kakaoApiNotityTalkSampleExcelDownload.do'/>">
Add a comment
List