houzhongjian
2024-10-16 7da8f196dee8e3c526c009a4bc7f5983ece6bb97
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.mail;
H 2
3 import com.iailab.module.system.mq.message.mail.MailSendMessage;
4
5 import java.util.Map;
6
7 /**
8  * 邮件发送 Service 接口
9  *
10  * @author wangjingyi
11  * @since 2022-03-21
12  */
13 public interface MailSendService {
14
15     /**
16      * 发送单条邮件给管理后台的用户
17      *
18      * @param mail 邮箱
19      * @param userId 用户编码
20      * @param templateCode 邮件模版编码
21      * @param templateParams 邮件模版参数
22      * @return 发送日志编号
23      */
24     Long sendSingleMailToAdmin(String mail, Long userId,
25                                String templateCode, Map<String, Object> templateParams);
26
27     /**
28      * 发送单条邮件给用户 APP 的用户
29      *
30      * @param mail 邮箱
31      * @param userId 用户编码
32      * @param templateCode 邮件模版编码
33      * @param templateParams 邮件模版参数
34      * @return 发送日志编号
35      */
36     Long sendSingleMailToMember(String mail, Long userId,
37                                 String templateCode, Map<String, Object> templateParams);
38
39     /**
40      * 发送单条邮件给用户
41      *
42      * @param mail 邮箱
43      * @param userId 用户编码
44      * @param userType 用户类型
45      * @param templateCode 邮件模版编码
46      * @param templateParams 邮件模版参数
47      * @return 发送日志编号
48      */
49     Long sendSingleMail(String mail, Long userId, Integer userType,
50                         String templateCode, Map<String, Object> templateParams);
51
52     /**
53      * 执行真正的邮件发送
54      * 注意,该方法仅仅提供给 MQ Consumer 使用
55      *
56      * @param message 邮件
57      */
58     void doSendMail(MailSendMessage message);
59
60 }