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