From 98123c3ea5bb8fc53d1258046403801deb5b1584 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 01 12월 2021 13:09:02 +0900 Subject: [PATCH] 이슈 이메일 전송 백엔드 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 17 ++++++-- src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java | 18 +++++++++ src/main/java/kr/wisestone/owl/web/form/IssueForm.java | 14 +++++++ src/main/java/kr/wisestone/owl/web/controller/IssueController.java | 4 +- src/main/java/kr/wisestone/owl/constant/MsgConstants.java | 1 src/main/java/kr/wisestone/owl/domain/enumType/EmailType.java | 3 + src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | 1 src/main/java/kr/wisestone/owl/constant/MailConstants.java | 5 ++ 8 files changed, 56 insertions(+), 7 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/constant/MailConstants.java b/src/main/java/kr/wisestone/owl/constant/MailConstants.java index 1a68deb..fac7864 100644 --- a/src/main/java/kr/wisestone/owl/constant/MailConstants.java +++ b/src/main/java/kr/wisestone/owl/constant/MailConstants.java @@ -30,7 +30,10 @@ ISSUE_ADD("issue.add.title", "issueAddEmail"), // �씠�뒋 �깮�꽦 ISSUE_REMOVE("issue.remove.title", "issueRemoveEmail"), // �씠�뒋 �궘�젣 - ISSUE_SEND("issue.send.title", "issueSendEmail"); // �씠�뒋 �씠硫붿씪 �쟾�떖 + ISSUE_SEND("issue.send.title", "issueSendEmail"), // �씠�뒋 �씠硫붿씪 �쟾�떖 + ISSUE_SEND_1("issue.send1.title", "issueSend1Email"), // �씠�뒋 �씠硫붿씪 �쟾�떖 + ISSUE_SEND_2("issue.send2.title", "issueSend2Email"), // �씠�뒋 �씠硫붿씪 �쟾�떖 + ISSUE_SEND_3("issue.send3.title", "issueSend3Email"); // �씠�뒋 �씠硫붿씪 �쟾�떖 // ISSUE_MODIFY("issue.modify.title", "issueModifyEmail"); // �씠�뒋 �닔�젙 diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java index 3672534..b4d81c6 100644 --- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java +++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java @@ -114,6 +114,7 @@ public static final String ISSUE_REMOVE_NOT_SELECT = "ISSUE_REMOVE_NOT_SELECT"; // �궘�젣�븷 �씠�뒋媛� �꽑�깮�릺吏� �븡�븯�뒿�땲�떎. public static final String ISSUE_NO_TITLE = "ISSUE_NO_TITLE"; // �씠�뒋 �젣紐⑹씠 �엯�젰�릺吏� �븡�븯�뒿�땲�떎. public static final String ISSUE_NOT_SEND_USER = "ISSUE_NOT_SEND_USER"; // �씠�뒋 諛쒖넚 ���긽�옄瑜� �꽑�깮�븯吏� �븡�븯�뒿�땲�떎. + public static final String ISSUE_NOT_SELECT_TEMPLATE = "ISSUE_NOT_SELECT_TEMPLATE"; // �씠�뒋 諛쒖넚 �뀥�뵆由우쓣 �꽑�깮�븯吏� �븡�븯�뒿�땲�떎. public static final String ISSUE_COMMENT_REMOVE_NOT_SELECT = "ISSUE_COMMENT_REMOVE_NOT_SELECT"; // �궘�젣�븷 �뙎湲��쓣 �꽑�깮�븯吏� �븡�븯�뒿�땲�떎. public static final String ISSUE_COMMENT_NOT_EXIST = "ISSUE_COMMENT_NOT_EXIST"; // �뙎湲��씠 議댁옱�븯吏� �븡�뒿�땲�떎. diff --git a/src/main/java/kr/wisestone/owl/domain/enumType/EmailType.java b/src/main/java/kr/wisestone/owl/domain/enumType/EmailType.java index 75d8b6b..b1bb116 100644 --- a/src/main/java/kr/wisestone/owl/domain/enumType/EmailType.java +++ b/src/main/java/kr/wisestone/owl/domain/enumType/EmailType.java @@ -32,6 +32,9 @@ ISSUE_MODIFY, // �씠�뒋 �닔�젙 ISSUE_REMOVE, // �씠�뒋 �궘�젣 ISSUE_SEND, // �씠�뒋 �젙蹂� �씠硫붿씪濡� �쟾�떖 + ISSUE_SEND_1, + ISSUE_SEND_2, + ISSUE_SEND_3, PROJECT_ADD, // �봽濡쒖젥�듃 �깮�꽦 PROJECT_MODIFY, // �봽濡쒖젥�듃 �닔�젙 PROJECT_REMOVE, // �봽濡쒖젥�듃 �궘�젣 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 4133115..0005bb0 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -2480,6 +2480,9 @@ 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()); @@ -2501,8 +2504,15 @@ // �궗�슜�옄 �떆�뒪�뀥 湲곕뒫 �궗�슜 �젙蹂� �닔吏� 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); - this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND, issueMap, null); //mailType.ISSUE_SEND - �뀥�뵆由� �꽕�젙 + if(issueForm.getTemplate().equals("SEND1")){ + this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND_1, issueMap, null); + }else if(issueForm.getTemplate().equals("SEND2")){ + this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND_2, issueMap, null); + }else if(issueForm.getTemplate().equals("SEND3")){ + this.systemEmailService.directEmail(issueForm.getSendEmails().toArray(new String[issueForm.getSendEmails().size()]), EmailType.ISSUE_SEND_3, issueMap, null); + } } // �삁�빟 諛쒖깮 �씠�뒋瑜� �떎�뻾�븳�떎 @@ -2686,7 +2696,6 @@ } if (newParentIssueId != null) { // 異붽� �븷 寃쎌슦 - // todo �씠�쟾 �븯�쐞 �씪媛� �엳�뒪�넗由ш린濡� �븘�슂 parentIssue = this.getIssue(newParentIssueId); //�긽�쐞�씠�뒋(myIssue) issue.setParentIssue(parentIssue); //myIssue瑜� �븯�쐞�씠�뒋�쓽 �긽�쐞�씠�뒋濡� set this.issueHistoryService.detectDownIssues(IssueHistoryType.ADD, issue, sb); //issue = �븯�쐞�씠�뒋 @@ -2716,7 +2725,7 @@ } } - @Override + /*@Override @Transactional public void findMailTargetAll(Map<String, Object> resJsonData, IssueCondition condition, Pageable pageable) { IssueVo issueVo = new IssueVo(); @@ -2752,7 +2761,7 @@ resJsonData.put(Constants.RES_KEY_CONTENTS, emailList); resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(), totalPage, totalCount)); - } + }*/ /*@Override @Transactional 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 60a400c..a51aff3 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java @@ -179,6 +179,24 @@ content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); break; + case ISSUE_SEND_1: // �씠�뒋 �씠硫붿씪濡� ���긽�옄�뿉寃� 諛쒖넚 + mailConstants = MailConstants.ISSUE_SEND_1; + context = StringTemplateUtil.makeContext(params, locale); + content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); + break; + + case ISSUE_SEND_2: // �씠�뒋 �씠硫붿씪濡� ���긽�옄�뿉寃� 諛쒖넚 + mailConstants = MailConstants.ISSUE_SEND_2; + context = StringTemplateUtil.makeContext(params, locale); + content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); + break; + + case ISSUE_SEND_3: // �씠�뒋 �씠硫붿씪濡� ���긽�옄�뿉寃� 諛쒖넚 + mailConstants = MailConstants.ISSUE_SEND_3; + context = StringTemplateUtil.makeContext(params, locale); + content = this.springTemplateEngine.process(mailConstants.getMailTemplate(), context); + break; + case USER_JOIN_STATISTICS: // �씪�씪 �궗�슜�옄 媛��엯 �젙蹂� 諛쒖넚 mailConstants = MailConstants.USER_JOIN_STATISTICS; context = StringTemplateUtil.makeContext(params, locale); diff --git a/src/main/java/kr/wisestone/owl/web/controller/IssueController.java b/src/main/java/kr/wisestone/owl/web/controller/IssueController.java index 436a3b5..68898f9 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/IssueController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/IssueController.java @@ -165,7 +165,7 @@ } // 硫붿씪 諛쒖넚 ���긽�옄 紐⑸줉 議고쉶 - @RequestMapping(value = "/issue/findMailTargetAll", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + /*@RequestMapping(value = "/issue/findMailTargetAll", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> findMailTargetAll(@RequestBody Map<String, Map<String, Object>> params) { @@ -175,7 +175,7 @@ this.issueService.findMailTargetAll(resJsonData, IssueCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable); return this.setSuccessMessage(resJsonData); - } + }*/ /*// �뾽泥� �떞�떦�옄 硫붿씪 紐⑸줉 議고쉶 diff --git a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java index 9f3a6cc..9ff571f 100644 --- a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java @@ -30,6 +30,7 @@ private List<Long> userIds = Lists.newArrayList(); private List<Long> departmentIds = Lists.newArrayList(); // �떞�떦 遺��꽌 private List<String> sendEmails = Lists.newArrayList(); // �씠硫붿씪 諛쒖넚 ���긽�옄 + private String template; private List<Long> attachedFileIds = Lists.newArrayList(); private Long relationIssue; // �뿰愿� �씪媛� private List<Map<String, Object>> issueCustomFields = Lists.newArrayList(); @@ -70,6 +71,11 @@ // 硫붿씪 諛쒖넚�옄 �젙蹂� if (MapUtil.getStrings(params, "sendEmails") != null) { form.setSendEmails(MapUtil.getStrings(params, "sendEmails")); + } + + // 硫붿씪 �뀥�뵆由� �젙蹂� + if (MapUtil.getString(params, "template") != null) { + form.setTemplate(MapUtil.getString(params, "template")); } // �뀓�뒪�듃 �뿉�뵒�꽣�뿉 泥⑤��맂 �뙆�씪�쓣 �씠�뒋�� �뿰寃고븯�뒗 �젙蹂� @@ -333,4 +339,12 @@ public void setParentIssueId(Long parentIssueId) { this.parentIssueId = parentIssueId; } + + public String getTemplate() { + return template; + } + + public void setTemplate(String template) { + this.template = template; + } } diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties index f13e192..f56fd09 100644 --- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties @@ -116,6 +116,7 @@ ISSUE_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC774\uC288\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ISSUE_NO_TITLE = \uC774\uC288 \uC81C\uBAA9\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ISSUE_NOT_SEND_USER = \uC774\uC288 \uBC1C\uC1A1 \uB300\uC0C1\uC790\uB97C \uC120\uD0DD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. +ISSUE_NOT_SELECT_TEMPLATE = \uC774\uC288 \uBC1C\uC1A1 \uD15C\uD50C\uB9BF\uC744 \uC120\uD0DD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ISSUE_COMMENT_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uB313\uAE00\uC744 \uC120\uD0DD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ISSUE_COMMENT_NOT_EXIST = \uB313\uAE00\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -- Gitblit v1.8.0