java微信公众号推送消息推送消息_Java 推送微信公众号消息

1 新建消息请求类 WeChatTemplateRequest

@Data

public class WeChatTemplateRequest {

private String touser;

private String template_id;

private Map data;

private String url;

private String topcolor;

}

2 模板消息熟系类 WeChatTemplateData

public class WeChatTemplateData {

private String value;

private String color;

}

3 实现调用

private CommonRes sendWeChatByOpenid(String openId, String title, String content, String url) {

CommonRes res = new CommonRes(-1, "失败"); // 自己去写一个公共返回类,可自由定义

if (CommonUtil.existNull(openId, title, content)) {

res.setMsg("未知的openid、标题或内容");

return res;

}

// 获取 access token

String accessToken = getAccessToken(); // 自己写方法去实现

if (StringUtils.isEmpty(accessToken)) {

res.setMsg("获取 token 失败");

return res;

}

String tempUrl = sendTemplateUrl += accessToken; // sendTemplateUrl 是推送模板消息的请求链接

WeChatTemplateRequest t = new WeChatTemplateRequest();

t.setTouser(openId);

t.setTopcolor("#000000");

if (url != null && !StringUtils.isEmpty(url)) {

t.setUrl(url);

}

t.setTemplate_id(templateId);

Map m = new HashMap();

WeChatTemplateData first = new WeChatTemplateData();

first.setColor("#173177");

first.setValue(title);

m.put("first", first);

WeChatTemplateData keyword1 = new WeChatTemplateData();

keyword1.setColor("#173177");

keyword1.setValue("信息科");

m.put("keyword1", keyword1);

WeChatTemplateData keyword2 = new WeChatTemplateData();

keyword2.setColor("#173177");

keyword2.setValue(DateUtil.now_ch()); // 发送时间,可自己去定义

m.put("keyword2", keyword2);

WeChatTemplateData remark = new WeChatTemplateData();

remark.setColor("blue");

remark.setValue(content);

m.put("remark", remark);

t.setData(m);

ResponseEntity r = restTemplate.postForEntity(tempUrl, t, WeChatTemplateResponse.class); // 退送消息

res.setCode(r.getBody().getErrcode());

res.setMsg(r.getBody().getErrmsg());

return res;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值