diff --git a/src/main/java/itn/let/mail/service/MailTemplateService.java b/src/main/java/itn/let/mail/service/MailTemplateService.java index e6821b8a..62839d29 100644 --- a/src/main/java/itn/let/mail/service/MailTemplateService.java +++ b/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); diff --git a/src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java b/src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java index 7cf81713..f294280a 100644 --- a/src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java +++ b/src/main/java/itn/let/mail/service/impl/MailTemplateServiceImpl.java @@ -24,6 +24,7 @@ import itn.let.uat.uia.service.impl.MberManageDAO; 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; @@ -59,6 +60,10 @@ public class MailTemplateServiceImpl extends EgovAbstractServiceImpl implements @Resource(name = "mjonNoticeSendUtil") private MjonNoticeSendUtil mjonNoticeSendUtil; + /** mberManageService */ + @Resource(name = "mberManageService") + private EgovMberManageService mberManageService; + // 휴면회원 메일발송 public void mailSendMemberDormant() throws Exception { //MAIL_CONTENT_PATH = "C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/mjon/src/main/webapp"; @@ -112,15 +117,13 @@ public class MailTemplateServiceImpl extends EgovAbstractServiceImpl implements 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 @@ public class MailTemplateServiceImpl extends EgovAbstractServiceImpl implements // 시스템 문자발송 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 mberDormantList = mberManageDAO.selectMberDormantList(mberManageVO); + + for (MberManageVO item : mberDormantList) { + // 회원 휴면회원으로 업데이트 + mberManageVO.setMberId(item.getMberId()); //탈퇴사유 중 직접입력으로 타입 지정 + mberManageVO.setDormantYn("Y"); + mberManageService.updateUserDormant(mberManageVO); } } diff --git a/src/main/java/itn/let/mail/web/MailTemplateController.java b/src/main/java/itn/let/mail/web/MailTemplateController.java index d1a5cd35..baee899e 100644 --- a/src/main/java/itn/let/mail/web/MailTemplateController.java +++ b/src/main/java/itn/let/mail/web/MailTemplateController.java @@ -36,10 +36,13 @@ public class MailTemplateController { // 시스템 문자발송 테스트 String callTo = "01087872615"; String smsTxt = "시스템발송 테스트"; - mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt); + //mjonNoticeSendUtil.userSmsSendBySystem(callTo, smsTxt); // 휴면회원 메일발송 - mailTemplateService.mailSendMemberDormant(); + //mailTemplateService.mailSendMemberDormant(); + + // 휴면회원 지정 + mailTemplateService.setMemberDormantUpdate(); } catch(Exception e) { diff --git a/src/main/java/itn/let/schdlr/service/SchedulerUtil.java b/src/main/java/itn/let/schdlr/service/SchedulerUtil.java index ada14307..0e78cd38 100644 --- a/src/main/java/itn/let/schdlr/service/SchedulerUtil.java +++ b/src/main/java/itn/let/schdlr/service/SchedulerUtil.java @@ -146,26 +146,56 @@ public class SchedulerUtil { 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분 실행 diff --git a/src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java b/src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java index 7c2eb4f8..873100a9 100644 --- a/src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java +++ b/src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java @@ -530,6 +530,11 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement 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); diff --git a/src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java b/src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java index 99e65cfa..196fa80c 100644 --- a/src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java +++ b/src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java @@ -259,6 +259,11 @@ public class MberManageDAO extends EgovComAbstractDAO{ 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); } diff --git a/src/main/java/itn/let/uss/umt/service/EgovMberManageService.java b/src/main/java/itn/let/uss/umt/service/EgovMberManageService.java index 6f6aaefa..025e498b 100644 --- a/src/main/java/itn/let/uss/umt/service/EgovMberManageService.java +++ b/src/main/java/itn/let/uss/umt/service/EgovMberManageService.java @@ -223,6 +223,9 @@ public interface EgovMberManageService { //회원 탈퇴 상태값 변경 처리 public int updateUserSecessionMsttus(MberManageVO mberManageVO) throws Exception; + // 휴면회원 변경 처리 + public int updateUserDormant(MberManageVO mberManageVO) throws Exception; + //스팸처리 회원 주소록 다운로드 요청 public void updateReqeustAddr(MberManageVO mberManageVO) throws Exception; //스팸처리 회원 주소록 요청 목록 조회 diff --git a/src/main/java/itn/let/uss/umt/service/MberManageVO.java b/src/main/java/itn/let/uss/umt/service/MberManageVO.java index 9b5043d9..87d33898 100644 --- a/src/main/java/itn/let/uss/umt/service/MberManageVO.java +++ b/src/main/java/itn/let/uss/umt/service/MberManageVO.java @@ -500,6 +500,21 @@ public class MberManageVO extends UserDefaultVO{ 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; } diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml index 09a85918..2b199acb 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml @@ -1890,6 +1890,14 @@ + + + UPDATE LETTNGNRLMBER + SET DORMANT_YN = #dormantYn#, + DORMANT_DATE = NOW() + WHERE MBER_ID = #mberId# + + UPDATE MJ_SPAM_MEMBER_INFO SET