이호영 이호영 2024-11-14
Merge branch 'master' of http://hylee@vcs.iten.co.kr:9999/hylee/mjon_git into advc
@59cb4746160ba0e6663b22a4e155781eb4de9c1e
src/main/java/itn/let/schdlr/service/SchedulerUtil.java
--- src/main/java/itn/let/schdlr/service/SchedulerUtil.java
+++ src/main/java/itn/let/schdlr/service/SchedulerUtil.java
@@ -91,8 +91,8 @@
 	/*
 	 * 2분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
 	 * */
-	// Schdule Lock (5분동안)	
-	@Scheduled(cron = "0 0/5 * * * ?")
+	// Schdule Lock (10분동안)	
+	@Scheduled(cron = "0 0/10 * * * ?")
 	@SchedulerLock(name = "runScenarioOneTime", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
 	public void runScenarioOneTime() throws Exception {
 		
@@ -103,7 +103,7 @@
 			//문자 환불, 팩스 환불
 			
 			
-			//PayBack("");
+			PayBack("");
 			
 			/*
 			// 문자 환불
@@ -484,32 +484,25 @@
 		}else {	//2분 마다는 7일을 대상으로 실행
 			//어플리케이션 트랜잭션 문제가 있어 Util 단으로 DB 호출을 가져옴	-	2024-03-14
 			//schdlrManageService.msgFailPayBack();
-			MjonMsgVO mjonMsgVO = new MjonMsgVO();
-			mjonMsgVO.setRecordCountPerPage(500);
-			List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailSchedulerList(mjonMsgVO); 
+			
+			List<MjonMsgVO> msgFailList = mjonMsgDataDAO.selectMsgSentFailList();
+			
 			long forBeforeTime = System.currentTimeMillis(); // 코드 실행 전 시간
-	        int batchSize = 300;
-	        int totalSize = msgFailList.size();
-	        int endj =0;
-	        for (int i = 0; i < totalSize; i += batchSize) {
-	            int end = Math.min(i + batchSize, totalSize);
-	        	long beforeTime = System.currentTimeMillis(); // 코드 실행 전 시간
-	        	for(int j=endj; j < end; j++) {
-	        		System.out.println(j+" : "+ end);
-	        		try {
-						mjonMsgDataDAO.updateMsgSentFailPayBack(msgFailList.get(j));
-					}catch(Exception ex) {
-						System.out.println("=============SchedulerUtil=====PayBack Catch =============>");
-						System.out.println(msgFailList.get(j).getUserId()+"  :   "+ msgFailList.get(j).getMsgGroupId() +" :  "+ msgFailList.get(j).getUserData());
-						ex.printStackTrace();
-					}
-	        	}
-	        	endj = end;
-	        	
-	        	long afterTime = System.currentTimeMillis(); // 코드 실행 후 시간
-				long secDiffTime = (afterTime - beforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위)
-				System.out.println("==PayBack for 1 =============>  : "  + secDiffTime +"초");
-	        }
+			int count = 0;
+			System.out.println("==  msgFailList  =============>  : "+ msgFailList.size());
+			for(MjonMsgVO vo : msgFailList) {
+				System.out.println(count + " : "+ msgFailList.size());
+				
+				try {
+					mjonMsgDataDAO.updateMsgSentFailPayBack(vo);
+				}catch(Exception ex) {
+					System.out.println("=============SchedulerUtil=====PayBack Catch =============>");
+					System.out.println(vo.getUserId()+"  :   "+ vo.getMsgGroupId() +" :  "+ vo.getUserData());
+					ex.printStackTrace();
+				}
+				
+				count = count + 1;
+			}
 			long forAfterTime = System.currentTimeMillis(); // 코드 실행 후 시간
 			long forSecDiffTime = (forAfterTime - forBeforeTime)/1000; // 코드 실행 전후 시간 차이 계산(초 단위)
 			System.out.println("==PayBack for 2 =============> 수량 : "+msgFailList.size()+"  =====  "  + forSecDiffTime +"초");
src/main/resources/egovframework/sqlmap/com/uss/olh/hpc/EgovHpcm_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/com/uss/olh/hpc/EgovHpcm_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/com/uss/olh/hpc/EgovHpcm_SQL_mysql.xml
@@ -364,7 +364,8 @@
 				ON A.IGNORE_IP = M2.CONECT_IP
 		) M3
 		WHERE M3.IGNORE_YN = 'N'
-			AND M3.CONECT_IP!='119.193.215.98'
+			AND M3.CONECT_IP != '119.193.215.98'
+			AND M3.CONECT_IP != '139.150.70.79'
 		
 	</select>
 
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
@@ -4007,7 +4007,7 @@
 	
 	</update>
 	<!-- 문자발송 실패건에 대한 환불 대상 리스트 : 발송 완료되었고, 결과코드가 실패이고, 예약 취소가 아닌건들 -->
-	<select id="MjonMsgDataDAO.selectMsgSentFailList">
+	<select id="MjonMsgDataDAO.selectMsgSentFailList" resultClass="mjonMsgVO">
 		
 		SELECT USER_ID                              AS userId,
 		         MSG_GROUP_ID                         AS msgGroupId,
Add a comment
List