From 7476ad22442c349f0751709957fee068d463980a Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 01 12월 2021 20:44:51 +0900
Subject: [PATCH] 이슈 수정 오류 및 메일 보내기 템플릿 이미지 추가

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |  132 ++++++++++++++++++++-----------------------
 1 files changed, 61 insertions(+), 71 deletions(-)

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 0cf87fe..14aae02 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -1819,6 +1819,10 @@
         for(IssueIsp issueIsp : issue.getIssueIspFields()){
             IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp, IssueIspVo.class);
             issueIspVo.setId(issueIsp.getId());
+            IspField ispField = issueIsp.getIspField();
+            if (ispField != null) {
+                issueIspVo.setIspId(ispField.getId());
+            }
             issueIspVos.add(issueIspVo);
         }
         issueVo.setIssueIspVos(issueIspVos);
@@ -1831,6 +1835,11 @@
         for(IssueHosting issueHosting : issue.getIssueHostingFields()){
             IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting, IssueHostingVo.class);
             issueHostingVo.setId(issueHosting.getId());
+            HostingField hostingField = issueHosting.getHostingField();
+            if (hostingField != null) {
+                issueHostingVo.setHostingId(hostingField.getId());
+            }
+
             issueHostingVos.add(issueHostingVo);
         }
         issueVo.setIssueHostingVos(issueHostingVos);
@@ -2591,6 +2600,51 @@
         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));
+        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());
@@ -2613,7 +2667,13 @@
         //  �궗�슜�옄 �떆�뒪�뀥 湲곕뒫 �궗�슜 �젙蹂� �닔吏�
         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);
+        }
     }
 
     //  �삁�빟 諛쒖깮 �씠�뒋瑜� �떎�뻾�븳�떎
@@ -2791,7 +2851,6 @@
         StringBuilder sb = new StringBuilder();
 
         if (newParentIssueId != null) { // 異붽� �븷 寃쎌슦
-            // todo �씠�쟾 �븯�쐞 �씪媛� �엳�뒪�넗由ш린濡� �븘�슂
             parentIssue = this.getIssue(newParentIssueId); //�긽�쐞�씠�뒋(myIssue)
             issue.setParentIssue(parentIssue); //myIssue瑜� �븯�쐞�씠�뒋�쓽 �긽�쐞�씠�뒋濡� set
             this.issueHistoryService.detectDownIssues(IssueHistoryType.ADD, issue, sb); //issue = �븯�쐞�씠�뒋
@@ -2820,73 +2879,4 @@
             resJsonData.put(Constants.RES_KEY_CONTENTS, usePartnerVos);
         }
     }
-
-    /*@Override
-    @Transactional
-    public void findMailTargetAll(Map<String, Object> resJsonData, IssueCondition condition, Pageable pageable) {
-        IssueVo issueVo = new IssueVo();
-        //Long issueId = MapUtil.getLong(params, "issueId");
-        Long issueId = condition.getId();
-
-        List<String> emailList = Lists.newArrayList();
-
-        if(issueId != null){
-            Issue issue = this.getIssue(issueId);
-            issueVo = ConvertUtil.copyProperties(issue, IssueVo.class);
-            this.setIssueCompanyField(issue, issueVo);  //�뾽泥� �젙蹂� �꽭�똿
-            this.setIssueIspField(issue, issueVo);  //ISP �젙蹂� �꽭�똿
-            this.setIssueHostingField(issue, issueVo);  //HOSTING �젙蹂� �꽭�똿
-            for(IssueCompanyVo issueCompanyVo : issueVo.getIssueCompanyVos()) {
-                emailList.add(issueCompanyVo.getEmail());
-            }
-            for(IssueIspVo issueIspVo : issueVo.getIssueIspVos()) {
-                emailList.add(issueIspVo.getEmail());
-            }
-            for(IssueHostingVo issueHostingVo : issueVo.getIssueHostingVos()) {
-                emailList.add(issueHostingVo.getEmail());
-            }
-
-        }
-
-        Long totalCount = this.issueMapper.count(condition);
-        int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1;
-
-        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
-        condition.setPageSize(pageable.getPageSize());
-        //resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
-        resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
-        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
-                totalPage, totalCount));
-    }*/
-
-    /*@Override
-    @Transactional
-    public void findMailTargetCompany(Map<String, Object> resJsonData, Map<String, Object> params) {
-        IssueVo issueVo = new IssueVo();
-        Long issueId = MapUtil.getLong(params, "issueId");
-
-        List<String> emailList = Lists.newArrayList();
-
-        if(issueId != null){
-            Issue issue = this.getIssue(issueId);
-            issueVo = ConvertUtil.copyProperties(issue, IssueVo.class);
-            this.setIssueCompanyField(issue, issueVo);  //�뾽泥� �젙蹂� �꽭�똿
-            for(IssueCompanyVo issueCompanyVo : issueVo.getIssueCompanyVos()) {
-                emailList.add(issueCompanyVo.getEmail());
-            }
-        }
-        resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
-    }
-
-    @Override
-    @Transactional
-    public void findMailTargetIsp(Map<String, Object> resJsonData, Map<String, Object> params) {
-
-    }
-
-    @Override
-    @Transactional
-    public void findMailTargetHosting(Map<String, Object> resJsonData, Map<String, Object> params) {
-
-    }*/
 }

--
Gitblit v1.8.0