From a19003f69814194fe3828ff026e6df4d61ac1068 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 24 Apr 2024 17:55:03 +0800 Subject: [PATCH] =?UTF-8?q?perf(X-Pack):=20=E4=BC=98=E5=8C=96=E9=82=AE?= =?UTF-8?q?=E4=BB=B6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-backend/pom.xml | 11 ++++++ de-xpack | 2 +- pom.xml | 8 +---- .../java/io/dataease/api/email/EmailApi.java | 6 ++++ .../io/dataease/api/email/dto/EmailDTO.java | 35 +++++++++++++++++++ .../io/dataease/api/email/dto/EmailFile.java | 16 +++++++++ 6 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java diff --git a/core/core-backend/pom.xml b/core/core-backend/pom.xml index 18e6500287..0371189a4b 100644 --- a/core/core-backend/pom.xml +++ b/core/core-backend/pom.xml @@ -102,6 +102,17 @@ selenium-java ${selenium-java.version} + + org.eclipse.angus + angus-mail + ${angus-mail.version} + + + org.eclipse.angus + angus-activation + + + com.h2database h2 diff --git a/de-xpack b/de-xpack index b27c2cc4ed..50699c9a2b 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit b27c2cc4ed5d9ab277d3320f8239895f0a353330 +Subproject commit 50699c9a2be31a1896e3d355013bbc0c1c20cd6a diff --git a/pom.xml b/pom.xml index eb71e6dd37..c40ca23b0d 100644 --- a/pom.xml +++ b/pom.xml @@ -44,17 +44,11 @@ 3.1.0 31.1-jre 4.19.1 - 2.1.3 + 2.0.3 - - com.google.guava - guava - ${guava.version} - import - com.alibaba.cloud spring-cloud-alibaba-dependencies diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java index 2464e7e097..7baaf4677e 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/email/EmailApi.java @@ -1,7 +1,9 @@ package io.dataease.api.email; import com.github.xiaoymin.knife4j.annotations.ApiSupport; +import io.dataease.api.email.dto.EmailDTO; import io.dataease.api.system.vo.SettingItemVO; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.GetMapping; @@ -25,4 +27,8 @@ public interface EmailApi { @Operation(summary = "校验邮件设置") @PostMapping("/setting/validate") void validate(@RequestBody List settingItemVOS); + + @PostMapping("/send") + @Hidden + void send(@RequestBody EmailDTO dto); } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java new file mode 100644 index 0000000000..e78eaf6e03 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailDTO.java @@ -0,0 +1,35 @@ +package io.dataease.api.email.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; + +import java.io.File; +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EmailDTO implements Serializable { + @Serial + private static final long serialVersionUID = 3599154848839436838L; + + private List recipientList; + + private String from; + + private String subject; + + private byte[] content; + + private List fileList; + + private List emailFiles; + + public boolean existFile() { + return CollectionUtils.isNotEmpty(fileList) || CollectionUtils.isNotEmpty(emailFiles); + } +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java new file mode 100644 index 0000000000..e8e819e0c6 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/email/dto/EmailFile.java @@ -0,0 +1,16 @@ +package io.dataease.api.email.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +@Data +public class EmailFile implements Serializable { + @Serial + private static final long serialVersionUID = -3898069299109267651L; + + private String fileName; + + private byte[] fileByte; +}