沙钢智慧能源系统后端代码
houzhongjian
2024-10-09 97edd72e5e6dbb134cedae4b72c95be8c948c5ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.iailab.module.shasteel.framework.sms.core.client;
 
import com.iailab.framework.common.core.KeyValue;
import com.iailab.module.shasteel.framework.sms.core.client.dto.SmsReceiveRespDTO;
import com.iailab.module.shasteel.framework.sms.core.client.dto.SmsSendRespDTO;
import com.iailab.module.shasteel.framework.sms.core.client.dto.SmsTemplateRespDTO;
 
import java.util.List;
 
/**
 * 短信客户端,用于对接各短信平台的 SDK,实现短信发送等功能
 *
 * @author zzf
 * @since 2021/1/25 14:14
 */
public interface SmsClient {
 
    /**
     * 获得渠道编号
     *
     * @return 渠道编号
     */
    Long getId();
 
    /**
     * 发送消息
     *
     * @param logId 日志编号
     * @param mobile 手机号
     * @param apiTemplateId 短信 API 的模板编号
     * @param templateParams 短信模板参数。通过 List 数组,保证参数的顺序
     * @return 短信发送结果
     */
    SmsSendRespDTO sendSms(Long logId, String mobile, String apiTemplateId,
                           List<KeyValue<String, Object>> templateParams) throws Throwable;
 
    /**
     * 解析接收短信的接收结果
     *
     * @param text 结果
     * @return 结果内容
     * @throws Throwable 当解析 text 发生异常时,则会抛出异常
     */
    List<SmsReceiveRespDTO> parseSmsReceiveStatus(String text) throws Throwable;
 
    /**
     * 查询指定的短信模板
     *
     * @param apiTemplateId 短信 API 的模板编号
     * @return 短信模板
     */
    SmsTemplateRespDTO getSmsTemplate(String apiTemplateId) throws Throwable;
 
}