邮箱账号管理 TODO意见修改
This commit is contained in:
parent
50f7af00e9
commit
54ad304514
|
@ -119,4 +119,9 @@ public interface ErrorCodeConstants {
|
||||||
ErrorCode SOCIAL_USER_UNBIND_NOT_SELF = new ErrorCode(1002018001, "社交解绑失败,非当前用户绑定");
|
ErrorCode SOCIAL_USER_UNBIND_NOT_SELF = new ErrorCode(1002018001, "社交解绑失败,非当前用户绑定");
|
||||||
ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1002018002, "社交授权失败,找不到对应的用户");
|
ErrorCode SOCIAL_USER_NOT_FOUND = new ErrorCode(1002018002, "社交授权失败,找不到对应的用户");
|
||||||
|
|
||||||
|
// ========== 邮箱账号 1002019000 ==========
|
||||||
|
ErrorCode MAIL_ACCOUNT_NOT_EXISTS = new ErrorCode(1002019000, "邮箱账号不存在");
|
||||||
|
ErrorCode MAIL_ACCOUNT_EXISTS = new ErrorCode(1002019000, "邮箱账号存在");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
package cn.iocoder.yudao.module.system.controller.admin.mail;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountBaseVO;
|
||||||
|
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.MailAccountUpdateReqVO;
|
||||||
|
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.service.mail.MailAccountService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
|
||||||
|
@Api(tags = "管理后台 - 邮件模板")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/system/mail-account")
|
||||||
|
public class MailAccountController {
|
||||||
|
@Resource
|
||||||
|
private MailAccountService mailAccountService;
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@ApiOperation("创建邮箱账号")
|
||||||
|
@PreAuthorize("@ss.hasPermission('system:mail-account:create')")
|
||||||
|
public CommonResult<Long> createMailAccount(@Valid @RequestBody MailAccountCreateReqVO createReqVO) {
|
||||||
|
return success(mailAccountService.create(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@ApiOperation("修改邮箱账号")
|
||||||
|
@PreAuthorize("@ss.hasPermission('system:mail-account:update')")
|
||||||
|
public CommonResult<Boolean> updateMailAccount(@Valid @RequestBody MailAccountUpdateReqVO updateReqVO) {
|
||||||
|
mailAccountService.update(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
@ApiOperation("删除邮箱账号")
|
||||||
|
@PreAuthorize("@ss.hasPermission('system:mail-account:delete')")
|
||||||
|
public CommonResult<Boolean> deleteMailAccount(@Valid @RequestBody Long id) {
|
||||||
|
mailAccountService.delete(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@ApiOperation("获得邮箱账号")
|
||||||
|
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
|
||||||
|
@PreAuthorize("@ss.hasPermission('system:mail-account:get')")
|
||||||
|
public CommonResult<MailAccountBaseVO> getMailAccount(@RequestParam("id") Long id) {
|
||||||
|
MailAccountDO mailAccountDO = mailAccountService.getMailAccount(id);
|
||||||
|
return success(MailAccountConvert.INSTANCE.convert(mailAccountDO));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
@ApiOperation("获得邮箱账号分页")
|
||||||
|
@PreAuthorize("@ss.hasPermission('system:mail-account:query')")
|
||||||
|
public CommonResult<PageResult<MailAccountBaseVO>> getSmsChannelPage(@Valid MailAccountPageReqVO pageReqVO) {
|
||||||
|
PageResult<MailAccountDO> pageResult = mailAccountService.getMailAccountPage(pageReqVO);
|
||||||
|
return success(MailAccountConvert.INSTANCE.convertPage(pageResult));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/list-all-simple")
|
||||||
|
@ApiOperation(value = "获得邮箱账号精简列表")
|
||||||
|
public CommonResult<List<MailAccountBaseVO>> getSimpleSmsChannels() {
|
||||||
|
List<MailAccountDO> list = mailAccountService.getMailAccountList();
|
||||||
|
// 排序后,返回给前端
|
||||||
|
list.sort(Comparator.comparing(MailAccountDO::getId));
|
||||||
|
return success(MailAccountConvert.INSTANCE.convertList02(list));
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,20 +1,20 @@
|
||||||
package cn.iocoder.yudao.module.system.controller.admin.mail;
|
package cn.iocoder.yudao.module.system.controller.admin.mail;
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 前端控制器
|
* 前端控制器
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/system-mail-log")
|
@RequestMapping("/system-mail-log")
|
||||||
public class SystemMailLogController {
|
public class MailLogController {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,20 +1,20 @@
|
||||||
package cn.iocoder.yudao.module.system.controller.admin.mail;
|
package cn.iocoder.yudao.module.system.controller.admin.mail;
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 前端控制器
|
* 前端控制器
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/system-mail-temple")
|
@RequestMapping("/system-mail-temple")
|
||||||
public class SystemMailTempleController {
|
public class MailTempleController {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,94 +0,0 @@
|
||||||
package cn.iocoder.yudao.module.system.controller.admin.mail;
|
|
||||||
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.SystemMailAccountBaseVO;
|
|
||||||
import cn.iocoder.yudao.module.system.convert.mail.SystemMailAccountConvert;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailAccountDO;
|
|
||||||
import cn.iocoder.yudao.module.system.service.mail.SystemMailAccountService;
|
|
||||||
import io.swagger.annotations.Api;
|
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.validation.Valid;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
||||||
|
|
||||||
// TODO @ジョイイ:使用 Swagger 注解,不用写这个注释啦
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 前端控制器
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author wangjingyi
|
|
||||||
* @since 2022-03-21
|
|
||||||
*/
|
|
||||||
@Api(tags = "管理后台 - 邮件模板")
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/system-mail-account") // TODO @ジョイイ:/system/mail-account
|
|
||||||
public class SystemMailAccountController {
|
|
||||||
@Resource
|
|
||||||
private SystemMailAccountService systemMailAccountService;
|
|
||||||
|
|
||||||
// TODO @ジョイイ:最好,VO 分拆下,参考下别的模块
|
|
||||||
|
|
||||||
@PostMapping("/create")
|
|
||||||
@ApiOperation("创建邮箱账号")
|
|
||||||
@PreAuthorize("@ss.hasPermission('system:system-mail-account:create')")
|
|
||||||
public CommonResult<Long> createMailAccount(@Valid @RequestBody SystemMailAccountBaseVO baseVO) {
|
|
||||||
return success(systemMailAccountService.create(baseVO));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping("/update")
|
|
||||||
@ApiOperation("修改邮箱账号")
|
|
||||||
@PreAuthorize("@ss.hasPermission('system:system-mail-account:update')")
|
|
||||||
public CommonResult<Boolean> updateMailAccount(@Valid @RequestBody SystemMailAccountBaseVO baseVO) {
|
|
||||||
systemMailAccountService.update(baseVO);
|
|
||||||
return success(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO @ジョイイ:删除,编号即可
|
|
||||||
|
|
||||||
@DeleteMapping("/delete")
|
|
||||||
@ApiOperation("删除邮箱账号")
|
|
||||||
@PreAuthorize("@ss.hasPermission('system:system-mail-account:delete')")
|
|
||||||
public CommonResult<Boolean> deleteMailAccount(@Valid @RequestBody SystemMailAccountBaseVO baseVO) {
|
|
||||||
systemMailAccountService.delete(baseVO);
|
|
||||||
return success(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/get")
|
|
||||||
@ApiOperation("获得邮箱账号")
|
|
||||||
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
|
|
||||||
@PreAuthorize("@ss.hasPermission('system:system-mail-account:get')")
|
|
||||||
public CommonResult<SystemMailAccountBaseVO> getMailAccount(@RequestParam("id") Long id) {
|
|
||||||
SystemMailAccountDO systemMailAccountDO = systemMailAccountService.getMailAccount(id);
|
|
||||||
return success(SystemMailAccountConvert.INSTANCE.convert(systemMailAccountDO));
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO @ジョイイ:分页的查询条件
|
|
||||||
|
|
||||||
@GetMapping("/page")
|
|
||||||
@ApiOperation("获得邮箱账号分页")
|
|
||||||
@PreAuthorize("@ss.hasPermission('system:system-mail-account:query')")
|
|
||||||
public CommonResult<PageResult<SystemMailAccountBaseVO>> getSmsChannelPage(@Valid PageParam pageParam) {
|
|
||||||
PageResult<SystemMailAccountDO> pageResult = systemMailAccountService.getMailAccountPage(pageParam);
|
|
||||||
return success(SystemMailAccountConvert.INSTANCE.convertPage(pageResult));
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/list-all-simple")
|
|
||||||
@ApiOperation(value = "获得邮箱账号精简列表")
|
|
||||||
public CommonResult<List<SystemMailAccountBaseVO>> getSimpleSmsChannels() {
|
|
||||||
List<SystemMailAccountDO> list = systemMailAccountService.getMailAccountList();
|
|
||||||
// 排序后,返回给前端
|
|
||||||
list.sort(Comparator.comparing(SystemMailAccountDO::getId));
|
|
||||||
return success(SystemMailAccountConvert.INSTANCE.convertList02(list));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -3,12 +3,10 @@ package cn.iocoder.yudao.module.system.controller.admin.mail.vo.account;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
// TODO @ジョイイ:System 去掉哈
|
|
||||||
@Data
|
@Data
|
||||||
public class SystemMailAccountBaseVO {
|
public class MailAccountBaseVO {
|
||||||
|
|
||||||
// TODO @ジョイイ:example 写的不太对,这个应该是邮箱;
|
@ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com")
|
||||||
@ApiModelProperty(value = "来源" , required = true , example = "yudaoyuanma")
|
|
||||||
private String from;
|
private String from;
|
||||||
|
|
||||||
@ApiModelProperty(value = "用户名" , required = true , example = "yudao")
|
@ApiModelProperty(value = "用户名" , required = true , example = "yudao")
|
||||||
|
@ -23,7 +21,6 @@ public class SystemMailAccountBaseVO {
|
||||||
@ApiModelProperty(value = "端口" , required = true , example = "80")
|
@ApiModelProperty(value = "端口" , required = true , example = "80")
|
||||||
private String port;
|
private String port;
|
||||||
|
|
||||||
// TODO @ジョイイ:Boolean
|
|
||||||
@ApiModelProperty(value = "是否开启ssl" , required = true , example = "2")
|
@ApiModelProperty(value = "是否开启ssl" , required = true , example = "2")
|
||||||
private Integer sslEnable;
|
private Boolean sslEnable;
|
||||||
}
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package cn.iocoder.yudao.module.system.controller.admin.mail.vo.account;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MailAccountCreateReqVO extends MailAccountBaseVO{
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package cn.iocoder.yudao.module.system.controller.admin.mail.vo.account;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MailAccountPageReqVO extends PageParam {
|
||||||
|
@ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com")
|
||||||
|
private String from;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户名" , required = true , example = "yudao")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "密码" , required = true , example = "123456")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "网站" , required = true , example = "www.iocoder.cn")
|
||||||
|
private String host;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "端口" , required = true , example = "80")
|
||||||
|
private String port;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否开启ssl" , required = true , example = "2")
|
||||||
|
private Boolean sslEnable;
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package cn.iocoder.yudao.module.system.controller.admin.mail.vo.account;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MailAccountUpdateReqVO extends MailAccountBaseVO{
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package cn.iocoder.yudao.module.system.convert.mail;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountBaseVO;
|
||||||
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface MailAccountConvert {
|
||||||
|
MailAccountConvert INSTANCE = Mappers.getMapper(MailAccountConvert.class);
|
||||||
|
|
||||||
|
MailAccountDO convert (MailAccountBaseVO mailAccountBaseVO);
|
||||||
|
|
||||||
|
MailAccountBaseVO convert (MailAccountDO mailAccountDO);
|
||||||
|
|
||||||
|
PageResult<MailAccountBaseVO> convertPage(PageResult<MailAccountDO> pageResult);
|
||||||
|
|
||||||
|
List<MailAccountBaseVO> convertList02(List<MailAccountDO> list);
|
||||||
|
}
|
|
@ -1,25 +0,0 @@
|
||||||
package cn.iocoder.yudao.module.system.convert.mail;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.SystemMailAccountBaseVO;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelRespVO;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelSimpleRespVO;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailAccountDO;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Mapper
|
|
||||||
public interface SystemMailAccountConvert {
|
|
||||||
SystemMailAccountConvert INSTANCE = Mappers.getMapper(SystemMailAccountConvert.class);
|
|
||||||
|
|
||||||
SystemMailAccountDO convert (SystemMailAccountBaseVO systemMailAccountBaseVO);
|
|
||||||
|
|
||||||
SystemMailAccountBaseVO convert (SystemMailAccountDO systemMailAccountDO);
|
|
||||||
|
|
||||||
PageResult<SystemMailAccountBaseVO> convertPage(PageResult<SystemMailAccountDO> pageResult);
|
|
||||||
|
|
||||||
List<SystemMailAccountBaseVO> convertList02(List<SystemMailAccountDO> list);
|
|
||||||
}
|
|
|
@ -1,54 +1,46 @@
|
||||||
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.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
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.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
@Data
|
||||||
* <p>
|
@EqualsAndHashCode(callSuper = true)
|
||||||
*
|
@Accessors(chain = true)
|
||||||
* </p>
|
@ApiModel(value="MailAccount对象", description="")
|
||||||
*
|
@TableName(value = "system_mail_account", autoResultMap = true)
|
||||||
* @author wangjingyi
|
public class MailAccountDO extends BaseDO implements Serializable {
|
||||||
* @since 2022-03-21
|
|
||||||
*/
|
private static final long serialVersionUID = 1L;
|
||||||
@Data
|
@TableId
|
||||||
@EqualsAndHashCode(callSuper = false)
|
private Long id;
|
||||||
@Accessors(chain = true)
|
|
||||||
@ApiModel(value="SystemMailAccount对象", description="")
|
@TableField("from")
|
||||||
@TableName(value = "system_mail_account", autoResultMap = true)
|
private String from;
|
||||||
public class SystemMailAccountDO extends BaseDO implements Serializable {
|
|
||||||
|
@TableField("username")
|
||||||
private static final long serialVersionUID = 1L;
|
private String username;
|
||||||
@TableId
|
|
||||||
private Long id;
|
@TableField("password")
|
||||||
|
private String password;
|
||||||
@TableField("from")
|
|
||||||
private String from;
|
@TableField("host")
|
||||||
|
private String host;
|
||||||
@TableField("username")
|
|
||||||
private String username;
|
@TableField("port")
|
||||||
|
private String port;
|
||||||
@TableField("password")
|
|
||||||
private String password;
|
@TableField("sslEnable")
|
||||||
|
private Boolean sslEnable;
|
||||||
@TableField("host")
|
|
||||||
private String host;
|
|
||||||
|
}
|
||||||
@TableField("port")
|
|
||||||
private String port;
|
|
||||||
|
|
||||||
@TableField("sslEnable")
|
|
||||||
private Integer sslEnable;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,61 +1,61 @@
|
||||||
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.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel(value="SystemMailLog对象", description="")
|
@ApiModel(value="SystemMailLog对象", description="")
|
||||||
public class SystemMailLogDO extends BaseDO implements Serializable {
|
public class MailLogDO extends BaseDO implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@TableId
|
@TableId
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@TableField("account_code")
|
@TableField("account_code")
|
||||||
private String accountCode;
|
private String accountCode;
|
||||||
|
|
||||||
@TableField("from")
|
@TableField("from")
|
||||||
private String from;
|
private String from;
|
||||||
|
|
||||||
@TableField("temple_code")
|
@TableField("temple_code")
|
||||||
private String templeCode;
|
private String templeCode;
|
||||||
|
|
||||||
@TableField("title")
|
@TableField("title")
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@TableField("content")
|
@TableField("content")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
@TableField("to")
|
@TableField("to")
|
||||||
private String to;
|
private String to;
|
||||||
|
|
||||||
@TableField("sendTime")
|
@TableField("sendTime")
|
||||||
private Timestamp sendTime;
|
private Timestamp sendTime;
|
||||||
|
|
||||||
@TableField("sendStatus")
|
@TableField("sendStatus")
|
||||||
private String sendStatus;
|
private String sendStatus;
|
||||||
|
|
||||||
@TableField("sendResult")
|
@TableField("sendResult")
|
||||||
private String sendResult;
|
private String sendResult;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,54 +1,54 @@
|
||||||
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.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
*
|
* 邮箱账号
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel(value="SystemMailTemple对象", description="")
|
@ApiModel(value="SystemMailTemple对象", description="")
|
||||||
public class SystemMailTempleDO extends BaseDO implements Serializable {
|
public class MailTempleDO extends BaseDO implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@TableId
|
@TableId
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@TableField("name")
|
@TableField("name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@TableField("code")
|
@TableField("code")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
@TableField("username")
|
@TableField("username")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@TableField("title")
|
@TableField("title")
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@TableField("content")
|
@TableField("content")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
@TableField("status")
|
@TableField("status")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
@TableField("remark")
|
@TableField("remark")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package cn.iocoder.yudao.module.system.dal.mysql.mail;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface MailAccountMapper extends BaseMapperX<MailAccountDO> {
|
||||||
|
|
||||||
|
default PageResult<MailAccountDO> selectPage(MailAccountPageReqVO pageReqVO) {
|
||||||
|
return selectPage(pageReqVO, new QueryWrapperX<MailAccountDO>()
|
||||||
|
.likeIfPresent("form" , pageReqVO.getFrom())
|
||||||
|
.likeIfPresent("host" , pageReqVO.getHost())
|
||||||
|
.likeIfPresent("username" , pageReqVO.getUsername())
|
||||||
|
.eqIfPresent("password" , pageReqVO.getPassword())
|
||||||
|
.eqIfPresent("port" , pageReqVO.getPort())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,16 +1,16 @@
|
||||||
package cn.iocoder.yudao.module.system.dal.mysql.mail;
|
package cn.iocoder.yudao.module.system.dal.mysql.mail;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailLogDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailLogDO;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Mapper 接口
|
* Mapper 接口
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
public interface SystemMailLogMapper extends BaseMapper<SystemMailLogDO> {
|
public interface MailLogMapper extends BaseMapper<MailLogDO> {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,16 +1,16 @@
|
||||||
package cn.iocoder.yudao.module.system.dal.mysql.mail;
|
package cn.iocoder.yudao.module.system.dal.mysql.mail;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailTempleDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailTempleDO;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Mapper 接口
|
* Mapper 接口
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
public interface SystemMailTempleMapper extends BaseMapper<SystemMailTempleDO> {
|
public interface MailTempleMapper extends BaseMapper<MailTempleDO> {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,26 +0,0 @@
|
||||||
package cn.iocoder.yudao.module.system.dal.mysql.mail;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailAccountDO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
|
|
||||||
// TODO @ジョイイ: Mapper 一般不用注释,因为用途不大
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* Mapper 接口
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author wangjingyi
|
|
||||||
* @since 2022-03-21
|
|
||||||
*/
|
|
||||||
@Mapper
|
|
||||||
public interface SystemMailAccountMapper extends BaseMapperX<SystemMailAccountDO> {
|
|
||||||
|
|
||||||
default PageResult<SystemMailAccountDO> selectPage(PageParam pageParam) {
|
|
||||||
return selectPage(pageParam, new QueryWrapperX<SystemMailAccountDO>());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
package cn.iocoder.yudao.module.system.service.mail;
|
||||||
|
|
||||||
|
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.MailAccountPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO;
|
||||||
|
import cn.iocoder.yudao.module.system.dal.dataobject.mail.MailAccountDO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮箱账号 Service 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wangjingyi
|
||||||
|
* @since 2022-03-21
|
||||||
|
*/
|
||||||
|
public interface MailAccountService {
|
||||||
|
|
||||||
|
Long create(MailAccountCreateReqVO createReqVO);
|
||||||
|
|
||||||
|
void update(MailAccountUpdateReqVO updateReqVO);
|
||||||
|
|
||||||
|
void delete(Long id);
|
||||||
|
|
||||||
|
MailAccountDO getMailAccount(Long id);
|
||||||
|
|
||||||
|
PageResult<MailAccountDO> getMailAccountPage(MailAccountPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<MailAccountDO> getMailAccountList();
|
||||||
|
}
|
|
@ -1,14 +1,14 @@
|
||||||
package cn.iocoder.yudao.module.system.service.mail;
|
package cn.iocoder.yudao.module.system.service.mail;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务类
|
* 服务类
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
public interface SystemMailLogService {
|
public interface MailLogService {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,13 +1,13 @@
|
||||||
package cn.iocoder.yudao.module.system.service.mail;
|
package cn.iocoder.yudao.module.system.service.mail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务类
|
* 服务类
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
public interface SystemMailTempleService {
|
public interface MailTempleService {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,33 +0,0 @@
|
||||||
package cn.iocoder.yudao.module.system.service.mail;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.SystemMailAccountBaseVO;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailAccountDO;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
// TODO @ジョイイ:类注释,应该是 邮箱账号 Service 接口
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author wangjingyi
|
|
||||||
* @since 2022-03-21
|
|
||||||
*/
|
|
||||||
public interface SystemMailAccountService {
|
|
||||||
|
|
||||||
Long create(SystemMailAccountBaseVO baseVO);
|
|
||||||
|
|
||||||
String update(SystemMailAccountBaseVO baseVO);
|
|
||||||
|
|
||||||
String delete(SystemMailAccountBaseVO baseVO);
|
|
||||||
|
|
||||||
SystemMailAccountDO getMailAccount(Long id);
|
|
||||||
|
|
||||||
PageResult<SystemMailAccountDO> getMailAccountPage(PageParam pageParam);
|
|
||||||
|
|
||||||
List<SystemMailAccountDO> getMailAccountList();
|
|
||||||
}
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
package cn.iocoder.yudao.module.system.service.mail.impl;
|
||||||
|
|
||||||
|
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.MailAccountPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.MailAccountUpdateReqVO;
|
||||||
|
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.mysql.mail.MailAccountMapper;
|
||||||
|
import cn.iocoder.yudao.module.system.service.mail.MailAccountService;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
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_NOT_EXISTS;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮箱账号 Service 实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wangjingyi
|
||||||
|
* @since 2022-03-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MailAccountServiceImpl implements MailAccountService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MailAccountMapper mailAccountMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long create(MailAccountCreateReqVO createReqVO) {
|
||||||
|
// username 要校验唯一
|
||||||
|
Map<String , String> map = new HashMap<>();
|
||||||
|
map.put("username" , createReqVO.getUsername());
|
||||||
|
this.validateMailAccountOnly(map);
|
||||||
|
MailAccountDO mailAccountDO = MailAccountConvert.INSTANCE.convert(createReqVO);
|
||||||
|
mailAccountMapper.insert(mailAccountDO);
|
||||||
|
return mailAccountDO.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(MailAccountUpdateReqVO updateReqVO) {
|
||||||
|
// username 要校验唯一
|
||||||
|
Map<String , String> map = new HashMap<>();
|
||||||
|
map.put("username" , updateReqVO.getUsername());
|
||||||
|
this.validateMailAccountOnly(map);
|
||||||
|
MailAccountDO mailAccountDO = MailAccountConvert.INSTANCE.convert(updateReqVO);
|
||||||
|
// 校验是否存在
|
||||||
|
this.validateMailAccountExists(mailAccountDO.getId());
|
||||||
|
mailAccountMapper.updateById(mailAccountDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete(Long id) {
|
||||||
|
// 校验是否存在
|
||||||
|
this.validateMailAccountExists(id);
|
||||||
|
mailAccountMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MailAccountDO getMailAccount(Long id) {
|
||||||
|
return mailAccountMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<MailAccountDO> getMailAccountPage(MailAccountPageReqVO pageReqVO) {
|
||||||
|
return mailAccountMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MailAccountDO> getMailAccountList() {
|
||||||
|
return mailAccountMapper.selectList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateMailAccountExists(Long id) {
|
||||||
|
if (mailAccountMapper.selectById(id) == null) {
|
||||||
|
throw exception(MAIL_ACCOUNT_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateMailAccountOnly(Map params){
|
||||||
|
QueryWrapper queryWrapper = new QueryWrapper<MailAccountDO>();
|
||||||
|
params.forEach((k , v)->{
|
||||||
|
queryWrapper.like(k , v);
|
||||||
|
});
|
||||||
|
if (mailAccountMapper.selectOne(queryWrapper) != null) {
|
||||||
|
throw exception(MAIL_ACCOUNT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,18 +1,18 @@
|
||||||
package cn.iocoder.yudao.module.system.service.mail.impl;
|
package cn.iocoder.yudao.module.system.service.mail.impl;
|
||||||
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.system.service.mail.SystemMailLogService;
|
import cn.iocoder.yudao.module.system.service.mail.MailLogService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SystemMailLogServiceImpl implements SystemMailLogService {
|
public class MailLogServiceImpl implements MailLogService {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,18 +1,18 @@
|
||||||
package cn.iocoder.yudao.module.system.service.mail.impl;
|
package cn.iocoder.yudao.module.system.service.mail.impl;
|
||||||
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.system.service.mail.SystemMailTempleService;
|
import cn.iocoder.yudao.module.system.service.mail.MailTempleService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 服务实现类
|
* 服务实现类
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author wangjingyi
|
* @author wangjingyi
|
||||||
* @since 2022-03-21
|
* @since 2022-03-21
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SystemMailTempleServiceImpl implements SystemMailTempleService {
|
public class MailTempleServiceImpl implements MailTempleService {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,73 +0,0 @@
|
||||||
package cn.iocoder.yudao.module.system.service.mail.impl;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.mail.vo.account.SystemMailAccountBaseVO;
|
|
||||||
import cn.iocoder.yudao.module.system.convert.mail.SystemMailAccountConvert;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.mail.SystemMailAccountDO;
|
|
||||||
import cn.iocoder.yudao.module.system.dal.mysql.mail.SystemMailAccountMapper;
|
|
||||||
import cn.iocoder.yudao.module.system.service.mail.SystemMailAccountService;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
// TODO @ジョイイ:类注释,应该是 邮箱账号 Service 实现类
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* 服务实现类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author wangjingyi
|
|
||||||
* @since 2022-03-21
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class SystemMailAccountServiceImpl implements SystemMailAccountService {
|
|
||||||
// TODO @ジョイイ: private
|
|
||||||
@Resource
|
|
||||||
SystemMailAccountMapper systemMailAccountMapper; // TODO @ジョイイ: 变量,和方法要空一行
|
|
||||||
@Override
|
|
||||||
public Long create(SystemMailAccountBaseVO baseVO) {
|
|
||||||
// TODO @ジョイイ: username 要校验唯一
|
|
||||||
SystemMailAccountDO systemMailAccountDO = SystemMailAccountConvert.INSTANCE.convert(baseVO);
|
|
||||||
systemMailAccountMapper.insert(systemMailAccountDO);
|
|
||||||
return systemMailAccountDO.getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO @ジョイイ: 不用返回值,void 即可
|
|
||||||
@Override
|
|
||||||
public String update(SystemMailAccountBaseVO baseVO) {
|
|
||||||
// TODO @ジョイイ: username 要校验唯一
|
|
||||||
// TODO @ジョイイ: 校验是否存在
|
|
||||||
SystemMailAccountDO systemMailAccountDO = SystemMailAccountConvert.INSTANCE.convert(baseVO);
|
|
||||||
systemMailAccountMapper.updateById(systemMailAccountDO);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO @ジョイイ: 不用返回值,void 即可
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String delete(SystemMailAccountBaseVO baseVO) {
|
|
||||||
// TODO @ジョイイ: 校验是否存在
|
|
||||||
SystemMailAccountDO systemMailAccountDO = SystemMailAccountConvert.INSTANCE.convert(baseVO);
|
|
||||||
systemMailAccountMapper.deleteById(systemMailAccountDO);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SystemMailAccountDO getMailAccount(Long id) {
|
|
||||||
return systemMailAccountMapper.selectById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<SystemMailAccountDO> getMailAccountPage(PageParam pageParam) {
|
|
||||||
return systemMailAccountMapper.selectPage(pageParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<SystemMailAccountDO> getMailAccountList() {
|
|
||||||
return systemMailAccountMapper.selectList();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue