Commit 082c209c87feb9e193fa3811e7d1757b1428717b

Authored by YunaiV
1 parent 017d6e5e

code review 邮件账号的模块

yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailAccountController.java
@@ -30,7 +30,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -30,7 +30,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
30 @RequestMapping("/system/mail-account") 30 @RequestMapping("/system/mail-account")
31 public class MailAccountController { 31 public class MailAccountController {
32 @Resource 32 @Resource
33 - private MailAccountService mailAccountService; 33 + private MailAccountService mailAccountService; // TODO @wangjingyi:属性和类名,中间要空一行
34 34
35 @PostMapping("/create") 35 @PostMapping("/create")
36 @ApiOperation("创建邮箱账号") 36 @ApiOperation("创建邮箱账号")
@@ -50,7 +50,7 @@ public class MailAccountController { @@ -50,7 +50,7 @@ public class MailAccountController {
50 50
51 @DeleteMapping("/delete") 51 @DeleteMapping("/delete")
52 @ApiOperation("删除邮箱账号") 52 @ApiOperation("删除邮箱账号")
53 - @PreAuthorize("@ss.hasPermission('system:mail-account:delete')") 53 + @PreAuthorize("@ss.hasPermission('system:mail-account:delete')") // TODO @wangjingyi:id 应该是 @RequestParam。另外,id 的 swagger 注解,要写下
54 public CommonResult<Boolean> deleteMailAccount(@Valid @RequestBody Long id) { 54 public CommonResult<Boolean> deleteMailAccount(@Valid @RequestBody Long id) {
55 mailAccountService.delete(id); 55 mailAccountService.delete(id);
56 return success(true); 56 return success(true);
@@ -63,7 +63,7 @@ public class MailAccountController { @@ -63,7 +63,7 @@ public class MailAccountController {
63 public CommonResult<MailAccountBaseVO> getMailAccount(@RequestParam("id") Long id) { 63 public CommonResult<MailAccountBaseVO> getMailAccount(@RequestParam("id") Long id) {
64 MailAccountDO mailAccountDO = mailAccountService.getMailAccount(id); 64 MailAccountDO mailAccountDO = mailAccountService.getMailAccount(id);
65 return success(MailAccountConvert.INSTANCE.convert(mailAccountDO)); 65 return success(MailAccountConvert.INSTANCE.convert(mailAccountDO));
66 - } 66 + } // TODO wangjingyi:方法与方法之间,只空一行
67 67
68 68
69 @GetMapping("/page") 69 @GetMapping("/page")
@@ -82,7 +82,7 @@ public class MailAccountController { @@ -82,7 +82,7 @@ public class MailAccountController {
82 list.sort(Comparator.comparing(MailAccountDO::getId)); 82 list.sort(Comparator.comparing(MailAccountDO::getId));
83 return success(MailAccountConvert.INSTANCE.convertList02(list)); 83 return success(MailAccountConvert.INSTANCE.convertList02(list));
84 } 84 }
85 - @PostMapping("/send") 85 + @PostMapping("/send") // TODO wangjingyi:方法与方法之间,空一行
86 @ApiOperation("发送邮件") 86 @ApiOperation("发送邮件")
87 @PreAuthorize("@ss.hasPermission('system:mail-account:send')") 87 @PreAuthorize("@ss.hasPermission('system:mail-account:send')")
88 public CommonResult<Boolean> sendMail(MailSendVO mailSendVO){ 88 public CommonResult<Boolean> sendMail(MailSendVO mailSendVO){
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountCreateReqVO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.mail.vo.account; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.mail.vo.account;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
5 -@Data  
6 -public class MailAccountCreateReqVO extends MailAccountBaseVO{ 5 +@Data // TODO @wangjingyi:swagger 注解
  6 +public class MailAccountCreateReqVO extends MailAccountBaseVO{ // TODO @wangjingyi:要空格再 {
7 7
8 } 8 }
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountUpdateReqVO.java
@@ -5,4 +5,6 @@ import lombok.Data; @@ -5,4 +5,6 @@ import lombok.Data;
5 @Data 5 @Data
6 public class MailAccountUpdateReqVO extends MailAccountBaseVO{ 6 public class MailAccountUpdateReqVO extends MailAccountBaseVO{
7 7
  8 + // TODO @wangjingyi:更新的话,是不是要有个 id???
  9 +
8 } 10 }
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/send/MailSendVO.java
@@ -5,7 +5,7 @@ import lombok.Data; @@ -5,7 +5,7 @@ import lombok.Data;
5 5
6 import java.util.List; 6 import java.util.List;
7 @Data 7 @Data
8 -public class MailSendVO { 8 +public class MailSendVO { // TODO @wangjingyi:1)参数校验;2)ReqVO
9 9
10 @ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com") 10 @ApiModelProperty(value = "邮箱" , required = true , example = "yudaoyuanma@123.com")
11 private String from; 11 private String from;
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailAccountService.java
@@ -13,12 +13,12 @@ import java.util.List; @@ -13,12 +13,12 @@ import java.util.List;
13 /** 13 /**
14 * <p> 14 * <p>
15 * 邮箱账号 Service 接口 15 * 邮箱账号 Service 接口
16 - * </p> 16 + * </p> // TODO wangjingyi:不用 <p></p> 标签;
17 * 17 *
18 * @author wangjingyi 18 * @author wangjingyi
19 * @since 2022-03-21 19 * @since 2022-03-21
20 */ 20 */
21 -public interface MailAccountService { 21 +public interface MailAccountService { // TODO wangjingyi:方法的注释
22 22
23 Long create(MailAccountCreateReqVO createReqVO); 23 Long create(MailAccountCreateReqVO createReqVO);
24 24
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/mail/impl/MailAccountServiceImpl.java
@@ -62,7 +62,7 @@ public class MailAccountServiceImpl implements MailAccountService { @@ -62,7 +62,7 @@ public class MailAccountServiceImpl implements MailAccountService {
62 this.validateMailAccountOnly(map); 62 this.validateMailAccountOnly(map);
63 MailAccountDO mailAccountDO = MailAccountConvert.INSTANCE.convert(updateReqVO); 63 MailAccountDO mailAccountDO = MailAccountConvert.INSTANCE.convert(updateReqVO);
64 // 校验是否存在 64 // 校验是否存在
65 - this.validateMailAccountExists(mailAccountDO.getId()); 65 + this.validateMailAccountExists(mailAccountDO.getId()); // TODO wangjingyi:没有传递 id 噢
66 mailAccountMapper.updateById(mailAccountDO); 66 mailAccountMapper.updateById(mailAccountDO);
67 } 67 }
68 68
@@ -92,6 +92,7 @@ public class MailAccountServiceImpl implements MailAccountService { @@ -92,6 +92,7 @@ public class MailAccountServiceImpl implements MailAccountService {
92 @Override 92 @Override
93 public void sendMail(MailSendVO mailSendVO) { 93 public void sendMail(MailSendVO mailSendVO) {
94 // FIXME 查询模版信息 查询模版多条时 使用规则是什么 94 // FIXME 查询模版信息 查询模版多条时 使用规则是什么
  95 + // 回复:选择某一条模板,进行发送邮件。
95 List<MailTemplateDO> mailTemplateDOList = mailTemplateMapper.selectList( 96 List<MailTemplateDO> mailTemplateDOList = mailTemplateMapper.selectList(
96 "username",mailSendVO.getFrom() 97 "username",mailSendVO.getFrom()
97 ); 98 );
@@ -100,6 +101,7 @@ public class MailAccountServiceImpl implements MailAccountService { @@ -100,6 +101,7 @@ public class MailAccountServiceImpl implements MailAccountService {
100 "from",mailSendVO.getFrom() 101 "from",mailSendVO.getFrom()
101 ); 102 );
102 // FIXME 模版和邮件内容合成方式未知 103 // FIXME 模版和邮件内容合成方式未知
  104 + // 回复:参考短信的方式,通过 {name} {mobile} 这样的占位符。搜 formatSmsTemplateContent 方法
103 String content = mailSendVO.getContent(); 105 String content = mailSendVO.getContent();
104 String templateContent = ""; 106 String templateContent = "";
105 // 后续功能 TODO :附件查询 107 // 后续功能 TODO :附件查询
@@ -119,9 +121,10 @@ public class MailAccountServiceImpl implements MailAccountService { @@ -119,9 +121,10 @@ public class MailAccountServiceImpl implements MailAccountService {
119 } 121 }
120 122
121 private void validateMailAccountOnly(Map params){ 123 private void validateMailAccountOnly(Map params){
  124 + // TODO wangjingyi:Service 里,不允许出现 MyBatis 操作。而是 Mapper 提供对应查询方法
122 QueryWrapper queryWrapper = new QueryWrapper<MailAccountDO>(); 125 QueryWrapper queryWrapper = new QueryWrapper<MailAccountDO>();
123 params.forEach((k , v)->{ 126 params.forEach((k , v)->{
124 - queryWrapper.like(k , v); 127 + queryWrapper.like(k , v); // TODO wangjingyi:账号,应该是 equlas,不能是 like
125 }); 128 });
126 if (mailAccountMapper.selectOne(queryWrapper) != null) { 129 if (mailAccountMapper.selectOne(queryWrapper) != null) {
127 throw exception(MAIL_ACCOUNT_EXISTS); 130 throw exception(MAIL_ACCOUNT_EXISTS);