이호영 이호영 2024-12-11
schedulerUtil을 local, dev 둘다 실행 안되게 설정
@b75a76c1b54ed2951724dc89091893766c147966
src/main/java/itn/let/fax/addr/service/impl/FaxAddrServiceImpl.java
--- src/main/java/itn/let/fax/addr/service/impl/FaxAddrServiceImpl.java
+++ src/main/java/itn/let/fax/addr/service/impl/FaxAddrServiceImpl.java
@@ -408,28 +408,6 @@
 			);
 		}
 		
-		// step2 신규 주소록 생성 및 북마크 체크
-		if ("NEW".equals(faxAddrListVO.get(0).getAddrGrpId())) {
-			FaxAddrGroupVO faxAddrGroupVO = new FaxAddrGroupVO();
-			faxAddrGroupVO.setMberId(userId);
-			faxAddrGroupVO.setAddrGrpNm(faxAddrListVO.get(0).getAddrGrpNm());
-			
-			// 정렬순서
-			int nextOrderNumber = faxAddrGroupDAO.selectMaxOrderFaxNumber(faxAddrGroupVO);
-			faxAddrGroupVO.setGrpOrder(nextOrderNumber);
-			
-			faxAddrGroupDAO.insertFaxAddrGroup(faxAddrGroupVO);
-			
-			// 신규 추가한 그룹아이디
-    		for (FaxAddrVO faxAddr : faxAddrListVO) { faxAddr.setAddrGrpId(faxAddrGroupVO.getAddrGrpId()); }
-		}else if  ("bookmark".equals(faxAddrListVO.get(0).getAddrGrpId())) {
-			for (FaxAddrVO faxAddr : faxAddrListVO) {
-				faxAddr.setBookmark("Y"); 
-				faxAddr.setAddrGrpId("0"); 
-			}
-		}else {
-			for (FaxAddrVO faxAddr : faxAddrListVO) { faxAddr.setBookmark("N"); }
-		} 
 		
 		// step3
 		// 		=> 팩스번호 빼고 바이트 체크해서 20byte만 짜르고 넣기
@@ -441,7 +419,6 @@
 		AtomicInteger invalid = new AtomicInteger(0); // 스레드-안전(thread-safe)하게 정수 값을 업데이트할 수 있는 기능을 제공
 		faxAddrListVO.removeIf(faxAddr -> {
 			String phoneNo = faxAddr.getAddrPhoneNo();
-			log.info(" + phoneNo :: [{}]", phoneNo);
 			if (isValidFaxNumber(phoneNo)) {
 				faxAddr.setAddrPhoneNo(phoneNo); // 하이픈이 제거된 유효한 번호 설정
 				trimFieldsBytes(faxAddr); // 다른 필드들에 대한 20바이트 체크 및 자르기
@@ -461,6 +438,33 @@
         
         try {
 	        if(faxAddrListVO.size() > 0) {
+	        	
+	        	
+
+	    		// step2 신규 주소록 생성 및 북마크 체크
+	    		if ("NEW".equals(faxAddrListVO.get(0).getAddrGrpId())) {
+	    			FaxAddrGroupVO faxAddrGroupVO = new FaxAddrGroupVO();
+	    			faxAddrGroupVO.setMberId(userId);
+	    			faxAddrGroupVO.setAddrGrpNm(faxAddrListVO.get(0).getAddrGrpNm());
+	    			
+	    			// 정렬순서
+	    			int nextOrderNumber = faxAddrGroupDAO.selectMaxOrderFaxNumber(faxAddrGroupVO);
+	    			faxAddrGroupVO.setGrpOrder(nextOrderNumber);
+	    			
+	    			faxAddrGroupDAO.insertFaxAddrGroup(faxAddrGroupVO);
+	    			
+	    			// 신규 추가한 그룹아이디
+	        		for (FaxAddrVO faxAddr : faxAddrListVO) { faxAddr.setAddrGrpId(faxAddrGroupVO.getAddrGrpId()); }
+	    		}else if  ("bookmark".equals(faxAddrListVO.get(0).getAddrGrpId())) {
+	    			for (FaxAddrVO faxAddr : faxAddrListVO) {
+	    				faxAddr.setBookmark("Y"); 
+	    				faxAddr.setAddrGrpId("0"); 
+	    			}
+	    		}else {
+	    			for (FaxAddrVO faxAddr : faxAddrListVO) { faxAddr.setBookmark("N"); }
+	    		} 
+	        	
+	        	
 	    		// 등록 
 	        	faxAddrDAO.insertFaxAddrList(faxAddrListVO);
 	        }else {
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
@@ -39,7 +39,7 @@
 import net.javacrumbs.shedlock.provider.jdbctemplate.JdbcTemplateLockProvider;
 import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock;
 
-@Profile("!local")
+@Profile({"!local", "!dev"})
 @Service("SchedulerUtil")
 @EnableScheduling
 @EnableSchedulerLock(defaultLockAtMostFor = "PT30S") // Scheduler Lock 사용 가능 설정 (기본 30초동안 Lock)
@@ -89,7 +89,7 @@
 	private static final String ONE_MIN = "PT1M"; // 1분동안 LOCK
 	
 	/*
-	 * 2분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
+	 * 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
 	 * */
 	// Schdule Lock (10분동안)	
 	@Scheduled(cron = "0 0/10 * * * ?")
@@ -361,7 +361,7 @@
 				
 			int nowDate =EgovDateUtil.nowDateToInt("yyyyMMdd");
 
-			// 전일 알림톡발송 건 통계 insert
+			// 전일 카톡발송 건 통계 insert
 			FaxStatVO faxStatVO = new FaxStatVO();
 			faxStatVO.setStatStartDate(nowDate);
 			faxStatVO.setStatEndDate(nowDate);
@@ -481,7 +481,8 @@
 		if ("ONE".equals(p_type)) {	//하루에 한번만 31일 대상으로 실행
 			schdlrManageService.msgFailPayBackOneByDay();	
 			
-		}else {	//2분 마다는 7일을 대상으로 실행
+		}else {	
+			// 10분 마다 1주일 데이터에서 환불 대상을 찾아서 환불 한다.
 			//어플리케이션 트랜잭션 문제가 있어 Util 단으로 DB 호출을 가져옴	-	2024-03-14
 			//schdlrManageService.msgFailPayBack();
 			
Add a comment
List