Commit ea92b8412173b0ef0c65e30e9cbebcd56e029ed6

Authored by wangjingyi
1 parent 0b0e37a3

邮件模块 删除mail-module

Showing 22 changed files with 15 additions and 574 deletions
yudao-framework/pom.xml
@@ -30,7 +30,6 @@ @@ -30,7 +30,6 @@
30 <module>yudao-spring-boot-starter-biz-operatelog</module> 30 <module>yudao-spring-boot-starter-biz-operatelog</module>
31 <module>yudao-spring-boot-starter-biz-dict</module> 31 <module>yudao-spring-boot-starter-biz-dict</module>
32 <module>yudao-spring-boot-starter-biz-sms</module> 32 <module>yudao-spring-boot-starter-biz-sms</module>
33 - <module>yudao-spring-boot-starter-biz-mail</module>  
34 <module>yudao-spring-boot-starter-activiti</module> 33 <module>yudao-spring-boot-starter-activiti</module>
35 <module>yudao-spring-boot-starter-biz-pay</module> 34 <module>yudao-spring-boot-starter-biz-pay</module>
36 <module>yudao-spring-boot-starter-biz-weixin</module> 35 <module>yudao-spring-boot-starter-biz-weixin</module>
yudao-framework/yudao-spring-boot-starter-biz-mail/pom.xml deleted
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<project xmlns="http://maven.apache.org/POM/4.0.0"  
3 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4 - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
5 - <parent>  
6 - <groupId>cn.iocoder.boot</groupId>  
7 - <artifactId>yudao-framework</artifactId>  
8 - <version>${revision}</version>  
9 - </parent>  
10 - <modelVersion>4.0.0</modelVersion>  
11 - <artifactId>yudao-spring-boot-starter-biz-mail</artifactId>  
12 - <packaging>jar</packaging>  
13 -  
14 - <dependencies>  
15 - <dependency>  
16 - <groupId>cn.iocoder.boot</groupId>  
17 - <artifactId>yudao-common</artifactId>  
18 - </dependency>  
19 -  
20 - <!-- Spring 核心 -->  
21 - <dependency>  
22 - <groupId>org.springframework.boot</groupId>  
23 - <artifactId>spring-boot-starter</artifactId>  
24 - </dependency>  
25 -  
26 - <!-- 监控相关 -->  
27 - <dependency>  
28 - <groupId>io.opentracing</groupId>  
29 - <artifactId>opentracing-util</artifactId> <!-- aliyun 短信需要,进行链路追踪 -->  
30 - </dependency>  
31 -  
32 - <!-- Test 测试相关 -->  
33 - <dependency>  
34 - <groupId>cn.iocoder.boot</groupId>  
35 - <artifactId>yudao-spring-boot-starter-test</artifactId>  
36 - <scope>test</scope>  
37 - </dependency>  
38 -  
39 - <!-- 工具类相关 -->  
40 - <dependency>  
41 - <groupId>com.google.guava</groupId>  
42 - <artifactId>guava</artifactId>  
43 - <optional>true</optional> <!-- 设置为可选,因为使用到 @VisibleForTesting 用于单元测试 -->  
44 - </dependency>  
45 -  
46 - <dependency>  
47 - <groupId>com.fasterxml.jackson.core</groupId>  
48 - <artifactId>jackson-databind</artifactId>  
49 - </dependency>  
50 - <dependency>  
51 - <groupId>com.fasterxml.jackson.core</groupId>  
52 - <artifactId>jackson-core</artifactId>  
53 - </dependency>  
54 -  
55 - <dependency>  
56 - <groupId>jakarta.validation</groupId>  
57 - <artifactId>jakarta.validation-api</artifactId>  
58 - </dependency>  
59 - <dependency>  
60 - <groupId>org.projectlombok</groupId>  
61 - <artifactId>lombok</artifactId>  
62 - </dependency>  
63 - </dependencies>  
64 -  
65 -</project>  
66 \ No newline at end of file 0 \ No newline at end of file
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/config/YudaoMailAutoConfiguration.java deleted
1 -package cn.iocoder.yudao.framework.mail.config;  
2 -  
3 -import cn.iocoder.yudao.framework.mail.core.client.MailClientFactory;  
4 -import cn.iocoder.yudao.framework.mail.core.client.impl.MailClientFactoryImpl;  
5 -import org.springframework.context.annotation.Bean;  
6 -import org.springframework.context.annotation.Configuration;  
7 -  
8 -/**  
9 - * 邮箱配置类  
10 - *  
11 - * @author 芋道源码  
12 - */  
13 -@Configuration  
14 -public class YudaoMailAutoConfiguration {  
15 -  
16 - @Bean  
17 - public MailClientFactory mailClientFactory() {  
18 - return new MailClientFactoryImpl();  
19 - }  
20 -  
21 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/MailClient.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client;  
2 -  
3 -import java.util.List;  
4 -  
5 -/**  
6 - * 邮件客户端,用于对接各邮箱平台的 SDK,实现邮件发送等功能  
7 - *  
8 - * @author wangjingyi  
9 - * @date 2021/4/19 19:21  
10 - */  
11 -public interface MailClient {  
12 -  
13 - /**  
14 - * 发送邮件  
15 - *  
16 - * @param from 邮箱账号  
17 - * @param content 内容  
18 - * @param title 标题  
19 - * @param tos 收件人  
20 - * @return 邮件发送结果  
21 - */  
22 - String sendMail(String from, String content, String title, List<String> tos);  
23 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/MailClientFactory.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client;  
2 -  
3 -public interface MailClientFactory {  
4 - MailClient getMailClient();  
5 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/MailCodeMapping.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client;  
2 -  
3 -import cn.iocoder.yudao.framework.common.exception.ErrorCode;  
4 -import cn.iocoder.yudao.framework.mail.core.enums.MailFrameworkErrorCodeConstants;  
5 -  
6 -import java.util.function.Function;  
7 -  
8 -/**  
9 - * 将 API 的错误码,转换为通用的错误码  
10 - *  
11 - * @see MailCommonResult  
12 - * @see MailFrameworkErrorCodeConstants  
13 - *  
14 - * @author 芋道源码  
15 - */  
16 -public interface MailCodeMapping extends Function<String, ErrorCode> {  
17 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/MailCommonResult.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client;  
2 -  
3 -import cn.hutool.core.exceptions.ExceptionUtil;  
4 -import cn.hutool.core.lang.Assert;  
5 -import cn.iocoder.yudao.framework.common.exception.ErrorCode;  
6 -import cn.iocoder.yudao.framework.common.pojo.CommonResult;  
7 -import lombok.Data;  
8 -import lombok.EqualsAndHashCode;  
9 -import lombok.ToString;  
10 -import cn.iocoder.yudao.framework.mail.core.enums.MailFrameworkErrorCodeConstants;  
11 -  
12 -/**  
13 - * 短信的 CommonResult 拓展类  
14 - *  
15 - * 考虑到不同的平台,返回的 code 和 msg 是不同的,所以统一额外返回 {@link #apiCode} 和 {@link #apiMsg} 字段  
16 - *  
17 - * 另外,一些短信平台(例如说阿里云、腾讯云)会返回一个请求编号,用于排查请求失败的问题,我们设置到 {@link #apiRequestId} 字段  
18 - *  
19 - * @author 芋道源码  
20 - */  
21 -@Data  
22 -@EqualsAndHashCode(callSuper = true)  
23 -@ToString(callSuper = true)  
24 -public class MailCommonResult<T> extends CommonResult<T> {  
25 -  
26 - /**  
27 - * API 返回错误码  
28 - *  
29 - * 由于第三方的错误码可能是字符串,所以使用 String 类型  
30 - */  
31 - private String apiCode;  
32 - /**  
33 - * API 返回提示  
34 - */  
35 - private String apiMsg;  
36 -  
37 - /**  
38 - * API 请求编号  
39 - */  
40 - private String apiRequestId;  
41 -  
42 - private MailCommonResult() {  
43 - }  
44 -  
45 - public static <T> MailCommonResult<T> build(String apiCode, String apiMsg, String apiRequestId,  
46 - T data, MailCodeMapping codeMapping) {  
47 - Assert.notNull(codeMapping, "参数 codeMapping 不能为空");  
48 - MailCommonResult<T> result = new MailCommonResult<T>().setApiCode(apiCode).setApiMsg(apiMsg).setApiRequestId(apiRequestId);  
49 - result.setData(data);  
50 - // 翻译错误码  
51 - if (codeMapping != null) {  
52 - ErrorCode errorCode = codeMapping.apply(apiCode);  
53 - if (errorCode == null) {  
54 - errorCode = MailFrameworkErrorCodeConstants.MAIL_UNKNOWN;  
55 - }  
56 - result.setCode(errorCode.getCode()).setMsg(errorCode.getMsg());  
57 - }  
58 - return result;  
59 - }  
60 -  
61 - public static <T> MailCommonResult<T> error(Throwable ex) {  
62 - MailCommonResult<T> result = new MailCommonResult<>();  
63 - result.setCode(MailFrameworkErrorCodeConstants.EXCEPTION.getCode());  
64 - result.setMsg(ExceptionUtil.getRootCauseMessage(ex));  
65 - return result;  
66 - }  
67 -  
68 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/dto/MailReceiveRespDTO.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.dto;  
2 -  
3 -import lombok.Data;  
4 -  
5 -import java.util.Date;  
6 -  
7 -/**  
8 - * 消息接收 Response DTO  
9 - *  
10 - * @author 芋道源码  
11 - */  
12 -@Data  
13 -public class MailReceiveRespDTO {  
14 -  
15 - /**  
16 - * 是否接收成功  
17 - */  
18 - private Boolean success;  
19 - /**  
20 - * API 接收结果的编码  
21 - */  
22 - private String errorCode;  
23 - /**  
24 - * API 接收结果的说明  
25 - */  
26 - private String errorMsg;  
27 -  
28 - /**  
29 - * 手机号  
30 - */  
31 - private String mobile;  
32 - /**  
33 - * 用户接收时间  
34 - */  
35 - private Date receiveTime;  
36 -  
37 - /**  
38 - * 短信 API 发送返回的序号  
39 - */  
40 - private String serialNo;  
41 - /**  
42 - * 短信日志编号  
43 - *  
44 - * 对应 SysSmsLogDO 的编号  
45 - */  
46 - private Long logId;  
47 -  
48 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/dto/MailSendRespDTO.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.dto;  
2 -  
3 -import lombok.Data;  
4 -  
5 -/**  
6 - * 短信发送 Response DTO  
7 - *  
8 - * @author 芋道源码  
9 - */  
10 -@Data  
11 -public class MailSendRespDTO {  
12 -  
13 - /**  
14 - * 短信 API 发送返回的序号  
15 - */  
16 - private String serialNo;  
17 -  
18 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/dto/MailTemplateRespDTO.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.dto;  
2 -  
3 -import lombok.Data;  
4 -  
5 -/**  
6 - * 短信模板 Response DTO  
7 - *  
8 - * @author 芋道源码  
9 - */  
10 -@Data  
11 -public class MailTemplateRespDTO {  
12 -  
13 - /**  
14 - * 模板编号  
15 - */  
16 - private String id;  
17 - /**  
18 - * 短信内容  
19 - */  
20 - private String content;  
21 - /**  
22 - * 审核状态  
23 - *  
24 - */  
25 - private Integer auditStatus;  
26 - /**  
27 - * 审核未通过的理由  
28 - */  
29 - private String auditReason;  
30 -  
31 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/impl/AbstractMailClient.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.impl;  
2 -  
3 -import lombok.extern.slf4j.Slf4j;  
4 -import cn.iocoder.yudao.framework.mail.core.client.MailClient;  
5 -  
6 -/**  
7 - * 短信客户端的抽象类,提供模板方法,减少子类的冗余代码  
8 - *  
9 - * @author zzf  
10 - * @date 2021/2/1 9:28  
11 - */  
12 -@Slf4j  
13 -public abstract class AbstractMailClient implements MailClient {  
14 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/impl/MailClientFactoryImpl.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.impl;  
2 -  
3 -import cn.iocoder.yudao.framework.mail.core.client.MailClient;  
4 -import cn.iocoder.yudao.framework.mail.core.client.impl.hutool.HutoolMailClient;  
5 -import lombok.extern.slf4j.Slf4j;  
6 -import cn.iocoder.yudao.framework.mail.core.client.MailClientFactory;  
7 -import cn.iocoder.yudao.framework.mail.core.enums.MailChannelEnum;  
8 -import org.springframework.validation.annotation.Validated;  
9 -  
10 -import java.util.Arrays;  
11 -import java.util.concurrent.ConcurrentHashMap;  
12 -import java.util.concurrent.ConcurrentMap;  
13 -@Validated  
14 -@Slf4j  
15 -public class MailClientFactoryImpl implements MailClientFactory {  
16 -  
17 - private final ConcurrentMap<String, AbstractMailClient> channelCodeClients = new ConcurrentHashMap<>();  
18 -  
19 - public MailClientFactoryImpl (){  
20 - Arrays.stream(MailChannelEnum.values()).forEach(mailChannelEnum -> {  
21 - AbstractMailClient abstractMailClient = createMailClient(mailChannelEnum);  
22 - channelCodeClients.put(mailChannelEnum.getCode() , abstractMailClient);  
23 - });  
24 - }  
25 -  
26 - private AbstractMailClient createMailClient(MailChannelEnum mailChannelEnum) {  
27 - switch (mailChannelEnum){  
28 - case HUTOOL: return new HutoolMailClient();  
29 - }  
30 - // 创建失败,错误日志 + 抛出异常  
31 - log.error("[createMailClient][配置({}) 找不到合适的客户端实现]" , mailChannelEnum);  
32 - throw new IllegalArgumentException(String.format("配置(%s) 找不到合适的客户端实现", mailChannelEnum));  
33 - }  
34 -  
35 - @Override  
36 - public MailClient getMailClient() {  
37 - return channelCodeClients.get("HUTOOL");  
38 - }  
39 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/impl/hutool/HutoolMailClient.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.impl.hutool;  
2 -  
3 -import cn.hutool.extra.mail.MailUtil;  
4 -import cn.iocoder.yudao.framework.mail.core.client.impl.AbstractMailClient;  
5 -import lombok.extern.slf4j.Slf4j;  
6 -  
7 -import java.util.List;  
8 -  
9 -  
10 -/**  
11 - * 邮件客户端实现  
12 - *  
13 - * @author wangjingyi  
14 - * @date 2021/4/25 14:25  
15 - */  
16 -@Slf4j  
17 -public class HutoolMailClient extends AbstractMailClient {  
18 -  
19 - @Override  
20 - public String sendMail(String from, String content, String title, List<String> tos) {  
21 - try{  
22 - return MailUtil.send(from , title , content , false , null);  
23 - }catch (Exception e){  
24 - log.error(e.getMessage());  
25 - }  
26 - return "";  
27 - }  
28 -  
29 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/client/impl/hutool/HutoolMailCodeMapping.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.client.impl.hutool;  
2 -  
3 -import cn.iocoder.yudao.framework.common.exception.ErrorCode;  
4 -import cn.iocoder.yudao.framework.mail.core.client.MailCodeMapping;  
5 -  
6 -/**  
7 - * 阿里云的 SmsCodeMapping 实现类  
8 - *  
9 - * 参见 https://help.aliyun.com/document_detail/101346.htm 文档  
10 - *  
11 - * @author 芋道源码  
12 - */  
13 -public class HutoolMailCodeMapping implements MailCodeMapping {  
14 -  
15 - @Override  
16 - public ErrorCode apply(String apiCode) {  
17 - return null;  
18 - }  
19 -  
20 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/enums/MailChannelEnum.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.enums;  
2 -  
3 -import cn.hutool.core.util.ArrayUtil;  
4 -import lombok.AllArgsConstructor;  
5 -import lombok.Getter;  
6 -  
7 -/**  
8 - * 短信渠道枚举  
9 - *  
10 - * @author zzf  
11 - * @date 2021/1/25 10:56  
12 - */  
13 -@Getter  
14 -@AllArgsConstructor  
15 -public enum MailChannelEnum {  
16 - HUTOOL("HUTOOL" , "HUTOOL"),  
17 - ;  
18 -  
19 - /**  
20 - * 编码  
21 - */  
22 - private final String code;  
23 - /**  
24 - * 名字  
25 - */  
26 - private final String name;  
27 -  
28 - public static MailChannelEnum getByCode(String code) {  
29 - return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values());  
30 - }  
31 -  
32 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/enums/MailFrameworkErrorCodeConstants.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.enums;  
2 -  
3 -import cn.iocoder.yudao.framework.common.exception.ErrorCode;  
4 -  
5 -/**  
6 - * 短信框架的错误码枚举  
7 - *  
8 - * 短信框架,使用 2-001-000-000 段  
9 - *  
10 - * @author 芋道源码  
11 - */  
12 -public interface MailFrameworkErrorCodeConstants {  
13 -  
14 - ErrorCode MAIL_UNKNOWN = new ErrorCode(2001000000, "未知错误,需要解析");  
15 -  
16 - // ========== 权限 / 限流等相关 2001000100 ==========  
17 -  
18 - ErrorCode SMS_PERMISSION_DENY = new ErrorCode(2001000100, "没有发送短信的权限");  
19 - // 云片:可以配置 IP 白名单,只有在白名单中才可以发送短信  
20 - ErrorCode SMS_IP_DENY = new ErrorCode(2001000100, "IP 不允许发送短信");  
21 -  
22 - // 阿里云:将短信发送频率限制在正常的业务限流范围内。默认短信验证码:使用同一签名,对同一个手机号验证码,支持 1 条 / 分钟,5 条 / 小时,累计 10 条 / 天。  
23 - ErrorCode SMS_SEND_BUSINESS_LIMIT_CONTROL = new ErrorCode(2001000102, "指定手机的发送限流");  
24 - // 阿里云:已经达到您在控制台设置的短信日发送量限额值。在国内消息设置 > 安全设置,修改发送总量阈值。  
25 - ErrorCode SMS_SEND_DAY_LIMIT_CONTROL = new ErrorCode(2001000103, "每天的发送限流");  
26 -  
27 - ErrorCode SMS_SEND_CONTENT_INVALID = new ErrorCode(2001000104, "短信内容有敏感词");  
28 -  
29 - // ========== 模板相关 2001000200 ==========  
30 - ErrorCode SMS_TEMPLATE_INVALID = new ErrorCode(2001000200, "短信模板不合法"); // 包括短信模板不存在  
31 - ErrorCode SMS_TEMPLATE_PARAM_ERROR = new ErrorCode(2001000201, "模板参数不正确");  
32 -  
33 - // ========== 签名相关 2001000300 ==========  
34 - ErrorCode SMS_SIGN_INVALID = new ErrorCode(2001000300, "短信签名不可用");  
35 -  
36 - // ========== 账户相关 2001000400 ==========  
37 - ErrorCode SMS_ACCOUNT_MONEY_NOT_ENOUGH = new ErrorCode(2001000400, "账户余额不足");  
38 - ErrorCode SMS_ACCOUNT_INVALID = new ErrorCode(2001000401, "apiKey 不存在");  
39 -  
40 - // ========== 其它相关 2001000900 开头 ==========  
41 - ErrorCode SMS_API_PARAM_ERROR = new ErrorCode(2001000900, "请求参数缺失");  
42 - ErrorCode SMS_MOBILE_INVALID = new ErrorCode(2001000901, "手机格式不正确");  
43 - ErrorCode SMS_MOBILE_BLACK = new ErrorCode(2001000902, "手机号在黑名单中");  
44 -  
45 - ErrorCode EXCEPTION = new ErrorCode(2001000999, "调用异常");  
46 -  
47 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/enums/MailTemplateAuditStatusEnum.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.enums;  
2 -  
3 -import lombok.AllArgsConstructor;  
4 -import lombok.Getter;  
5 -  
6 -/**  
7 - * 短信模板的审核状态枚举  
8 - *  
9 - * @author 芋道源码  
10 - */  
11 -@AllArgsConstructor  
12 -@Getter  
13 -public enum MailTemplateAuditStatusEnum {  
14 -  
15 - CHECKING(1),  
16 - SUCCESS(2),  
17 - FAIL(3);  
18 -  
19 - private final Integer status;  
20 -  
21 -}  
yudao-framework/yudao-spring-boot-starter-biz-mail/src/main/java/cn/iocoder/yudao/framework/mail/core/property/MailChannelProperties.java deleted
1 -package cn.iocoder.yudao.framework.mail.core.property;  
2 -  
3 -import lombok.Data;  
4 -import cn.iocoder.yudao.framework.mail.core.enums.MailChannelEnum;  
5 -import org.springframework.validation.annotation.Validated;  
6 -  
7 -import javax.validation.constraints.NotEmpty;  
8 -import javax.validation.constraints.NotNull;  
9 -  
10 -/**  
11 - * 短信渠道配置类  
12 - *  
13 - * @author zzf  
14 - * @date 2021/1/25 17:01  
15 - */  
16 -@Data  
17 -@Validated  
18 -public class MailChannelProperties {  
19 -  
20 - /**  
21 - * 渠道编号  
22 - */  
23 - @NotNull(message = "短信渠道 ID 不能为空")  
24 - private Long id;  
25 - /**  
26 - * 短信签名  
27 - */  
28 - @NotEmpty(message = "短信签名不能为空")  
29 - private String signature;  
30 - /**  
31 - * 渠道编码  
32 - *  
33 - * 枚举 {@link MailChannelEnum}  
34 - */  
35 - @NotEmpty(message = "渠道编码不能为空")  
36 - private String code;  
37 - /**  
38 - * 短信 API 的账号  
39 - */  
40 - @NotEmpty(message = "短信 API 的账号不能为空")  
41 - private String apiKey;  
42 - /**  
43 - * 短信 API 的秘钥  
44 - */  
45 - @NotEmpty(message = "短信 API 的秘钥不能为空")  
46 - private String apiSecret;  
47 - /**  
48 - * 短信发送回调 URL  
49 - */  
50 - private String callbackUrl;  
51 -  
52 -}  
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java
@@ -119,13 +119,17 @@ public interface ErrorCodeConstants { @@ -119,13 +119,17 @@ public interface ErrorCodeConstants {
119 ErrorCode SOCIAL_USER_UNBIND_NOT_SELF = new ErrorCode(1002018001, "社交解绑失败,非当前用户绑定"); 119 ErrorCode SOCIAL_USER_UNBIND_NOT_SELF = new ErrorCode(1002018001, "社交解绑失败,非当前用户绑定");
120 ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1002018002, "社交授权失败,找不到对应的用户"); 120 ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1002018002, "社交授权失败,找不到对应的用户");
121 121
122 - // ========== 邮箱账号 1002019000 ==========  
123 - ErrorCode MAIL_ACCOUNT_NOT_EXISTS = new ErrorCode(1002019000, "邮箱账号不存在");  
124 - ErrorCode MAIL_ACCOUNT_EXISTS = new ErrorCode(1002019001, "邮箱账号存在");  
125 -  
126 - // ========== 邮箱模版 1002020000 ==========  
127 - ErrorCode MAIL_TEMPLATE_NOT_EXISTS = new ErrorCode(1002020000 , "邮箱模版不存在");  
128 - ErrorCode MAIL_TEMPLATE_EXISTS = new ErrorCode(1002020001, "邮箱模版存在");  
129 - ErrorCode MAIL_RELATE_TEMPLATE_EXISTS = new ErrorCode(1002020002, "存在关联邮箱模版"); 122 + // ========== 系统铭感词 1002019000 =========
  123 + ErrorCode SENSITIVE_WORD_NOT_EXISTS = new ErrorCode(1002019000, "系统敏感词在所有标签中都不存在");
  124 + ErrorCode SENSITIVE_WORD_EXISTS = new ErrorCode(1002019001, "系统敏感词已在标签中存在");
  125 +
  126 + // ========== 邮箱账号 1002020000 ==========
  127 + ErrorCode MAIL_ACCOUNT_NOT_EXISTS = new ErrorCode(1002020000, "邮箱账号不存在");
  128 + ErrorCode MAIL_ACCOUNT_EXISTS = new ErrorCode(1002020001, "邮箱账号存在");
  129 +
  130 + // ========== 邮箱模版 1002021000 ==========
  131 + ErrorCode MAIL_TEMPLATE_NOT_EXISTS = new ErrorCode(1002021000 , "邮箱模版不存在");
  132 + ErrorCode MAIL_TEMPLATE_EXISTS = new ErrorCode(1002021001, "邮箱模版存在");
  133 + ErrorCode MAIL_RELATE_TEMPLATE_EXISTS = new ErrorCode(1002021002, "存在关联邮箱模版");
130 134
131 } 135 }
yudao-module-system/yudao-module-system-biz/pom.xml
@@ -44,10 +44,6 @@ @@ -44,10 +44,6 @@
44 </dependency> 44 </dependency>
45 <dependency> 45 <dependency>
46 <groupId>cn.iocoder.boot</groupId> 46 <groupId>cn.iocoder.boot</groupId>
47 - <artifactId>yudao-spring-boot-starter-biz-mail</artifactId>  
48 - </dependency>  
49 - <dependency>  
50 - <groupId>cn.iocoder.boot</groupId>  
51 <artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId> 47 <artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId>
52 </dependency> 48 </dependency>
53 <dependency> 49 <dependency>
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/mail/MailTemplateConvert.java
1 package cn.iocoder.yudao.module.system.convert.mail; 1 package cn.iocoder.yudao.module.system.convert.mail;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 -import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountBaseVO;  
5 import cn.iocoder.yudao.module.system.controller.admin.mail.vo.template.MailTemplateBaseVO; 4 import cn.iocoder.yudao.module.system.controller.admin.mail.vo.template.MailTemplateBaseVO;
6 -import cn.iocoder.yudao.module.system.controller.admin.mail.vo.template.MailTemplateCreateReqVO;  
7 -import cn.iocoder.yudao.module.system.convert.errorcode.ErrorCodeConvertImpl;  
8 -import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO;  
9 import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO; 5 import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO;
10 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
11 import org.mapstruct.factory.Mappers; 7 import org.mapstruct.factory.Mappers;
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/mail/impl/MailSendServiceImpl.java
@@ -13,10 +13,8 @@ import cn.iocoder.yudao.module.system.service.mail.MailLogService; @@ -13,10 +13,8 @@ import cn.iocoder.yudao.module.system.service.mail.MailLogService;
13 import cn.iocoder.yudao.module.system.service.mail.MailSendService; 13 import cn.iocoder.yudao.module.system.service.mail.MailSendService;
14 import cn.iocoder.yudao.module.system.service.mail.MailTemplateService; 14 import cn.iocoder.yudao.module.system.service.mail.MailTemplateService;
15 import lombok.extern.slf4j.Slf4j; 15 import lombok.extern.slf4j.Slf4j;
16 -import cn.iocoder.yudao.framework.mail.core.client.MailClientFactory;  
17 import org.springframework.stereotype.Service; 16 import org.springframework.stereotype.Service;
18 import org.springframework.validation.annotation.Validated; 17 import org.springframework.validation.annotation.Validated;
19 -import cn.iocoder.yudao.framework.mail.core.client.MailClient;  
20 18
21 import javax.annotation.Resource; 19 import javax.annotation.Resource;
22 import java.util.List; 20 import java.util.List;
@@ -46,8 +44,6 @@ public class MailSendServiceImpl implements MailSendService { @@ -46,8 +44,6 @@ public class MailSendServiceImpl implements MailSendService {
46 @Resource 44 @Resource
47 private MailLogService mailLogService; 45 private MailLogService mailLogService;
48 @Resource 46 @Resource
49 - private MailClientFactory mailClientFactory;  
50 - @Resource  
51 private MailProducer mailProducer; 47 private MailProducer mailProducer;
52 48
53 49
@@ -80,9 +76,9 @@ public class MailSendServiceImpl implements MailSendService { @@ -80,9 +76,9 @@ public class MailSendServiceImpl implements MailSendService {
80 @Override 76 @Override
81 public void doSendMail(MailSendMessage message) { 77 public void doSendMail(MailSendMessage message) {
82 // TODO @wangjingyi:直接使用 hutool 发送,不要封装 mail client 哈,因为短信的客户端都是比较统一的 78 // TODO @wangjingyi:直接使用 hutool 发送,不要封装 mail client 哈,因为短信的客户端都是比较统一的
83 - MailClient mailClient = mailClientFactory.getMailClient();  
84 - String result = mailClient.sendMail(message.getFrom() , message.getContent() , message.getTitle() , message.getTos());  
85 - mailLogService.updateSmsSendResult(message.getLogId() , result); 79 + //MailClient mailClient = mailClientFactory.getMailClient();
  80 + //String result = mailClient.sendMail(message.getFrom() , message.getContent() , message.getTitle() , message.getTos());
  81 + //mailLogService.updateSmsSendResult(message.getLogId() , result);
86 } 82 }
87 83
88 private MailTemplateDO checkMailTemplateValid(String templateCode) { 84 private MailTemplateDO checkMailTemplateValid(String templateCode) {