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);
|
}
|
}
|