JIWOO 2025-07-18
이지우 - 문자 발송결과 테스트용(MSG_RESULT 반영)
@5a0ef45bf3f07eba211d57df62ec2a4602373e3b
src/main/java/itn/let/mjo/msgsent/service/MjonMsgSWFDTO.java
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgSWFDTO.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSWFDTO.java
@@ -29,5 +29,11 @@
 	private int resultFValue; // 실패건수
 	private int resultWValue; // 대기건수
 	private String divideYN; // 분할여부
+	/* 이지우 발송결과 테스트 */
+	private int resultSValueTest; // 성공건수
+	private int resultFValueTest; // 실패건수
+	private int resultWValueTest; // 대기건수
+	/* 이지우 발송결과 테스트 끝 */
+	
 	
 }
src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
@@ -108,5 +108,10 @@
 	// 결과 리스트 select 할 떄
 	// TIMESTAMPDIFF(minute, DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d %T'), DATE_FORMAT(NOW(), '%Y-%m-%d %T')) as diffMin
 	private int diffMin;
+	/* 이지우 발송결과 테스트 */
+	private String resultSValueTest;
+	private String resultFValueTest;
+	private String resultWValueTest;
+	/* 이지우 발송결과 테스트 끝 */
 	
 }
src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
--- src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
+++ src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
@@ -751,6 +751,11 @@
 			t.setResultWValue(updatedVO.getResultWValue());
 			t.setDivideYN(updatedVO.getDivideYN());
 			t.setTotPrice(updatedVO.getTotPrice());
+			/* 이지우 발송결과 테스트 */
+			t.setResultSValueTest(updatedVO.getResultSValueTest());
+			t.setResultFValueTest(updatedVO.getResultFValueTest());
+			t.setResultWValueTest(updatedVO.getResultWValueTest());
+			/* 이지우 발송결과 테스트 끝 */
 		});
 		return resultList;
 	}
@@ -765,6 +770,11 @@
 		returnVO.setResultSValue(String.valueOf(mjonMsgSWFDTO.getResultSValue())); // 성공건수
 		returnVO.setResultFValue(String.valueOf(mjonMsgSWFDTO.getResultFValue())); // 실패건수
 		returnVO.setResultWValue(String.valueOf(mjonMsgSWFDTO.getResultWValue())); // 대기건수
+		/* 이지우 발송결과 테스트 */
+		returnVO.setResultSValueTest(String.valueOf(mjonMsgSWFDTO.getResultSValueTest())); // 성공건수
+		returnVO.setResultFValueTest(String.valueOf(mjonMsgSWFDTO.getResultFValueTest())); // 실패건수
+		returnVO.setResultWValueTest(String.valueOf(mjonMsgSWFDTO.getResultWValueTest())); // 대기건수
+		/*이지우 발송결과 테스트 끝*/
 		returnVO.setDivideYN(mjonMsgSWFDTO.getDivideYN());
 		
 		
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
@@ -480,8 +480,10 @@
 	}
 	
 	//대체문자 결과 반영
+	//환불처리도 3분마다 MJ_MSG_DATA를 UPDATE하기 때문에 락 이름을 동일하게하여 데드락 방지(환불 스케줄러 : runKakaoOneTime)
+	//@SchedulerLock(name = "updateKakaoResendResult", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
 	@Scheduled(cron = "0 0/2 * * * ?") // 2분마다 실행
-	@SchedulerLock(name = "updateKakaoResendResult", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
+	@SchedulerLock(name = "runKakaoOneTime", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
 	public void runUpdateKakaoResendResult() throws Exception {
 		
 		try {
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
@@ -295,6 +295,11 @@
 		SUM(IF(aa.result = 'S', 1, 0)) AS resultSValue,
 		SUM(IF(aa.result = 'W', 1, 0)) AS resultWValue,
 		SUM(IF(aa.result = 'F', 1, 0)) AS resultFValue,
+		<!-- 이지우 발송결과 테스트 -->
+		SUM(IF(aa.MSG_RESULT = '10', 1, 0)) AS resultSValueTest,
+		SUM(IF(aa.MSG_RESULT IS NULL OR TRIM(aa.MSG_RESULT) ='',1,0)) AS resultWValueTest,
+		SUM(IF(aa.MSG_RESULT = '20', 1, 0)) AS resultFValueTest,
+		<!-- 이지우 발송결과 테스트 끝-->
 		CASE
 			WHEN COUNT(DISTINCT REQ_DATE) > 1 THEN 'Y'
 			ELSE 'N'
@@ -342,6 +347,9 @@
 				else 'F'
 			end as result /* common query */
 			, A.REQ_DATE 
+			<!-- 이지우 발송결과 테스트 -->
+			, A.MSG_RESULT
+			<!-- 이지우 발송결과 테스트 끝-->
 		from
 			MJ_MSG_DATA A
 		where
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
@@ -290,13 +290,13 @@
 								<p><fmt:formatNumber value="${result.msgGroupCnt}" type="number" groupingUsed="true" /> </p>
 							</td>
 							<td>
-								<p><fmt:formatNumber value="${result.resultWValue}" type="number" groupingUsed="true" /> </p>
+								<p><fmt:formatNumber value="${result.resultWValue}" type="number" groupingUsed="true" /><br/><fmt:formatNumber value="${result.resultWValueTest}" type="number" groupingUsed="true" /></p>
 							</td>
 							<td>
-								<p class="c_002c9a"><fmt:formatNumber value="${result.resultSValue}" type="number" groupingUsed="true" /> </p>
+								<p class="c_002c9a"><fmt:formatNumber value="${result.resultSValue}" type="number" groupingUsed="true" /><br/><fmt:formatNumber value="${result.resultSValueTest}" type="number" groupingUsed="true" /> </p>
 							</td>
 							<td>
-								<p class="c_e40000"><fmt:formatNumber value="${result.resultFValue}" type="number" groupingUsed="true" /> </p>
+								<p class="c_e40000"><fmt:formatNumber value="${result.resultFValue}" type="number" groupingUsed="true" /><br/><fmt:formatNumber value="${result.resultFValueTest}" type="number" groupingUsed="true" /></p>
 							</td>
 							<td>
 								<c:choose>
Add a comment
List