OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2022-01-03 9c283e735476f1106262de58b4042f30acf61a45
src/main/java/kr/wisestone/owl/service/impl/EmailTemplateServiceImpl.java
@@ -2,9 +2,11 @@
import com.google.common.collect.Lists;
import kr.wisestone.owl.common.ExcelConditionCheck;
import kr.wisestone.owl.config.CommonConfiguration;
import kr.wisestone.owl.constant.Constants;
import kr.wisestone.owl.constant.MsgConstants;
import kr.wisestone.owl.domain.*;
import kr.wisestone.owl.domain.enumType.EmailType;
import kr.wisestone.owl.exception.OwlRuntimeException;
import kr.wisestone.owl.mapper.CompanyFieldMapper;
import kr.wisestone.owl.mapper.EmailTemplateMapper;
@@ -13,6 +15,7 @@
import kr.wisestone.owl.repository.HostingFieldRepository;
import kr.wisestone.owl.repository.IspFieldRepository;
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.CommonUtil;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.vo.*;
import kr.wisestone.owl.web.condition.CompanyFieldCondition;
@@ -43,7 +46,13 @@
    private EmailTemplateMapper emailTemplateMapper;
    @Autowired
    private EmailTemplateService emailTemplateService;
    private SystemEmailService systemEmailService;
    @Autowired
    private IssueService issueService;
    @Autowired
    private CommonConfiguration configuration;
    @Override
    protected JpaRepository<EmailTemplate, Long> getRepository() {
@@ -52,9 +61,29 @@
    @Override
    @Transactional
    public void find(Map<String, Object> resJsonData, EmailTemplateCondition condition) {
        EmailTemplate emailTemplate = this.getEmailTemplate(condition.getId());
        EmailTemplateVo emailTemplateVo = ConvertUtil.copyProperties(emailTemplate, EmailTemplateVo.class);
        //EmailTemplate emailTemplate = this.getEmailTemplate(condition.getId());
        //EmailTemplateVo emailTemplateVo = ConvertUtil.copyProperties(emailTemplate, EmailTemplateVo.class);
        Issue issue = this.issueService.getIssue(condition.getIssueId());
        Map<String, Object> issueMap = new HashMap<>();
        //  이슈 정보를 이메일 전송에 사용하기 위해 Map 형태로 변환한다.
        this.issueService.makeIssueMapToIssue(issue, issueMap);
        //  발신자 표시
        UserVo toUser = this.webAppUtil.getLoginUser();
        issueMap.put("toUser", toUser.getName() + "(" + CommonUtil.decryptAES128(toUser.getAccount()) + ")");
        // 이슈 링크
        String projectKey = issue.getProject().getProjectKey();
        Long IssueNumber = issue.getIssueNumber();
        String link = this.configuration.getEmailSendUrl() + "/#/issues/issueList?projectKey=" + projectKey + "&issueNumber=" + IssueNumber.toString();
        issueMap.put("issueLink", link);
        issueMap.put("projectLink", link);
        EmailType emailType = EmailType.valueOf(condition.getTemplateType());
        String type = this.systemEmailService.makeEmailContent(emailType, issueMap);
        EmailTemplateVo emailTemplateVo = new EmailTemplateVo();
        emailTemplateVo.setTemplate(type);
        resJsonData.put(Constants.RES_KEY_CONTENTS, emailTemplateVo);
    }