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