이슈 메일 전송 이력 남기기 완료
* 바로 이력이 안남겨지는 문제 해결필요(현재 새로고침을 해야 이력이 보임)
| | |
| | | ADD, |
| | | MODIFY, |
| | | DELETE, |
| | | TOTAL |
| | | TOTAL, |
| | | SEND |
| | | } |
| | |
| | | |
| | | 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); |
| | |
| | | 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);*/ |
| | | } |
| | |
| | | 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>"); |
| | |
| | | } |
| | | } |
| | | |
| | | // 이슈 메일 전송 정보를 기록한다. |
| | | @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\"> > " + CommonUtil.decryptAES128(issueForm.getSendEmails().toString()) + "</span>"); |
| | | } |
| | | } |
| | | |
| | | // 업체 정보 변경 정보를 기록한다. |
| | | @Override |
| | | public void detectIssueCompany(IssueHistoryType type, Map<String, Object> param, IssueCompany issueCompany, StringBuilder description) { |
| | |
| | | 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); |
| | | } |
| | |
| | | // 사용자 시스템 기능 사용 정보 수집 |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | // 이슈를 템플릿에 따라 파트너 담당자에게 메일로 발송한다. |
| | |
| | | |
| | | // 사용자 시스템 기능 사용 정보 수집 |
| | | 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); |
| | |
| | | }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()); |
| | | } |
| | | |
| | | // 예약 발생 이슈를 실행한다 |
| | |
| | | @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 |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.javaMailSender.send(message); |
| | | |
| | | } catch (MailSendException e) { |
| | | log.error(e.getMessage()); |
| | | Exception[] exceptions = e.getMessageExceptions(); |
| | |
| | | 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. |
| | |
| | | "relationIssueAddHistory" : "연관 이슈가 추가되었습니다.", |
| | | "downIssueRemoveHistory" : "하위 이슈가 삭제되었습니다.", |
| | | "downIssueAddHistory" : "하위 이슈가 추가되었습니다.", |
| | | "sendIssueMailHistory" : "이슈 메일 전송을 완료했습니다.", |
| | | |
| | | "issueCompanyRemoveHistory" : "업체 정보가 삭제되었습니다.", |
| | | "issueCompanyAddHistory" : "업체 정보가 추가되었습니다.", |
| | |
| | | "createIssue": "이슈 생성", |
| | | "updateIssue": "이슈 변경", |
| | | "deleteIssue": "이슈 삭제", |
| | | "sendMailIssue": "이슈 메일 전송", |
| | | "updateTitle": "제목이 변경되었습니다.", |
| | | "updateContent": "내용이 변경되었습니다.", |
| | | "updateProject": "프로젝트가 변경되었습니다.", |