package com.ruoyi.message.wechat;
|
|
import lombok.Data;
|
|
import java.io.Serializable;
|
import java.util.LinkedHashMap;
|
import java.util.Map;
|
|
/**
|
* 微信公众号发送请求(与具体发送方无关的统一入参)。
|
* <p>
|
* 各医院公众号的入参差异很大(市一只要 手机号+身份证+链接,新华要 患者ID+姓名+appid+签名),
|
* 差异字段通过 {@link #extras} 透传。
|
*/
|
@Data
|
public class WechatSendRequest implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
/**
|
* 手机号
|
*/
|
private String phone;
|
|
/**
|
* 身份证号(市一、新华都要)
|
*/
|
private String idCard;
|
|
/**
|
* 外链地址(点击消息后跳转)
|
*/
|
private String url;
|
|
/**
|
* 标题 / 任务名称
|
*/
|
private String title;
|
|
/**
|
* 内容 / 任务描述
|
*/
|
private String content;
|
|
/**
|
* 机构ID
|
*/
|
private String orgid;
|
|
/**
|
* HIS 侧患者ID(新华要求非空)
|
*/
|
private String patidHis;
|
|
/**
|
* 患者姓名
|
*/
|
private String patientName;
|
|
/**
|
* openid(微信公众号 SDK 通道使用)
|
*/
|
private String openid;
|
|
/**
|
* 模板ID(微信公众号 SDK 模板消息通道使用)
|
*/
|
private String templateId;
|
|
/**
|
* 是否关闭 Gson 的 HTML 转义(新华公众号站点间存在差异,见 {@code XinHuaMpApi.sendMessage})
|
*/
|
private boolean disableHtmlEscaping;
|
|
/**
|
* 扩展参数
|
*/
|
private Map<String, Object> extras;
|
|
/**
|
* 追加一个扩展参数
|
*/
|
public WechatSendRequest 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);
|
}
|
}
|