liusheng
9 天以前 f0a09ee996ab2605869844d6a3d812709e2bf0fa
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.ruoyi.message.sms;
 
import lombok.Data;
 
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map;
 
/**
 * 短信发送请求(与具体发送方无关的统一入参)。
 * <p>
 * 各发送方需要的差异参数(丽水的机构配置、市一的院区、新华的模板等)通过
 * {@link #extras} 透传,避免为了少数站点污染公共接口。
 */
@Data
public class SmsSendRequest implements Serializable {
 
    private static final long serialVersionUID = 1L;
 
    /**
     * 手机号(多个用英文逗号分隔,如 13500000001,13500000002)
     */
    private String phone;
 
    /**
     * 短信内容(调用方已拼接好签名/模板变量)
     */
    private String content;
 
    /**
     * 机构ID,部分发送方(丽水)按机构查配置
     */
    private String orgid;
 
    /**
     * 院区标识,市一区分湖滨/吴山两套签名:
     * 1=湖滨(【杭州市第一人民医院】),其他/空=吴山(【杭州市肿瘤医院】)
     */
    private String campus;
 
    /**
     * 短信模板编码(阿里云等模板化发送方使用)
     */
    private String templateCode;
 
    /**
     * 模板参数 JSON(阿里云等模板化发送方使用)
     */
    private String templateParam;
 
    /**
     * 扩展参数
     */
    private Map<String, Object> extras;
 
    public static SmsSendRequest of(String phone, String content) {
        SmsSendRequest request = new SmsSendRequest();
        request.setPhone(phone);
        request.setContent(content);
        return request;
    }
 
    public static SmsSendRequest of(String phone, String content, String orgid) {
        SmsSendRequest request = of(phone, content);
        request.setOrgid(orgid);
        return request;
    }
 
    /**
     * 追加一个扩展参数
     */
    public SmsSendRequest putExtra(String key, Object value) {
        if (this.extras == null) {
            this.extras = new LinkedHashMap<>();
        }
        this.extras.put(key, value);
        return this;
    }
 
    /**
     * 读取扩展参数
     */
    public Object getExtra(String key) {
        return this.extras == null ? null : this.extras.get(key);
    }
}