mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
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
package com.panzhihua.common.model.dtos.wx;
 
import java.util.List;
 
import com.panzhihua.common.utlis.StringUtils;
 
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
 
@ApiModel("微信订阅消息请求参数")
@Data
public class WxSubscribeDTO {
 
    @ApiModelProperty("用户在小程序的openid")
    private String touser;
 
    @ApiModelProperty("所需下发的订阅模板id")
    private String template_id;
 
    @ApiModelProperty("点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。")
    private String page;
 
    @ApiModelProperty("模板内容,格式形如 { \"key1\": { \"value\": any }, \"key2\": { \"value\": any } }")
    private Object data;
 
    @ApiModelProperty("跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版")
    private String miniprogram_state;
 
    @ApiModelProperty("进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN")
    private String lang;
 
    private List<TemplateParam> templateParamList;
 
    public String toJSON() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("{");
        buffer.append(String.format("\"touser\":\"%s\"", this.touser)).append(",");
        buffer.append(String.format("\"template_id\":\"%s\"", this.template_id)).append(",");
        if (StringUtils.isNotEmpty(this.page)) {
            buffer.append(String.format("\"page\":\"%s\"", this.page)).append(",");
        }
        if (StringUtils.isNotEmpty(this.miniprogram_state)) {
            buffer.append(String.format("\"miniprogram_state\":\"%s\"", this.miniprogram_state)).append(",");
        }
        buffer.append("\"data\":{");
        TemplateParam param = null;
        for (int i = 0; i < this.templateParamList.size(); i++) {
            param = templateParamList.get(i);
            // 判断是否追加逗号
            if (i < this.templateParamList.size() - 1) {
                buffer.append(String.format("\"%s\": {\"value\":\"%s\"},", param.getKey(), param.getValue()));
            } else {
                buffer.append(String.format("\"%s\": {\"value\":\"%s\"}", param.getKey(), param.getValue()));
            }
        }
        buffer.append("}");
        buffer.append("}");
        return buffer.toString();
    }
}