调用推送的方法: public static void sendTemplateMessage(WechatTemplate wechatTemplate) { UserVO userVO = userService.selectByPrimaryKey(需要接受推送的用户ID); String wechatOpenid = ""; if(userVO.getSubscribedOpenid != null){ wechatOpenid = userVO.getSubscribedOpenid; }else{ wechatOpenid = userVO.getWechatOpenid(); } wechatTemplate.setTouser(wechatOpenid); wechatTemplate.setTemplate_id(你申请通过了的模版ID); wechatTemplate.setData(你要往模版占位符放的数据); wechatTemplate.setUrl(跳转链接); //获取access_token String accessToken = HttpClientUtils.getStaticString(DOMAIN_URL_TOKEN + "/wechat/getAccessToken.html"); logger.info("!!!!accessToken:" + accessToken); JSONObject rstJson = JSONObject.fromObject(accessToken); if (rstJson != null) { accessToken = rstJson.getString("respResult"); } //模板 String jsonString = JSONObject.fromObject(wechatTemplate).toString(); String requestUrl = SEND_TEMPLAYE_MESSAGE_URL.replace("ACCESS_TOKEN", accessToken); logger.info("!!!requestUrl:" + requestUrl); JSONObject jsonObject = httpRequest(requestUrl, "POST", jsonString); System.out.println("@!@!@!" + jsonObject); if (null != jsonObject) { int errorCode = jsonObject.getInt("errcode"); System.out.println("@!@!@###!" + wechatTemplate.getTemplate_id()); if (0 == errorCode) { logger.info("模板消息发送成功"); } else { String errorMsg = jsonObject.getString("errmsg"); logger.error("模板消息发送失败,错误是: " + errorCode + ",错误信息:" + errorMsg); } } }
模版对象:
public class WechatTemplate { private String touser; private String template_id; private String url; private Map<String, TemplateData> data; public String getTouser() { return touser; } public void setTouser(String touser) { this.touser = touser; } public String getTemplate_id() { return template_id; } public void setTemplate_id(String template_id) { this.template_id = template_id; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public Map<String, TemplateData> getData() { return data; } public void setData(Map<String, TemplateData> data) { this.data = data; } }