File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package itn.let.mail.service.impl;
import java.io.File;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import org.jsoup.Jsoup;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import itn.com.cmm.EgovMultiPartEmail;
import itn.let.mail.service.EmailItnVO;
import itn.let.mail.service.MailTemplateService;
import itn.let.mail.service.StatusResponse;
import itn.let.mjo.msgdata.service.MjonMsgDataService;
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.MberManageVO;
@Service("MailTemplateService")
public class MailTemplateServiceImpl extends EgovAbstractServiceImpl implements MailTemplateService {
@Value("#{globalSettings['Globals.mailContentFileFolder']}")
private String MAIL_CONTENT_PATH;
@Value("#{globalSettings['Globals.itn.file.saveDir']}")
private String ITN_FILE_SAVE_DIR;
@Value("#{globalSettings['Globals.itn.recruit.template.url']}")
private String ITN_RECRUIT_TEMPLATE_URL;
@Value("#{globalSettings['Globals.itn.contact.us.template.url']}")
private String ITN_CONTACT_US_TEMPLATE_URL;
@Value("#{globalSettings['Globals.itn.mail.to.address']}")
private String ITN_MAIL_TO_ADDRESS;
@Resource(name = "egovMultiPartEmail")
private EgovMultiPartEmail egovMultiPartEmail;
@Resource(name = "mberManageDAO")
private MberManageDAO mberManageDAO;
//문자발송 서비스
@Resource(name = "MjonMsgDataService")
private MjonMsgDataService mjonMsgDataService;
// 휴면회원 메일발송
public void mailSendMemberDormant() throws Exception {
//MAIL_CONTENT_PATH = "C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/mjon/src/main/webapp";
if (MAIL_CONTENT_PATH == null) {
MAIL_CONTENT_PATH = "";
}
String mberId = "";
String mberNm = "";
String mberEmailAdres = "";
String loginDt = "";
String emailTitle = "";
String emailContent = "";
// 로그인 안한지 1년되기 한달전 휴면회원 전환 안내메일 대상자
List<MberManageVO> mberDormantList = mberManageDAO.selectMberDormantList();
for (MberManageVO item : mberDormantList) {
mberId = item.getMberId();
mberNm = item.getMberNm();
mberEmailAdres = item.getMberEmailAdres();
loginDt = item.getLoginDt();
emailTitle = "[문자온] 휴면회원 전환 안내메일";
//mailContent = Jsoup.parse(new File(MAIL_CONTENT_PATH + "/mail/mail_member_dormant.html"), "UTF-8").toString();
//mailContent = Jsoup.parse(new File(MAIL_CONTENT_PATH + "https://www.munjaon.co.kr/publish/email_form_dormant.html"), "UTF-8").toString();
//http://localhost/publish/email_form_dormant.html
emailContent = Jsoup.connect("https://www.munjaon.co.kr/publish/email_form_dormant.html")
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post()
.toString();
emailContent = emailContent.replace("[[_UserId_]]", mberId);
emailContent = emailContent.replace("[[_DormantDate_]]", loginDt);
System.out.println("mberId : " + mberId + ", mberNm : " + mberNm + ", mberEmailAdres : " + mberEmailAdres + ", loginDt : " + loginDt);
System.out.println("mailContent : " + emailContent);
// 이메일로 보내기
SendMail sMail = new SendMail();
EmailVO mailSender = new EmailVO();
mailSender.setSend_from("noreply@munjaon.co.kr"); // 사용자 이메일 주소
mailSender.setTitle(emailTitle); // 메일 제목
mailSender.setContents(emailContent); // 메일 내용
mailSender.setSend_to(mberEmailAdres); // 발송자 이메일 주소
// 메일 발송하기
sMail.sendMail2(mailSender);
SendLogVO sendLogVO = new SendLogVO();
// 발송 이력 저장 SendType 1:문자로 발송 2:이메일로 발송
sendLogVO.setSendType("2");
sendLogVO.setFrstSendInfo(mailSender.getSend_from());//이메일 발신자 정보
sendLogVO.setReceive(mailSender.getSend_to()); //수신자 정보
sendLogVO.setContents(emailContent);
mjonMsgDataService.insertSysMsgLog(sendLogVO);
}
}
@Override
public StatusResponse mailSendItnRecruitFile(MultipartFile multi) {
String returnMsg = "";
HttpStatus status = HttpStatus.OK;
long size = multi.getSize();
String originFilename = multi.getOriginalFilename();
UUID uuid = UUID.randomUUID();
String fileSaveNm = uuid.toString() + "_" + originFilename;
File saveFile = new File(ITN_FILE_SAVE_DIR, fileSaveNm);
File folder = new File(ITN_FILE_SAVE_DIR);
System.out.println("saveFile :: "+saveFile);
try {
if (!folder.exists()) {
folder.mkdir();
System.out.println("폴더가 생성완료.");
}
multi.transferTo(saveFile);
returnMsg = fileSaveNm;
} catch (IOException e) {
// TODO: handle exception
returnMsg = "오류가 발생하였습니다. \n관리자에게 문의해 주세요";
status = HttpStatus.BAD_REQUEST;
e.printStackTrace();
}
return new StatusResponse(status, returnMsg, originFilename, LocalDateTime.now());
}
@Override
public StatusResponse mailSendItnRecruit(EmailItnVO emailItnVO) {
System.out.println("emailItnVO :: "+ emailItnVO.toString());
String returnMsg = "지원해 주셔서 감사합니다.";
HttpStatus status = HttpStatus.OK;
String emailContent = "";
SendMail sMail = new SendMail();
try {
emailContent = Jsoup.connect(ITN_RECRUIT_TEMPLATE_URL)
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post()
.toString();
emailContent = emailContent.replace("[[_Name_]]", emailItnVO.getName())
.replace("[[_PhoneNumber_]]", emailItnVO.getPhone())
.replace("[[_Email_]]", emailItnVO.getEmail())
.replace("[[_Portfolio_]]", emailItnVO.getPortfolio())
.replace("[[_Field_]]", emailItnVO.getField())
.replace("[[_Content_]]", emailItnVO.getContent())
;
// 메일 첨부파일을 위한 절대경로
String absolutePath = ITN_FILE_SAVE_DIR + emailItnVO.getFileNm();
// 메일 제목
String mailTitle = "["+emailItnVO.getField()+"] (주)아이티앤 입사지원 메일 입니다.";
// return sMail.itnSendMail(new EmailVO(
sMail.itnSendMail(new EmailVO(
mailTitle
, emailContent
, absolutePath
, emailItnVO.getOriFileNm()
, ITN_MAIL_TO_ADDRESS
, "noreply@munjaon.co.kr"
));
}
catch (IOException e) {
returnMsg = "오류가 발생하였습니다. \n관리자에게 문의해 주세요";
status = HttpStatus.BAD_REQUEST;
e.printStackTrace();
}
catch (Exception e) {
returnMsg = "오류가 발생하였습니다. \n관리자에게 문의해 주세요";
status = HttpStatus.BAD_REQUEST;
e.printStackTrace();
}
return new StatusResponse(status, returnMsg, LocalDateTime.now());
}
@Override
public StatusResponse mailSendItnContactUs(EmailItnVO emailItnVO) {
String returnMsg = "문의해 주셔서 감사합니다.\n빠른 시일 내에 답변해 드리겠습니다.";
HttpStatus status = HttpStatus.OK;
String emailContent = "";
SendMail sMail = new SendMail();
try {
emailContent = Jsoup.connect(ITN_CONTACT_US_TEMPLATE_URL)
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post()
.toString();
emailContent = emailContent.replace("[[_Title_]]", emailItnVO.getTitle())
.replace("[[_Name_]]", emailItnVO.getName())
.replace("[[_Email_]]", emailItnVO.getEmail())
.replace("[[_Content_]]", emailItnVO.getContent())
;
System.out.println("emailItnVO :: "+emailItnVO.toString());
// 메일 첨부파일을 위한 절대경로
String absolutePath = ITN_FILE_SAVE_DIR + emailItnVO.getFileNm();
// 메일 제목
String mailTitle = "[(주)아이티앤 문의] "+emailItnVO.getName()+"님의 문의 내용입니다.";
System.out.println("emailItnVO.getOriFileNm() :: ["+emailItnVO.getOriFileNm()+"]");
sMail.itnSendMail(new EmailVO(
mailTitle
, emailContent
, absolutePath
, emailItnVO.getOriFileNm()
, ITN_MAIL_TO_ADDRESS
, "noreply@munjaon.co.kr"
));
}
catch (IOException e) {
returnMsg = "오류가 발생하였습니다. \n관리자에게 문의해 주세요";
status = HttpStatus.BAD_REQUEST;
e.printStackTrace();
}
catch (Exception e) {
returnMsg = "오류가 발생하였습니다. \n관리자에게 문의해 주세요";
status = HttpStatus.BAD_REQUEST;
e.printStackTrace();
}
return new StatusResponse(status, returnMsg, LocalDateTime.now());
}
}