te_id", "templateId");// 模板 id
params.put("touser", "openId"); // open id
params.put("data", mapData); // 数据
params.put("page", "page"); // 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转
params.put("miniprogram_state", "trial"); //developer为开发版;trial为体验版;formal为正式版;默认为正式版
params.put("lang", "zh_CN"); //
HttpPost httpPost = new HttpPost("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + token);
httpPost.addHeader("ContentTyp", "application/json");
// 参数转 JSON 格式
String json = objToStr(params);
StringEntity stringEntity = new StringEntity(json, CharSetType.UTF8.getType());
stringEntity.setContentEncoding(CharSetType.UTF8.getType());
httpPost.setEntity(stringEntity);
CloseableHttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity(); // 响应结果
return EntityUtils.toString(entity, CharSetType.UTF8.getType());
}
/**
* description: 对象转 字符串
* create by: Mr.Fang
*
* @param: [obj]
* @return: java.lang.String
* @date: 2023/4/3 17:45
*/
public static String objToStr(Object obj) {
ObjectMapper objectMapper = new ObjectMapper();
if (Objects.nonNull(obj)) {
try {
String jsonStr = objectMapper.writeva lueAsString(obj);
return jsonStr;
} catch (JsonProcessingException var2) {
var2.printStackTrace();
}
}
return null;
}
/**
* description: map 转 URL 地址拼接
* create by: Mr.Fang
*
* @param: [url, params]
* @return: java.lang.String
* @date: 2023/4/3 17:45
*/
public String handleParams(String url, Map<String, Object> params) {
if (params.size() != 0) {
Set<Map.Entry<String, Object>> entries = params.entrySet();
String paramsString = entries.stream().map((e) -> {
try {
StringBuilder sb = new StringBuilder();
sb.append(URLEncoder.encode(e.getKey(), CharSetType.UTF8.getType()));
sb.append("=");
if (Objects.nonNull(e.getValue())) {
sb.append(URLEncoder.encode(e.getValue().toString(), CharSetType.UTF8.getType()));
}
return sb.toString();
} catch (UnsupportedEncodingException var2) {
var2.printStackTrace();
return null;
}
}).collect(Collectors.joining("&"));
return url + "?" + paramsString;
}
return url;
}
}
|