liusheng
9 天以前 a1e256f64930865ae2d170e333ee3f1a773c6c49
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
87
88
89
90
91
92
93
94
95
96
97
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);
    }
}