OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-01 76819906d6fc67d59f67658df46f20b4c5526890
이슈 이메일 전송 완료
6개 파일 변경됨
69 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/service/IssueService.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 43 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/web/controller/IssueController.java 10 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/resources/system_dev.properties 6 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/components/issue/issue.service.js 6 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/IssueService.java
@@ -72,6 +72,8 @@
    void sendIssueEmail(IssueForm issueForm);
    void sendIssueEmailPartners(IssueForm issueForm);
    void reservationIssue();
    Map<String, Object> findTask(IssueCondition taskCondition);
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -2615,7 +2615,48 @@
        //  사용자 시스템 기능 사용 정보 수집
        log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_ANOTHER_USER_SEND_EMAIL));
        //this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND, issueMap, null);
        this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND, issueMap, null);
        if(issueForm.getTemplate().equals(EmailType.ISSUE_SEND_1.toString())){
            this.systemEmailService.directEmail(ConvertUtil.ToArray(issueForm.getSendEmails()), EmailType.ISSUE_SEND_1, issueMap, null);
        }else if(issueForm.getTemplate().equals(EmailType.ISSUE_SEND_2.toString())){
            this.systemEmailService.directEmail(ConvertUtil.ToArray(issueForm.getSendEmails()), EmailType.ISSUE_SEND_2, issueMap, null);
        }else if(issueForm.getTemplate().equals(EmailType.ISSUE_SEND_3.toString())){
            this.systemEmailService.directEmail(ConvertUtil.ToArray(issueForm.getSendEmails()), EmailType.ISSUE_SEND_3, issueMap, null);
        }
    }
    //  이슈를 템플릿에 따라 파트너 담당자에게 메일로 발송한다.
    @Override
    @Transactional(readOnly = true)
    public void sendIssueEmailPartners(IssueForm issueForm) {
        if (issueForm.getSendEmails().size() < 1) {
            throw new OwlRuntimeException(
                    this.messageAccessor.getMessage(MsgConstants.ISSUE_NOT_SEND_USER));
        }else if (issueForm.getTemplate() == null){
            throw new OwlRuntimeException(
                    this.messageAccessor.getMessage(MsgConstants.ISSUE_NOT_SELECT_TEMPLATE));
        }
        Issue issue = this.getIssue(issueForm.getId());
        Map<String, Object> issueMap = new HashMap<>();
        //  이슈 정보를 이메일 전송에 사용하기 위해 Map 형태로 변환한다.
        this.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);
        //  사용자 시스템 기능 사용 정보 수집
        log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_ANOTHER_USER_SEND_EMAIL));
        if(issueForm.getTemplate().equals(EmailType.ISSUE_SEND_1.toString())){
            this.systemEmailService.directEmail(ConvertUtil.ToArray(issueForm.getSendEmails()), EmailType.ISSUE_SEND_1, issueMap, null);
src/main/java/kr/wisestone/owl/web/controller/IssueController.java
@@ -164,4 +164,14 @@
        return this.setSuccessMessage(resJsonData);
    }
    //  이슈 메일 파트너 담당자에게 발송 (템플릿 추가)
    @RequestMapping(value = "/issue/sendEmailPartners", produces = MediaType.APPLICATION_JSON_VALUE)
    public
    @ResponseBody
    Map<String, Object> sendEmailPartners(@RequestBody Map<String, Map<String, Object>> params) {
        Map<String, Object> resJsonData = new HashMap<>();
        this.issueService.sendIssueEmailPartners(IssueForm.make(params.get(Constants.REQ_KEY_CONTENT)));
        return this.setSuccessMessage(resJsonData);
    }
}
src/main/resources/system_dev.properties
@@ -39,10 +39,10 @@
mail.password=
# email \uC124\uC815
email.host=mail.g2works.kra
email.host=mail.g2works.kr
email.port=587
email.userName=wyu@maprex.co.kr
email.password=1234
email.userName=supportowl@wisestone.kr
email.password=Stone0620**
email.transport.protocol=smtp
email.smtp.auth=true
email.smtp.starttle.enable=true
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -61,7 +61,7 @@
                    $rootScope.spinner = true;
                    var content = {
                        // id : $scope.vm.form.id,
                        id : $scope.vm.form.id,
                        template : $scope.vm.form.template,
                        sendEmails : (function () {
                            var sendEmails = [];
src/main/webapp/scripts/components/issue/issue.service.js
@@ -103,12 +103,6 @@
                    $log.debug("이슈 이메일 발송 결과 : ", response);
                    return response;
                });
            },
            findMailTargetAll : function (conditions) {
                return $http.post("issue/findMailTargetAll", conditions).then(function (response) {
                    $log.debug("이슈 이메일 발송 결과 : ", response);
                    return response;
                });
            }
        }
    }