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