From 647c7ac821bd10784d187ec7e53930c06a44fd86 Mon Sep 17 00:00:00 2001 From: Leon Date: Mon, 31 May 2021 16:53:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/pom.xml | 10 ++ .../mesnac/common/util/SendMail.java | 132 ++++++++++++++++++ .../service/MasterObjectDefine.java | 2 +- dispatch/pom.xml | 5 + .../dispatch/controller/TestController.java | 23 +++ .../equip/controller/EquipTypeController.java | 4 + pom.xml | 19 +++ 7 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/util/SendMail.java create mode 100644 dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/TestController.java create mode 100644 equip/src/main/java/com/foreverwin/com/equip/controller/EquipTypeController.java diff --git a/common/pom.xml b/common/pom.xml index ffb07807..86135f97 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -68,5 +68,15 @@ com.google.guava guava + + + javax.mail + mail + + + + cn.hutool + hutool-all + \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/util/SendMail.java b/common/src/main/java/com/foreverwin/mesnac/common/util/SendMail.java new file mode 100644 index 00000000..f0247df9 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/util/SendMail.java @@ -0,0 +1,132 @@ +package com.foreverwin.mesnac.common.util; + + +import cn.hutool.extra.mail.MailAccount; +import cn.hutool.extra.mail.MailUtil; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.Collection; + +@Component +@ConditionalOnProperty(prefix = "mail", name = {"host","from"}) +public class SendMail { + + @Value("${mail.host}") + private String host; + @Value("${mail.from}") + private String from; + + /** + * 发送文本消息 + * + * @param to 收件地址: 多个地址中间用","或者","分割 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendText(String to, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), to, subject, content, false, files); + } + + /** + * 发送文本消息 + * + * @param tos 收件地址 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendText(Collection tos, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), tos, subject, content, false, files); + } + + /** + * 发送文本消息、抄送 + * + * @param tos 收件地址 + * @param ccs 抄送地址 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendText(Collection tos, Collection ccs, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), tos, ccs, null, subject, content, false, files); + } + + /** + * 发送文本消息、抄送、暗抄送 + * + * @param tos 收件地址 + * @param ccs 抄送地址 + * @param bccs 暗抄送地址 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendText(Collection tos, Collection ccs, Collection bccs, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), tos, ccs, bccs, subject, content, false, files); + } + + /** + * 发送HTML格式信息 + * + * @param to 收件地址: 多个地址中间用","或者","分割 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendHtml(String to, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), to, subject, content, true, files); + } + + /** + * 发送HTML格式信息 + * + * @param tos 收件地址 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendHtml(Collection tos, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), tos, subject, content, true, files); + } + + /** + * 发送HTML格式信息、抄送 + * + * @param tos 收件地址 + * @param ccs 抄送地址 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendHtml(Collection tos, Collection ccs,String subject, String content, File... files) { + MailUtil.send(getMailAccount(), tos, ccs, null, subject, content, true, files); + } + + /** + * 发送HTML格式信息、抄送、暗抄送 + * + * @param tos 收件地址 + * @param ccs 抄送地址 + * @param bccs 暗抄送地址 + * @param subject 主题 + * @param content 内容 + * @param files 附件 + */ + public void sendHtml(Collection tos, Collection ccs, Collection bccs, String subject, String content, File... files) { + MailUtil.send(getMailAccount(), tos, ccs, bccs, subject, content, true, files); + } + + + private MailAccount getMailAccount() { + MailAccount mailAccount = new MailAccount(); + mailAccount.setHost(host); + mailAccount.setFrom(from); + + return mailAccount; + } +} diff --git a/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java b/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java index 765c5bf9..9ef42f94 100644 --- a/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java +++ b/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java @@ -61,8 +61,8 @@ public class MasterObjectDefine { cvsHeadsMapping.put("operationType", "操作类型"); cvsHeadsMapping.put("resourceType", "资源类型"); cvsHeadsMapping.put("defaultResource", "默认资源"); - break; + case "PRODUCTION": cvsHeadsMapping=new HashMap(); diff --git a/dispatch/pom.xml b/dispatch/pom.xml index 30df9c58..a7310378 100644 --- a/dispatch/pom.xml +++ b/dispatch/pom.xml @@ -39,6 +39,11 @@ meapi + + com.foreverwin.mesnac + common + + org.apache.poi diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/TestController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/TestController.java new file mode 100644 index 00000000..a4190e2e --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/TestController.java @@ -0,0 +1,23 @@ +package com.foreverwin.mesnac.dispatch.controller; + +import com.foreverwin.mesnac.common.util.SendMail; +import com.foreverwin.modular.core.util.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/test") +public class TestController { + + + @Autowired + private SendMail sendMail; + + @GetMapping() + public R test(String to, String subject, String content) { + sendMail.sendText(to, subject, content); + return R.ok(content); + } +} diff --git a/equip/src/main/java/com/foreverwin/com/equip/controller/EquipTypeController.java b/equip/src/main/java/com/foreverwin/com/equip/controller/EquipTypeController.java new file mode 100644 index 00000000..f3493024 --- /dev/null +++ b/equip/src/main/java/com/foreverwin/com/equip/controller/EquipTypeController.java @@ -0,0 +1,4 @@ +package com.foreverwin.com.equip.controller; + +public class EquipTypeController { +} diff --git a/pom.xml b/pom.xml index 269a3005..4832d1b8 100644 --- a/pom.xml +++ b/pom.xml @@ -146,6 +146,25 @@ guava 28.0-jre + + + + javax.mail + mail + 1.4.7 + + + + javax.activation + activation + 1.1.1 + + + + cn.hutool + hutool-all + 5.0.6 + \ No newline at end of file