itn 2023-07-25
휴면회원 지정 추가
@cd81aa9f9dceb65d78205aa0327810799854e485
src/main/java/itn/let/mail/service/MailTemplateService.java
--- src/main/java/itn/let/mail/service/MailTemplateService.java
+++ src/main/java/itn/let/mail/service/MailTemplateService.java
@@ -1,13 +1,18 @@
 package itn.let.mail.service;
 
-import java.util.Map;
-
 import org.springframework.web.multipart.MultipartFile;
 
 public interface MailTemplateService {
 
 	// 휴면회원 메일발송
 	void mailSendMemberDormant() throws Exception;
+	
+	// 휴면회원 SMS발송
+	void smsSendMemberDormant() throws Exception;
+	
+	// 휴면회원으로 업데이트
+	void setMemberDormantUpdate() throws Exception;
+	
 
 	StatusResponse mailSendItnRecruitFile(MultipartFile multi);
 
src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java
--- src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java
+++ src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java
@@ -24,6 +24,7 @@
 import itn.let.uat.uia.web.EmailVO;
 import itn.let.uat.uia.web.SendLogVO;
 import itn.let.uat.uia.web.SendMail;
+import itn.let.uss.umt.service.EgovMberManageService;
 import itn.let.uss.umt.service.MberManageVO;
 import itn.let.utl.user.service.MjonNoticeSendUtil;
 
@@ -58,6 +59,10 @@
 	/** 알림전송 Util */
 	@Resource(name = "mjonNoticeSendUtil")
 	private MjonNoticeSendUtil mjonNoticeSendUtil;
+	
+	/** mberManageService */
+	@Resource(name = "mberManageService")
+	private EgovMberManageService mberManageService;
 	
 	// 휴면회원 메일발송
 	public void mailSendMemberDormant() throws Exception {
@@ -112,15 +117,13 @@
 			mailSender.setSend_to(mberEmailAdres);				// 발송자 이메일 주소
 			// 메일 발송하기
 			sMail.sendMail2(mailSender);						
-			
+
+			// 시스템 발송 로그
 			SendLogVO sendLogVO = new SendLogVO();
-			
-			// 발송 이력 저장 SendType 1:문자로 발송 2:이메일로 발송
-			sendLogVO.setSendType("2");
+			sendLogVO.setSendType("2");			// 발송 이력 저장 SendType 1:문자로 발송 2:이메일로 발송
 			sendLogVO.setFrstSendInfo(mailSender.getSend_from());//이메일 발신자 정보
 			sendLogVO.setReceive(mailSender.getSend_to());		//수신자 정보
 			sendLogVO.setContents(emailContent);
-
 			mjonMsgDataService.insertSysMsgLog(sendLogVO);	        
 		}		
 
@@ -147,7 +150,30 @@
 			// 시스템 문자발송
 			String callTo = moblphonNo;
 			String smsTxt = "시스템발송 테스트";
-			//mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt);			
+			//mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt);		
+			
+			// 시스템 발송 로그
+			SendLogVO sendLogVO = new SendLogVO();
+			sendLogVO.setSendType("1");			// 발송 이력 저장 SendType 1:문자로 발송 2:이메일로 발송
+			sendLogVO.setFrstSendInfo("01084329333");
+			sendLogVO.setReceive(callTo);
+			sendLogVO.setContents(smsTxt);
+			//mjonMsgDataService.insertSysMsgLog(sendLogVO);	        
+		}		
+	}	
+	
+	// 휴면회원으로 지정(업데이트)
+	public void setMemberDormantUpdate() throws Exception {
+		// 로그인 안한지 1년되기 한달전 휴면회원 전환 안내메일 대상자
+		MberManageVO mberManageVO = new MberManageVO();
+		mberManageVO.setDormantDay(200);
+		List<MberManageVO> mberDormantList = mberManageDAO.selectMberDormantList(mberManageVO);
+		
+		for (MberManageVO item : mberDormantList) {
+			// 회원 휴면회원으로 업데이트
+        	mberManageVO.setMberId(item.getMberId()); //탈퇴사유 중 직접입력으로 타입 지정
+        	mberManageVO.setDormantYn("Y");
+        	mberManageService.updateUserDormant(mberManageVO);
 		}		
 	}	
 	
src/main/java/itn/let/mail/web/MailTemplateController.java
--- src/main/java/itn/let/mail/web/MailTemplateController.java
+++ src/main/java/itn/let/mail/web/MailTemplateController.java
@@ -36,10 +36,13 @@
 			// 시스템 문자발송 테스트
 			String callTo = "01087872615";
 			String smsTxt = "시스템발송 테스트";
-			mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt);
+			//mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt);
 			
 			// 휴면회원 메일발송
-			mailTemplateService.mailSendMemberDormant();
+			//mailTemplateService.mailSendMemberDormant();
+			
+			// 휴면회원 지정
+			mailTemplateService.setMemberDormantUpdate();
 			
 		}
 		catch(Exception e) {
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
@@ -146,26 +146,56 @@
 			ex.printStackTrace();
 		}	
 	}
+
+	// 매일 오전 4시마다 실행 ex) 04:00
+	// 휴면회원으로 지정
+	@Scheduled(cron = "0 0 4 * * *")
+	@SchedulerLock(name = "runMemberDormantUpdate", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
+	public void runMemberDormantUpdate() throws Exception {
+
+		System.out.println("=============EgovSysLogScheduling=====runMemberDormantUpdate =============>");
+		try {
+				
+			mailTemplateService.setMemberDormantUpdate();				
+			
+		}catch(Exception ex) {
+			ex.printStackTrace();
+		}	
+	}		
 	
-	// 매일 오전 6시마다 실행 ex) 06:00
-	@Scheduled(cron = "0 0 6 * * *")
+	// 매일 오전 8시마다 실행 ex) 08:00
+	// 휴면회원 메일발송
+	@Scheduled(cron = "0 0 8 * * *")
 	@SchedulerLock(name = "runMailSendMemberDormant", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
 	public void runMailSendMemberDormant() throws Exception {
-		// 휴면회원 메일발송		
-		//mailTemplateService.mailSendMemberDormant();
 
 		System.out.println("=============EgovSysLogScheduling=====runMailSendMemberDormant =============>");
 		try {
 				
 			mailTemplateService.mailSendMemberDormant();				
 				
-			// do something...
-			
 		}catch(Exception ex) {
 			ex.printStackTrace();
 		}	
 	}	
 	
+	// 매일 오전 10시마다 실행 ex) 10:00
+	// 휴면회원 SMS발송
+	@Scheduled(cron = "0 0 10 * * *")
+	@SchedulerLock(name = "runSmsSendMemberDormant", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN)
+	public void runSmsSendMemberDormant() throws Exception {
+
+		System.out.println("=============EgovSysLogScheduling=====runSmsSendMemberDormant =============>");
+		try {
+				
+			mailTemplateService.smsSendMemberDormant();				
+				
+		}catch(Exception ex) {
+			ex.printStackTrace();
+		}	
+	}	
+	
+	
 	// 매달 1일 0시 10분 실행
 	// "0 10 0 1 * *"
 	// 매달 3일 6시 40분 실행
src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
--- src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
+++ src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
@@ -530,6 +530,11 @@
 		return mberManageDAO.updateUserSecessionMsttus(mberManageVO);
 	}
 	
+	// 휴면회원 변경 처리
+	public int updateUserDormant(MberManageVO mberManageVO) throws Exception{
+		return mberManageDAO.updateUserDormant(mberManageVO);
+	}
+	
 	@Override
 	public void updateReqeustAddr(MberManageVO mberManageVO) throws Exception {
 		mberManageDAO.updateReqeustAddr(mberManageVO);
src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
--- src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
+++ src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
@@ -259,6 +259,11 @@
 		return update("mberManageDAO.updateUserSecessionMsttus", mberManageVO);
 	}
 	
+	// 휴면회원 변경 처리
+	public int updateUserDormant(MberManageVO mberManageVO) throws Exception{
+		return update("mberManageDAO.updateUserDormant", mberManageVO);
+	}
+	
 	public void updateReqeustAddr(MberManageVO mberManageVO) {
 		update("mberManageDAO.updateReqeustAddr",mberManageVO);
 	}
src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
--- src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
@@ -223,6 +223,9 @@
 	//회원 탈퇴 상태값 변경 처리
 	public int updateUserSecessionMsttus(MberManageVO mberManageVO) throws Exception;
 	
+	// 휴면회원 변경 처리
+	public int updateUserDormant(MberManageVO mberManageVO) throws Exception;
+	
 	//스팸처리 회원 주소록 다운로드 요청
 	public void updateReqeustAddr(MberManageVO mberManageVO) throws Exception;
 	//스팸처리 회원 주소록 요청 목록 조회
src/main/java/itn/let/uss/umt/service/MberManageVO.java
--- src/main/java/itn/let/uss/umt/service/MberManageVO.java
+++ src/main/java/itn/let/uss/umt/service/MberManageVO.java
@@ -500,6 +500,21 @@
 	private String userMoneyYear;
 	private String userMoneyYearSum;
 	
+	private String dormantYn;
+	private String dormantDate;
+	
+	public String getDormantYn() {
+		return dormantYn;
+	}
+	public void setDormantYn(String dormantYn) {
+		this.dormantYn = dormantYn;
+	}
+	public String getDormantDate() {
+		return dormantDate;
+	}
+	public void setDormantDate(String dormantDate) {
+		this.dormantDate = dormantDate;
+	}
 	public String getUserMoneyDay() {
 		return userMoneyDay;
 	}
src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
@@ -1890,6 +1890,14 @@
     	
     </update>
     
+	<!-- 휴면회원 변경 처리 -->
+    <update id="mberManageDAO.updateUserDormant" parameterClass="mberVO">
+    	UPDATE LETTNGNRLMBER
+		SET   DORMANT_YN    = #dormantYn#,
+		       DORMANT_DATE = NOW()
+		WHERE  MBER_ID = #mberId#
+    </update>
+        
 	<update id="mberManageDAO.updateSendSttusY" parameterClass="mberVO">
 		
 		UPDATE MJ_SPAM_MEMBER_INFO SET 
Add a comment
List