From 9c283e735476f1106262de58b4042f30acf61a45 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 월, 03 1월 2022 14:54:27 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 2 src/main/java/kr/wisestone/owl/web/condition/EmailTemplateCondition.java | 18 +++++++++ src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java | 32 ++++++++++++++++ src/main/java/kr/wisestone/owl/service/IssueService.java | 2 + src/main/java/kr/wisestone/owl/service/impl/EmailTemplateServiceImpl.java | 35 ++++++++++++++++- src/main/java/kr/wisestone/owl/service/SystemEmailService.java | 3 + src/main/webapp/scripts/app/issue/issueList.controller.js | 4 + src/main/webapp/views/issue/issueSendMailPartners.html | 5 +- src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js | 17 +++++--- 9 files changed, 105 insertions(+), 13 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/IssueService.java b/src/main/java/kr/wisestone/owl/service/IssueService.java index bb41933..abf54aa 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueService.java @@ -110,4 +110,6 @@ void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData); void setCountDownIssues(List<IssueVo> issueVos); + + void makeIssueMapToIssue(Issue issue, Map<String, Object> issueMap); } diff --git a/src/main/java/kr/wisestone/owl/service/SystemEmailService.java b/src/main/java/kr/wisestone/owl/service/SystemEmailService.java index 0abfdc4..fe43241 100644 --- a/src/main/java/kr/wisestone/owl/service/SystemEmailService.java +++ b/src/main/java/kr/wisestone/owl/service/SystemEmailService.java @@ -7,6 +7,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; +import java.util.Locale; import java.util.Map; public interface SystemEmailService extends AbstractService<SystemEmail, Long, JpaRepository<SystemEmail, Long>>{ @@ -28,4 +29,6 @@ void realTimeSendEmail(); void information(Map<String, Object> params); + + String makeEmailContent(EmailType emailType, Map<String, Object> params); } diff --git a/src/main/java/kr/wisestone/owl/service/impl/EmailTemplateServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/EmailTemplateServiceImpl.java index e09e59d..44695f8 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/EmailTemplateServiceImpl.java +++ b/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); } diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 221668d..3049801 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -719,7 +719,7 @@ } // �씠�뒋 �젙蹂대�� �씠硫붿씪 �쟾�넚�뿉 �궗�슜�븯湲� �쐞�빐 Map �삎�깭濡� 蹂��솚�븳�떎. - private void makeIssueMapToIssue(Issue issue, Map<String, Object> issueMap) { + public void makeIssueMapToIssue(Issue issue, Map<String, Object> issueMap) { issueMap.put("title", issue.getTitle()); issueMap.put("issueNumber", issue.getIssueNumber()); issueMap.put("issueTypeName", issue.getIssueType().getName()); diff --git a/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java index 2e4602d..992923b 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java @@ -227,6 +227,38 @@ this.sendEmail(this.messageAccessor.message(mailConstants.getTitle(), locale), content, sendUsers, filePaths); } + // �씠硫붿씪 �뀥�뵆由� 李얘린 + public String makeEmailContent(EmailType emailType, Map<String, Object> params) { + MailConstants mailConstants = null; + Context context; + String content = null; + //params.put("url", this.commonConfiguration.getEmailSendUrl()); + + Locale locale = Locale.getDefault(); + + switch (emailType) { + case ISSUE_SEND_1: // �씠�뒋 �씠硫붿씪 �뀥�뵆由�1濡� ���긽�옄�뿉寃� 諛쒖넚 + mailConstants = MailConstants.ISSUE_SEND_1; + context = StringTemplateUtil.makeContext(params, locale); + content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); + break; + + case ISSUE_SEND_2: // �씠�뒋 �씠硫붿씪 �뀥�뵆由�2濡� ���긽�옄�뿉寃� 諛쒖넚 + mailConstants = MailConstants.ISSUE_SEND_2; + context = StringTemplateUtil.makeContext(params, locale); + content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); + break; + + case ISSUE_SEND_3: // �씠�뒋 �씠硫붿씪 �뀥�뵆由�3濡� ���긽�옄�뿉寃� 諛쒖넚 + mailConstants = MailConstants.ISSUE_SEND_3; + context = StringTemplateUtil.makeContext(params, locale); + content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); + break; + } + return content; + } + + // �씠硫붿씪�쓣 諛쒖넚�븳�떎. @Override @Transactional(readOnly = true) diff --git a/src/main/java/kr/wisestone/owl/web/condition/EmailTemplateCondition.java b/src/main/java/kr/wisestone/owl/web/condition/EmailTemplateCondition.java index f4c9215..cb5f8b1 100644 --- a/src/main/java/kr/wisestone/owl/web/condition/EmailTemplateCondition.java +++ b/src/main/java/kr/wisestone/owl/web/condition/EmailTemplateCondition.java @@ -8,6 +8,8 @@ private Long id; private String title; private String template; + private String templateType; + private Long issueId; public static EmailTemplateCondition make(Map<String, Object> condition) { return ConvertUtil.convertMapToClass(condition, EmailTemplateCondition.class); @@ -36,4 +38,20 @@ public void setTemplate(String template) { this.template = template; } + + public String getTemplateType() { + return templateType; + } + + public void setTemplateType(String templateType) { + this.templateType = templateType; + } + + public Long getIssueId() { + return issueId; + } + + public void setIssueId(Long issueId) { + this.issueId = issueId; + } } diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index 1efc5d7..8f38e3d 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -718,7 +718,9 @@ changeDetailView(result.data.data[0].id); } } else { - $scope.vm.responseData = result.data; + // 媛믪씠 �뾾�쓣�븣 媛믪쓣 �꽔�뼱二쇰젮怨� �븯�뒗 �쓽�룄 + // $scope.vm.responseData = result.data; + result.data = $scope.vm.responseData; } } else { diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js index 4d5625a..9e8d0c7 100644 --- a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js +++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js @@ -40,14 +40,16 @@ }, emailTitle : "", emailTemplateId : -1, - emailTemplates : [] + emailTemplates : [], + emailTemplateType : "", }; angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); function onChangeEmailTemplate() { var content = { - id : $scope.vm.emailTemplateId + templateType : $scope.vm.emailTemplateType, + issueId : parameter.issueId } EmailTemplate.find($resourceProvider.getContent( content, @@ -66,25 +68,28 @@ function getEmailTemplateList() { $scope.vm.emailTemplates.push({ - id : 1, + templateType : "ISSUE_SEND_1", title : "�뀥�뵆由�1" }); $scope.vm.emailTemplates.push({ - id : 2, + templateType : "ISSUE_SEND_2", title : "�뀥�뵆由�2" }); $scope.vm.emailTemplates.push({ - id : 3, + templateType : "ISSUE_SEND_3", title : "�뀥�뵆由�3" }); $scope.vm.emailTemplateId = 1; $scope.vm.emailTitle = ""; $scope.vm.emailTemplates.forEach(function (emailTemplate) { - if (emailTemplate.id === $scope.vm.emailTemplateId) { + /*if (emailTemplate.id === $scope.vm.emailTemplateId) { + $scope.vm.emailTitle = emailTemplate.title; + }*/ + if (emailTemplate.templateType === $scope.vm.emailTemplateType) { $scope.vm.emailTitle = emailTemplate.title; } }) diff --git a/src/main/webapp/views/issue/issueSendMailPartners.html b/src/main/webapp/views/issue/issueSendMailPartners.html index e82b1c5..6fdc84d 100644 --- a/src/main/webapp/views/issue/issueSendMailPartners.html +++ b/src/main/webapp/views/issue/issueSendMailPartners.html @@ -24,6 +24,7 @@ owl-auto-focus target=".auto-complete-i0nput" selected-model="vm.form.mailUsers" + custom-input="true" search="vm.userName" page="vm.autoCompletePage.user.page" total-page="vm.autoCompletePage.user.totalPage" @@ -40,11 +41,11 @@ <select id="emailTemplateForm" name="emailTemplate" class="form-control input-sm issue-select-label" - ng-model="vm.emailTemplateId" + ng-model="vm.emailTemplateType" ng-change="fn.onChangeEmailTemplate()" required> <option ng-repeat="emailTemplate in vm.emailTemplates" - value="{{emailTemplate.id}}" + value="{{emailTemplate.templateType}}" translate="{{emailTemplate.title}}"> </option> </select> -- Gitblit v1.8.0