OWL ITS + 탐지시스템(인터넷 진흥원)
이슈 메일 전송 이력 남기기 완료
* 바로 이력이 안남겨지는 문제 해결필요(현재 새로고침을 해야 이력이 보임)
8개 파일 변경됨
71 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/domain/enumType/IssueHistoryType.java 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/IssueHistoryService.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/IssueService.java 8 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java 31 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 22 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/WEB-INF/i18n/code_ko_KR.properties 1 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/i18n/ko/global.json 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/domain/enumType/IssueHistoryType.java
@@ -7,5 +7,6 @@
    ADD,
    MODIFY,
    DELETE,
    TOTAL
    TOTAL,
    SEND
}
src/main/java/kr/wisestone/owl/service/IssueHistoryService.java
@@ -58,6 +58,8 @@
    void detectDownIssues(IssueHistoryType type, Issue issue, StringBuilder description);
    void detectSendIssueMail(IssueHistoryType type, IssueForm issueForm, StringBuilder description);
    void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, IssueCompany issueCompany, StringBuilder description);
    void detectIssueIsp(IssueHistoryType type, Map<String, Object> param, IssueIsp issueIsp, StringBuilder description);
src/main/java/kr/wisestone/owl/service/IssueService.java
@@ -81,12 +81,4 @@
    void modifyParentIssue(IssueForm issueForm);
    void findPartner(Map<String, Object> resJsonData, Map<String, Object> params);
    //void findMailTargetAll(Map<String, Object> resJsonData, IssueCondition condition, Pageable pageable);
    /*void findMailTargetCompany(Map<String, Object> resJsonData, Map<String, Object> params);
    void findMailTargetIsp(Map<String, Object> resJsonData, Map<String, Object> params);
    void findMailTargetHosting(Map<String, Object> resJsonData, Map<String, Object> params);*/
}
src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java
@@ -146,6 +146,28 @@
                description.append(")");
                description.append("</span></h6>");
                break;
            case SEND:
                description.append("<h6 class=\"creat\"><span class=\"dot\"></span><span translate=\"common.sendMailIssue\">이슈 메일 전송</span>");
                description.append("<span class=\"activity-timestamp\">");
                description.append(DateUtil.convertDateToStr(new Date()));
                description.append(" (");
                if (user != null) {
                    description.append(user.getName());
                    description.append(" - ");
                    description.append(CommonUtil.decryptAES128(user.getAccount()));
                }
                else {
                    description.append("OWL-ITS-SYSTEM");
                    description.append(" - ");
                    description.append(this.systemEmail);
                }
                description.append(")");
                description.append("</span></h6>");
                description.append(issueChangeDescription);
                break;
        }
        description.append("</div>");
@@ -496,6 +518,15 @@
        }
    }
    // 이슈 메일 전송 정보를 기록한다.
    @Override
    public void detectSendIssueMail(IssueHistoryType type, IssueForm issueForm, StringBuilder description) {
        if (type == IssueHistoryType.SEND) {
            description.append("<span translate=\"issue.sendIssueMailHistory\">이슈 메일 전송을 완료했습니다. </span>");
            description.append("<span class=\"text-primary bold\">&nbsp;>&nbsp;" + CommonUtil.decryptAES128(issueForm.getSendEmails().toString()) + "</span>");
        }
    }
    // 업체 정보 변경 정보를 기록한다.
    @Override
    public void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, IssueCompany issueCompany, StringBuilder description) {
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -377,7 +377,6 @@
        if (projectRoleUsers != null && !projectRoleUsers.isEmpty()) {
            for (Map<String, Object> projectRoleUser : projectRoleUsers) {
                UserVo userVo = ConvertUtil.convertMapToClass(projectRoleUser, UserVo.class);
                //  이슈 생성 알림 메일 전송
                this.systemEmailService.reservationEmail(new String[]{userVo.getAccount()}, emailType, issueMap);
            }
@@ -2625,14 +2624,6 @@
        //  사용자 시스템 기능 사용 정보 수집
        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);
        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);
        }
    }
    //  이슈를 템플릿에 따라 파트너 담당자에게 메일로 발송한다.
@@ -2666,6 +2657,7 @@
        //  사용자 시스템 기능 사용 정보 수집
        log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_ANOTHER_USER_SEND_EMAIL));
        StringBuilder sb = new StringBuilder();
        if(issueForm.getTemplate().equals(EmailType.ISSUE_SEND_1.toString())){
            this.systemEmailService.directEmail(ConvertUtil.ToArray(issueForm.getSendEmails()), EmailType.ISSUE_SEND_1, issueMap, null);
@@ -2674,6 +2666,9 @@
        }else if(issueForm.getTemplate().equals(EmailType.ISSUE_SEND_3.toString())){
            this.systemEmailService.directEmail(ConvertUtil.ToArray(issueForm.getSendEmails()), EmailType.ISSUE_SEND_3, issueMap, null);
        }
        //메일 전송 이력 남기기
        this.issueHistoryService.detectSendIssueMail(IssueHistoryType.SEND, issueForm, sb);
        this.issueHistoryService.addIssueHistory(issue, IssueHistoryType.SEND, sb.toString());
    }
    //  예약 발생 이슈를 실행한다
@@ -2845,11 +2840,16 @@
    @Override
    public void modifyParentIssue(IssueForm issueDownForm) {
        Issue issue = this.getIssue(issueDownForm.getId()); //하위 이슈
        Issue parentIssue = issue.getParentIssue(); //변경 전 하위이슈의 상위이슈
        Long newParentIssueId = issueDownForm.getParentIssueId(); //변경할 하위이슈의 상위이슈
        StringBuilder sb = new StringBuilder();
        Issue parentIssue = issue.getParentIssue(); //변경 전 하위이슈의 상위이슈
        if(parentIssue != null){ //변경 전 하위이슈의 상위이슈가 존재 할 경우
            this.issueHistoryService.detectDownIssues(IssueHistoryType.DELETE, issue, sb);
            this.issueHistoryService.addIssueHistory(parentIssue, IssueHistoryType.MODIFY, sb.toString());
        }
        if (newParentIssueId != null) { // 추가 할 경우
            parentIssue = this.getIssue(newParentIssueId); //상위이슈(myIssue)
            issue.setParentIssue(parentIssue); //myIssue를 하위이슈의 상위이슈로 set
src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java
@@ -247,8 +247,8 @@
                    }
                }
            }
            this.javaMailSender.send(message);
        } catch (MailSendException e) {
            log.error(e.getMessage());
            Exception[] exceptions = e.getMessageExceptions();
src/main/webapp/WEB-INF/i18n/code_ko_KR.properties
@@ -97,6 +97,7 @@
common.createIssue=\uC774\uC288 \uC0DD\uC131
common.updateIssue=\uC774\uC288 \uBCC0\uACBD
common.deleteIssue=\uC774\uC288 \uC0AD\uC81C
common.sendMailIssue=\uC774\uC288 \uBA54\uC77C \uC804\uC1A1
common.updateTitle=\uC81C\uBAA9\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
common.updateContent=\uB0B4\uC6A9\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
common.updateProject=\uD504\uB85C\uC81D\uD2B8\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
src/main/webapp/i18n/ko/global.json
@@ -171,6 +171,7 @@
        "relationIssueAddHistory" : "연관 이슈가 추가되었습니다.",
        "downIssueRemoveHistory" : "하위 이슈가 삭제되었습니다.",
        "downIssueAddHistory" : "하위 이슈가 추가되었습니다.",
        "sendIssueMailHistory" : "이슈 메일 전송을 완료했습니다.",
        "issueCompanyRemoveHistory" : "업체 정보가 삭제되었습니다.",
        "issueCompanyAddHistory" : "업체 정보가 추가되었습니다.",
@@ -778,6 +779,7 @@
        "createIssue": "이슈 생성",
        "updateIssue": "이슈 변경",
        "deleteIssue": "이슈 삭제",
        "sendMailIssue": "이슈 메일 전송",
        "updateTitle": "제목이 변경되었습니다.",
        "updateContent": "내용이 변경되었습니다.",
        "updateProject": "프로젝트가 변경되었습니다.",