Commit d1812761db1e7a485c32f1bc6be051a6f3ca1d02
1 parent
e1d79b5e
code review 邮件模块 second
Showing
12 changed files
with
36 additions
and
69 deletions
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountBaseVO.java
| @@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull; | @@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull; | ||
| 8 | 8 | ||
| 9 | @ApiModel("管理后台 - 邮箱账号基类 Base VO") | 9 | @ApiModel("管理后台 - 邮箱账号基类 Base VO") |
| 10 | @Data | 10 | @Data |
| 11 | -public class MailAccountBaseVO { | 11 | +public class MailAccountBaseVO { // TODO @wangjingqi:1), 不用空格;2)from、username、password、host、sslEnable 都要参数校验,非空;3)username 要 Email 格式;port Integer; |
| 12 | 12 | ||
| 13 | @ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com") | 13 | @ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com") |
| 14 | private String from; | 14 | private String from; |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/send/MailReqVO.java
| @@ -9,7 +9,7 @@ import java.util.List; | @@ -9,7 +9,7 @@ import java.util.List; | ||
| 9 | 9 | ||
| 10 | @ApiModel("管理后台 - 邮件发送 Req VO") | 10 | @ApiModel("管理后台 - 邮件发送 Req VO") |
| 11 | @Data | 11 | @Data |
| 12 | -public class MailReqVO { | 12 | +public class MailReqVO { // TODO @wangjingqi:1), 不用空格;2)应该只要传递 templateCode、参数就好,title、from、content、附件应该都是参数里的 |
| 13 | 13 | ||
| 14 | @ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com") | 14 | @ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com") |
| 15 | @NotNull(message = "邮箱账号不能为空") | 15 | @NotNull(message = "邮箱账号不能为空") |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateBaseVO.java
| @@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull; | @@ -8,7 +8,7 @@ import javax.validation.constraints.NotNull; | ||
| 8 | 8 | ||
| 9 | @ApiModel("管理后台 - 邮箱模版基类 Base VO") | 9 | @ApiModel("管理后台 - 邮箱模版基类 Base VO") |
| 10 | @Data | 10 | @Data |
| 11 | -public class MailTemplateBaseVO { | 11 | +public class MailTemplateBaseVO { // TODO @wangjingqi:1)swagger 注解不完善;2)id、name、code、username、title、content、status 是不是要参数校验呀 |
| 12 | @ApiModelProperty("主键") | 12 | @ApiModelProperty("主键") |
| 13 | private Long id; | 13 | private Long id; |
| 14 | 14 |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailAccountDO.java
| 1 | package cn.iocoder.yudao.module.system.dal.dataobject.mail; | 1 | package cn.iocoder.yudao.module.system.dal.dataobject.mail; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import com.baomidou.mybatisplus.annotation.TableField; | ||
| 5 | -import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | import com.baomidou.mybatisplus.annotation.TableName; | 4 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | -import io.swagger.annotations.ApiModel; | ||
| 8 | import lombok.Data; | 5 | import lombok.Data; |
| 9 | import lombok.EqualsAndHashCode; | 6 | import lombok.EqualsAndHashCode; |
| 10 | -import lombok.experimental.Accessors; | ||
| 11 | - | ||
| 12 | -import java.io.Serializable; | ||
| 13 | 7 | ||
| 8 | +/** | ||
| 9 | + * 邮箱账号 | ||
| 10 | + * 配置发送邮箱的账号 | ||
| 11 | + * | ||
| 12 | + * @author wangjingyi | ||
| 13 | + * @since 2022-03-21 | ||
| 14 | + */ | ||
| 14 | @TableName(value = "system_mail_account", autoResultMap = true) | 15 | @TableName(value = "system_mail_account", autoResultMap = true) |
| 15 | @Data | 16 | @Data |
| 16 | @EqualsAndHashCode(callSuper = true) | 17 | @EqualsAndHashCode(callSuper = true) |
| 17 | -@Accessors(chain = true) | ||
| 18 | -public class MailAccountDO extends BaseDO implements Serializable { | 18 | +public class MailAccountDO extends BaseDO { |
| 19 | 19 | ||
| 20 | /** | 20 | /** |
| 21 | * 主键 | 21 | * 主键 |
| 22 | */ | 22 | */ |
| 23 | private Long id; | 23 | private Long id; |
| 24 | - | ||
| 25 | /** | 24 | /** |
| 26 | * 邮箱 | 25 | * 邮箱 |
| 27 | */ | 26 | */ |
| 28 | private String from; | 27 | private String from; |
| 29 | - | ||
| 30 | /** | 28 | /** |
| 31 | * 用户名 | 29 | * 用户名 |
| 32 | */ | 30 | */ |
| 33 | private String username; | 31 | private String username; |
| 34 | - | ||
| 35 | /** | 32 | /** |
| 36 | * 密码 | 33 | * 密码 |
| 37 | */ | 34 | */ |
| 38 | private String password; | 35 | private String password; |
| 39 | - | ||
| 40 | /** | 36 | /** |
| 41 | * 主机 | 37 | * 主机 |
| 42 | */ | 38 | */ |
| 43 | private String host; | 39 | private String host; |
| 44 | - | ||
| 45 | /** | 40 | /** |
| 46 | * 端口 | 41 | * 端口 |
| 47 | */ | 42 | */ |
| 48 | private Integer port; | 43 | private Integer port; |
| 49 | - | ||
| 50 | /** | 44 | /** |
| 51 | - * 是否开启ssl | 45 | + * 是否开启 SSL |
| 52 | */ | 46 | */ |
| 53 | private Boolean sslEnable; | 47 | private Boolean sslEnable; |
| 54 | 48 | ||
| 55 | - | ||
| 56 | } | 49 | } |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.java
| 1 | package cn.iocoder.yudao.module.system.dal.dataobject.mail; | 1 | package cn.iocoder.yudao.module.system.dal.dataobject.mail; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import java.sql.Timestamp; | ||
| 5 | -import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | -import com.baomidou.mybatisplus.annotation.TableField; | ||
| 7 | -import java.io.Serializable; | ||
| 8 | - | ||
| 9 | import com.baomidou.mybatisplus.annotation.TableName; | 4 | import com.baomidou.mybatisplus.annotation.TableName; |
| 10 | -import io.swagger.annotations.ApiModel; | ||
| 11 | import lombok.Data; | 5 | import lombok.Data; |
| 12 | import lombok.EqualsAndHashCode; | 6 | import lombok.EqualsAndHashCode; |
| 13 | -import lombok.experimental.Accessors; | 7 | + |
| 8 | +import java.io.Serializable; | ||
| 9 | +import java.sql.Timestamp; | ||
| 14 | 10 | ||
| 15 | /** | 11 | /** |
| 16 | - * <p> | ||
| 17 | * 邮箱日志 | 12 | * 邮箱日志 |
| 18 | - * </p> | 13 | + * 记录每一次邮件的发送 |
| 19 | * | 14 | * |
| 20 | * @author wangjingyi | 15 | * @author wangjingyi |
| 21 | * @since 2022-03-21 | 16 | * @since 2022-03-21 |
| @@ -23,7 +18,6 @@ import lombok.experimental.Accessors; | @@ -23,7 +18,6 @@ import lombok.experimental.Accessors; | ||
| 23 | @TableName(value = "system_mail_log", autoResultMap = true) | 18 | @TableName(value = "system_mail_log", autoResultMap = true) |
| 24 | @Data | 19 | @Data |
| 25 | @EqualsAndHashCode(callSuper = true) | 20 | @EqualsAndHashCode(callSuper = true) |
| 26 | -@Accessors(chain = true) | ||
| 27 | public class MailLogDO extends BaseDO implements Serializable { | 21 | public class MailLogDO extends BaseDO implements Serializable { |
| 28 | 22 | ||
| 29 | /** | 23 | /** |
| @@ -31,11 +25,13 @@ public class MailLogDO extends BaseDO implements Serializable { | @@ -31,11 +25,13 @@ public class MailLogDO extends BaseDO implements Serializable { | ||
| 31 | */ | 25 | */ |
| 32 | private Long id; | 26 | private Long id; |
| 33 | 27 | ||
| 28 | + // TODO @wangjingyi:accountId | ||
| 34 | /** | 29 | /** |
| 35 | * 邮箱账号编号 | 30 | * 邮箱账号编号 |
| 36 | */ | 31 | */ |
| 37 | private String accountCode; | 32 | private String accountCode; |
| 38 | 33 | ||
| 34 | + // TODO @wangjingyi:如果是冗余字段,记得 @ 下; | ||
| 39 | /** | 35 | /** |
| 40 | * 邮箱账号 | 36 | * 邮箱账号 |
| 41 | */ | 37 | */ |
| @@ -74,6 +70,7 @@ public class MailLogDO extends BaseDO implements Serializable { | @@ -74,6 +70,7 @@ public class MailLogDO extends BaseDO implements Serializable { | ||
| 74 | /** | 70 | /** |
| 75 | * 发送状态 | 71 | * 发送状态 |
| 76 | */ | 72 | */ |
| 73 | + // TODO @wangjingyi:四个状态,参考短信模块 | ||
| 77 | private Boolean sendStatus; | 74 | private Boolean sendStatus; |
| 78 | 75 | ||
| 79 | /** | 76 | /** |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailTemplateDO.java
| 1 | package cn.iocoder.yudao.module.system.dal.dataobject.mail; | 1 | package cn.iocoder.yudao.module.system.dal.dataobject.mail; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import com.baomidou.mybatisplus.annotation.IdType; | ||
| 5 | -import com.baomidou.mybatisplus.annotation.TableId; | ||
| 6 | -import com.baomidou.mybatisplus.annotation.TableField; | ||
| 7 | -import java.io.Serializable; | ||
| 8 | - | ||
| 9 | import com.baomidou.mybatisplus.annotation.TableName; | 5 | import com.baomidou.mybatisplus.annotation.TableName; |
| 10 | -import io.swagger.annotations.ApiModel; | ||
| 11 | -import io.swagger.annotations.ApiModelProperty; | ||
| 12 | import lombok.Data; | 6 | import lombok.Data; |
| 13 | import lombok.EqualsAndHashCode; | 7 | import lombok.EqualsAndHashCode; |
| 14 | -import lombok.experimental.Accessors; | ||
| 15 | 8 | ||
| 16 | /** | 9 | /** |
| 17 | - * <p> | ||
| 18 | * 邮箱模版 | 10 | * 邮箱模版 |
| 19 | - * </p> | ||
| 20 | * | 11 | * |
| 21 | * @author wangjingyi | 12 | * @author wangjingyi |
| 22 | * @since 2022-03-21 | 13 | * @since 2022-03-21 |
| @@ -24,48 +15,42 @@ import lombok.experimental.Accessors; | @@ -24,48 +15,42 @@ import lombok.experimental.Accessors; | ||
| 24 | @TableName(value = "system_mail_template", autoResultMap = true) | 15 | @TableName(value = "system_mail_template", autoResultMap = true) |
| 25 | @Data | 16 | @Data |
| 26 | @EqualsAndHashCode(callSuper = true) | 17 | @EqualsAndHashCode(callSuper = true) |
| 27 | -@Accessors(chain = true) | ||
| 28 | -public class MailTemplateDO extends BaseDO implements Serializable { | 18 | +public class MailTemplateDO extends BaseDO { |
| 29 | 19 | ||
| 30 | /** | 20 | /** |
| 31 | * 主键 | 21 | * 主键 |
| 32 | */ | 22 | */ |
| 33 | private Long id; | 23 | private Long id; |
| 34 | - | ||
| 35 | /** | 24 | /** |
| 36 | * 模版名称 | 25 | * 模版名称 |
| 37 | */ | 26 | */ |
| 38 | private String name; | 27 | private String name; |
| 39 | - | ||
| 40 | /** | 28 | /** |
| 41 | * 模版编号 | 29 | * 模版编号 |
| 42 | */ | 30 | */ |
| 43 | private String code; | 31 | private String code; |
| 44 | - | 32 | + // TODO @wangjingyi:应该使用 accountId 呀 |
| 45 | /** | 33 | /** |
| 46 | * 用户名 | 34 | * 用户名 |
| 47 | */ | 35 | */ |
| 48 | private String username; | 36 | private String username; |
| 49 | - | ||
| 50 | /** | 37 | /** |
| 51 | * 标题 | 38 | * 标题 |
| 52 | */ | 39 | */ |
| 53 | private String title; | 40 | private String title; |
| 54 | - | ||
| 55 | /** | 41 | /** |
| 56 | * 内容 | 42 | * 内容 |
| 57 | */ | 43 | */ |
| 58 | private String content; | 44 | private String content; |
| 59 | - | ||
| 60 | /** | 45 | /** |
| 61 | * 状态 | 46 | * 状态 |
| 47 | + * | ||
| 48 | + * 枚举 {@link CommonStatusEnum} | ||
| 62 | */ | 49 | */ |
| 63 | - private String status; | ||
| 64 | - | 50 | + private String status; // TODO @wangjingyi:Integer |
| 65 | /** | 51 | /** |
| 66 | * 备注 | 52 | * 备注 |
| 67 | */ | 53 | */ |
| 68 | private String remark; | 54 | private String remark; |
| 69 | 55 | ||
| 70 | - | ||
| 71 | } | 56 | } |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailAccountMapper.java
| @@ -7,8 +7,6 @@ import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccou | @@ -7,8 +7,6 @@ import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccou | ||
| 7 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; | 7 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; |
| 8 | import org.apache.ibatis.annotations.Mapper; | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | 9 | ||
| 10 | -import java.util.Map; | ||
| 11 | - | ||
| 12 | @Mapper | 10 | @Mapper |
| 13 | public interface MailAccountMapper extends BaseMapperX<MailAccountDO> { | 11 | public interface MailAccountMapper extends BaseMapperX<MailAccountDO> { |
| 14 | 12 | ||
| @@ -23,7 +21,8 @@ public interface MailAccountMapper extends BaseMapperX<MailAccountDO> { | @@ -23,7 +21,8 @@ public interface MailAccountMapper extends BaseMapperX<MailAccountDO> { | ||
| 23 | } | 21 | } |
| 24 | 22 | ||
| 25 | default MailAccountDO selectByUserName(String userName){ | 23 | default MailAccountDO selectByUserName(String userName){ |
| 26 | - QueryWrapperX queryWrapperX = new QueryWrapperX<MailAccountDO>(); | 24 | + // TODO @wangjingyi:selectOne 有封装的方法;然后,编码一定要学会使用泛型呀。例如说 QueryWrapperX<MailAccountDO> queryWrapperX = new QueryWrapperX<>(); |
| 25 | + QueryWrapperX<MailAccountDO> queryWrapperX = new QueryWrapperX<>(); | ||
| 27 | queryWrapperX.eqIfPresent("username", userName); | 26 | queryWrapperX.eqIfPresent("username", userName); |
| 28 | return this.selectOne(queryWrapperX); | 27 | return this.selectOne(queryWrapperX); |
| 29 | }; | 28 | }; |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.java
| @@ -23,6 +23,7 @@ public interface MailTemplateMapper extends BaseMapperX<MailTemplateDO> { | @@ -23,6 +23,7 @@ public interface MailTemplateMapper extends BaseMapperX<MailTemplateDO> { | ||
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | default MailTemplateDO selectOneByCode(String code){ | 25 | default MailTemplateDO selectOneByCode(String code){ |
| 26 | + // TODO @wangjingyi:优先使用 lambada 查询 | ||
| 26 | return selectOne("code" , code); | 27 | return selectOne("code" , code); |
| 27 | }; | 28 | }; |
| 28 | } | 29 | } |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailAccountService.java
| @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountCreateReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountCreateReqVO; |
| 5 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.controller.admin.mail.vo.send.MailReqVO; | ||
| 8 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; | 7 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; |
| 9 | 8 | ||
| 10 | import javax.validation.Valid; | 9 | import javax.validation.Valid; |
| @@ -19,10 +18,8 @@ import java.util.List; | @@ -19,10 +18,8 @@ import java.util.List; | ||
| 19 | */ | 18 | */ |
| 20 | public interface MailAccountService { | 19 | public interface MailAccountService { |
| 21 | 20 | ||
| 22 | - // TODO @wangjingyi:注释,完整;参数校验还是要做的; | ||
| 23 | - | ||
| 24 | /** | 21 | /** |
| 25 | - * 创建邮箱账号 // TODO @wangjingyi:方法描述,和参数要空行 | 22 | + * 创建邮箱账号 |
| 26 | * | 23 | * |
| 27 | * @param createReqVO 邮箱账号信息 | 24 | * @param createReqVO 邮箱账号信息 |
| 28 | * @return 编号 | 25 | * @return 编号 |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.java
| @@ -20,6 +20,7 @@ public interface MailTemplateService { | @@ -20,6 +20,7 @@ public interface MailTemplateService { | ||
| 20 | 20 | ||
| 21 | /** | 21 | /** |
| 22 | * 邮箱模版创建 | 22 | * 邮箱模版创建 |
| 23 | + * | ||
| 23 | * @param createReqVO 邮箱信息 | 24 | * @param createReqVO 邮箱信息 |
| 24 | * @return 编号 | 25 | * @return 编号 |
| 25 | */ | 26 | */ |
| @@ -27,12 +28,14 @@ public interface MailTemplateService { | @@ -27,12 +28,14 @@ public interface MailTemplateService { | ||
| 27 | 28 | ||
| 28 | /** | 29 | /** |
| 29 | * 邮箱模版修改 | 30 | * 邮箱模版修改 |
| 31 | + * | ||
| 30 | * @param updateReqVO 邮箱信息 | 32 | * @param updateReqVO 邮箱信息 |
| 31 | */ | 33 | */ |
| 32 | void update(@Valid MailTemplateUpdateReqVO updateReqVO); | 34 | void update(@Valid MailTemplateUpdateReqVO updateReqVO); |
| 33 | 35 | ||
| 34 | /** | 36 | /** |
| 35 | * 邮箱模版删除 | 37 | * 邮箱模版删除 |
| 38 | + * | ||
| 36 | * @param id 编号 | 39 | * @param id 编号 |
| 37 | */ | 40 | */ |
| 38 | void delete(Long id); | 41 | void delete(Long id); |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/mail/impl/MailAccountServiceImpl.java
| 1 | package cn.iocoder.yudao.module.system.service.mail.impl; | 1 | package cn.iocoder.yudao.module.system.service.mail.impl; |
| 2 | 2 | ||
| 3 | -import cn.hutool.core.util.StrUtil; | ||
| 4 | -import cn.hutool.extra.mail.MailAccount; | ||
| 5 | -import cn.hutool.extra.mail.MailUtil; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountCreateReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountCreateReqVO; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO; |
| 9 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO; |
| 10 | -import cn.iocoder.yudao.module.system.controller.admin.mail.vo.send.MailReqVO; | ||
| 11 | import cn.iocoder.yudao.module.system.convert.mail.MailAccountConvert; | 7 | import cn.iocoder.yudao.module.system.convert.mail.MailAccountConvert; |
| 12 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; |
| 13 | -import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO; | ||
| 14 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailAccountMapper; | 9 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailAccountMapper; |
| 15 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailTemplateMapper; | 10 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailTemplateMapper; |
| 16 | import cn.iocoder.yudao.module.system.service.mail.MailAccountService; | 11 | import cn.iocoder.yudao.module.system.service.mail.MailAccountService; |
| @@ -18,9 +13,7 @@ import org.springframework.stereotype.Service; | @@ -18,9 +13,7 @@ import org.springframework.stereotype.Service; | ||
| 18 | import org.springframework.validation.annotation.Validated; | 13 | import org.springframework.validation.annotation.Validated; |
| 19 | 14 | ||
| 20 | import javax.annotation.Resource; | 15 | import javax.annotation.Resource; |
| 21 | -import java.util.HashMap; | ||
| 22 | import java.util.List; | 16 | import java.util.List; |
| 23 | -import java.util.Map; | ||
| 24 | 17 | ||
| 25 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 18 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 26 | import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.MAIL_ACCOUNT_EXISTS; | 19 | import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.MAIL_ACCOUNT_EXISTS; |
| @@ -54,7 +47,7 @@ public class MailAccountServiceImpl implements MailAccountService { | @@ -54,7 +47,7 @@ public class MailAccountServiceImpl implements MailAccountService { | ||
| 54 | 47 | ||
| 55 | @Override | 48 | @Override |
| 56 | public void update(MailAccountUpdateReqVO updateReqVO) { | 49 | public void update(MailAccountUpdateReqVO updateReqVO) { |
| 57 | - // username 要校验唯一 | 50 | + // username 要校验唯一 // TODO @wangjingyi:更新的就是自己,username 这样写,会重复呀。 |
| 58 | this.validateMailAccountOnlyByUserName(updateReqVO.getUsername()); | 51 | this.validateMailAccountOnlyByUserName(updateReqVO.getUsername()); |
| 59 | MailAccountDO mailAccountDO = MailAccountConvert.INSTANCE.convert(updateReqVO); | 52 | MailAccountDO mailAccountDO = MailAccountConvert.INSTANCE.convert(updateReqVO); |
| 60 | // 校验是否存在 | 53 | // 校验是否存在 |
| @@ -64,6 +57,7 @@ public class MailAccountServiceImpl implements MailAccountService { | @@ -64,6 +57,7 @@ public class MailAccountServiceImpl implements MailAccountService { | ||
| 64 | 57 | ||
| 65 | @Override | 58 | @Override |
| 66 | public void delete(Long id) { | 59 | public void delete(Long id) { |
| 60 | + // TODO @wangjingyi:删除时,要判断是否有使用的模板 | ||
| 67 | // 校验是否存在 | 61 | // 校验是否存在 |
| 68 | this.validateMailAccountExists(id); | 62 | this.validateMailAccountExists(id); |
| 69 | mailAccountMapper.deleteById(id); | 63 | mailAccountMapper.deleteById(id); |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/mail/impl/MailTemplateServiceImpl.java
| @@ -15,15 +15,12 @@ import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; | @@ -15,15 +15,12 @@ import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO; | ||
| 15 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO; | 15 | import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTemplateDO; |
| 16 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailAccountMapper; | 16 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailAccountMapper; |
| 17 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailTemplateMapper; | 17 | import cn.iocoder.yudao.module.system.dal.mysql.mail.MailTemplateMapper; |
| 18 | -import cn.iocoder.yudao.module.system.service.mail.MailAccountService; | ||
| 19 | import cn.iocoder.yudao.module.system.service.mail.MailTemplateService; | 18 | import cn.iocoder.yudao.module.system.service.mail.MailTemplateService; |
| 20 | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
| 21 | import org.springframework.stereotype.Service; | 19 | import org.springframework.stereotype.Service; |
| 22 | import org.springframework.validation.annotation.Validated; | 20 | import org.springframework.validation.annotation.Validated; |
| 23 | 21 | ||
| 24 | import javax.annotation.Resource; | 22 | import javax.annotation.Resource; |
| 25 | import javax.validation.Valid; | 23 | import javax.validation.Valid; |
| 26 | -import java.util.HashMap; | ||
| 27 | import java.util.List; | 24 | import java.util.List; |
| 28 | import java.util.Map; | 25 | import java.util.Map; |
| 29 | 26 | ||
| @@ -58,7 +55,7 @@ public class MailTemplateServiceImpl implements MailTemplateService { | @@ -58,7 +55,7 @@ public class MailTemplateServiceImpl implements MailTemplateService { | ||
| 58 | @Override | 55 | @Override |
| 59 | public void update(@Valid MailTemplateUpdateReqVO updateReqVO) { | 56 | public void update(@Valid MailTemplateUpdateReqVO updateReqVO) { |
| 60 | // code 要校验唯一 | 57 | // code 要校验唯一 |
| 61 | - this.validateMailTemplateOnlyByCode(updateReqVO.getCode()); | 58 | + this.validateMailTemplateOnlyByCode(updateReqVO.getCode()); // TODO @wangjingyi:code 这样写,修改自己会有问题 |
| 62 | MailTemplateDO mailTemplateDO = MailTemplateConvert.INSTANCE.convert(updateReqVO); | 59 | MailTemplateDO mailTemplateDO = MailTemplateConvert.INSTANCE.convert(updateReqVO); |
| 63 | // 校验是否存在 | 60 | // 校验是否存在 |
| 64 | this.validateMailTemplateExists(mailTemplateDO.getId()); | 61 | this.validateMailTemplateExists(mailTemplateDO.getId()); |
| @@ -85,6 +82,7 @@ public class MailTemplateServiceImpl implements MailTemplateService { | @@ -85,6 +82,7 @@ public class MailTemplateServiceImpl implements MailTemplateService { | ||
| 85 | 82 | ||
| 86 | @Override | 83 | @Override |
| 87 | public void sendMail(MailReqVO mailReqVO) { | 84 | public void sendMail(MailReqVO mailReqVO) { |
| 85 | + // TODO @@wangjingyi:发送的时候,参考下短信; | ||
| 88 | MailTemplateDO mailTemplateDO = mailTemplateMapper.selectById(mailReqVO.getTemplateId()); | 86 | MailTemplateDO mailTemplateDO = mailTemplateMapper.selectById(mailReqVO.getTemplateId()); |
| 89 | //查询账号信息 | 87 | //查询账号信息 |
| 90 | MailAccountDO mailAccountDO = mailAccountMapper.selectOne( | 88 | MailAccountDO mailAccountDO = mailAccountMapper.selectOne( |