Commit d1812761db1e7a485c32f1bc6be051a6f3ca1d02

Authored by YunaiV
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&lt;MailAccountDO&gt; { @@ -23,7 +21,8 @@ public interface MailAccountMapper extends BaseMapperX&lt;MailAccountDO&gt; {
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&lt;MailTemplateDO&gt; { @@ -23,6 +23,7 @@ public interface MailTemplateMapper extends BaseMapperX&lt;MailTemplateDO&gt; {
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(