From eb882e08e971cdfb123396c359bc2dfc87768eb4 Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Sat, 20 Sep 2025 17:15:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=82=AE=E4=BB=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E7=9B=B4=E6=8E=A5=E5=8F=91=E9=80=81=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mail/dto/MailSendSingleToUserReqDTO.java | 3 +++ .../system/api/mail/MailSendApiImpl.java | 2 +- .../system/service/mail/MailSendService.java | 5 ++-- .../service/mail/MailSendServiceImpl.java | 23 ++++++++++--------- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/agt-module-system/agt-module-system-api/src/main/java/org/agt/module/system/api/mail/dto/MailSendSingleToUserReqDTO.java b/agt-module-system/agt-module-system-api/src/main/java/org/agt/module/system/api/mail/dto/MailSendSingleToUserReqDTO.java index ceff2db..90c255a 100644 --- a/agt-module-system/agt-module-system-api/src/main/java/org/agt/module/system/api/mail/dto/MailSendSingleToUserReqDTO.java +++ b/agt-module-system/agt-module-system-api/src/main/java/org/agt/module/system/api/mail/dto/MailSendSingleToUserReqDTO.java @@ -27,4 +27,7 @@ public class MailSendSingleToUserReqDTO { @Schema(description = "邮件模板参数列表") private List> templateParamsList; + + @Schema(description = "邮件内容") + private String content; } diff --git a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/api/mail/MailSendApiImpl.java b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/api/mail/MailSendApiImpl.java index 0b89e62..ba5f399 100644 --- a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/api/mail/MailSendApiImpl.java +++ b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/api/mail/MailSendApiImpl.java @@ -26,7 +26,7 @@ public class MailSendApiImpl implements MailSendApi { @Override public CommonResult sendSingleMailToAdmins(MailSendSingleToUserReqDTO reqDTO) { return success(mailSendService.sendSingleMailToAdmins(reqDTO.getMail(), reqDTO.getUserId(), - reqDTO.getTemplateCode(), reqDTO.getTemplateParamsList())); + reqDTO.getTemplateCode(), reqDTO.getContent())); } @Override diff --git a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendService.java b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendService.java index b7643af..230abbb 100644 --- a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendService.java +++ b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendService.java @@ -2,7 +2,6 @@ package org.agt.module.system.service.mail; import org.agt.module.system.mq.message.mail.MailSendMessage; -import java.util.List; import java.util.Map; /** @@ -26,7 +25,7 @@ public interface MailSendService { String templateCode, Map templateParams); Long sendSingleMailToAdmins(String mail, Long userId, - String templateCode, List> templateParamsList); + String templateCode, String content); /** * 发送单条邮件给用户 APP 的用户 @@ -54,7 +53,7 @@ public interface MailSendService { String templateCode, Map templateParams); Long sendSingleMails(String mail, Long userId, Integer userType, - String templateCode, List> templateParamsList); + String templateCode, String content); /** * 执行真正的邮件发送 diff --git a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendServiceImpl.java b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendServiceImpl.java index 31cc876..0a9242e 100644 --- a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendServiceImpl.java +++ b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/service/mail/MailSendServiceImpl.java @@ -20,7 +20,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import java.util.List; +import java.util.HashMap; import java.util.Map; import static org.agt.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -78,7 +78,7 @@ public class MailSendServiceImpl implements MailSendService { @Override public Long sendSingleMailToAdmins(String mail, Long userId, - String templateCode, List> templateParamsList) { + String templateCode, String content) { // 如果 mail 为空,则加载用户编号对应的邮箱 if (StrUtil.isEmpty(mail)) { AdminUserDO user = adminUserService.getUser(userId); @@ -87,7 +87,7 @@ public class MailSendServiceImpl implements MailSendService { } } // 执行发送 - return sendSingleMails(mail, userId, UserTypeEnum.ADMIN.getValue(), templateCode, templateParamsList); + return sendSingleMails(mail, userId, UserTypeEnum.ADMIN.getValue(), templateCode, content); } @Override @@ -129,7 +129,7 @@ public class MailSendServiceImpl implements MailSendService { @Override public Long sendSingleMails(String mail, Long userId, Integer userType, - String templateCode, List> templateParamsList) { + String templateCode, String content) { // 校验邮箱模版是否合法 MailTemplateDO template = validateMailTemplate(templateCode); // 校验邮箱账号是否合法 @@ -137,17 +137,18 @@ public class MailSendServiceImpl implements MailSendService { // 校验邮箱是否存在 mail = validateMail(mail); - String content = ""; - for (Map templateParams : templateParamsList) { - validateTemplateParams(template, templateParams); - content += mailTemplateService.formatMailTemplateContent(template.getContent(), templateParams); - } +// String content = ""; +// for (Map templateParams : templateParamsList) { +// validateTemplateParams(template, templateParams); +// content += mailTemplateService.formatMailTemplateContent(template.getContent(), templateParams); +// } + Map templateParams = new HashMap<>(); // 创建发送日志。如果模板被禁用,则不发送短信,只记录日志 Boolean isSend = CommonStatusEnum.ENABLE.getStatus().equals(template.getStatus()); - String title = mailTemplateService.formatMailTemplateContent(template.getTitle(), templateParamsList.get(0)); + String title = mailTemplateService.formatMailTemplateContent(template.getTitle(), templateParams); Long sendLogId = mailLogService.createMailLog(userId, userType, mail, - account, template, content, templateParamsList.get(0), isSend); + account, template, content, templateParams, isSend); // 发送 MQ 消息,异步执行发送短信 if (isSend && mailEnable) { mailProducer.sendMailSendMessage(sendLogId, mail, account.getId(),