在这里演示一下微信的模板消息推送:

  这里使用微信测试号 来演示:

    先看下效果吧:

       

1.首先需要申请一个  微信测试号  

    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421137522

    

 点击进入申请之后会让你扫码登入!使用微信扫码即可!

申请完成之后会显示两个测试号的信息 !appID ,appsecret 这两个很重要!

2.关注此公众号:

  

3.创建模板发送消息模板

  

由此获得模板id

{{first.DATA}} 商家名称:{{keyword1.DATA}} 商家电话:{{keyword2.DATA}} 订单号:{{keyword3.DATA}} 状态:{{keyword4.DATA}} 总价:{{keyword5.DATA}} {{remark.DATA}} 

4.回顾下我们都做了什么?

  1.首先是微信给我们的 【appID, appsecret】

  2.我们需要微信扫码关注测试的公众号 获得 【微信号】也就是用户的openid

  3.创建模板 获得模板id

===开始代码的操作===

  首先需要一个jar包 也就是操作微信相关的jar包

    

  <dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>2.7.0</version>
</dependency>

  

 //推送
@Override
public void orderStatus(OrderDTO orderDTO) {
WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();
wxStorage.setAppId("wxc05384c53b8465d1"); //appID
wxStorage.setSecret("e6b01b0374a48085e0e4ab521d68f7cf");//appsecretID
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxStorage); //数据
List<WxMpTemplateData> data = Arrays.asList(
new WxMpTemplateData("first", "亲,请记得收货。"),
new WxMpTemplateData("keyword1", "微信点餐"),
new WxMpTemplateData("keyword2", "18868812345"),
new WxMpTemplateData("keyword3", orderDTO.getOrderId()),
new WxMpTemplateData("keyword4", orderDTO.getOrderStatusEnum().getMessage()),
new WxMpTemplateData("keyword5", "¥" + orderDTO.getOrderAmount()),
new WxMpTemplateData("remark", "欢迎再次光临!")
); //2,推送消息
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
.toUser("otjjq1X7LiCG6gabzu2nk4Wzom0s")//要推送的用户openid
.data(data) //数据
.templateId("OSIT_3CoEjwdgbGvHeUb5aO8wBu62-iH8PO2ZYopRkY")//模版id
/* .url("https://www.baidu.com/")//点击模版消息要访问的网址*/
.build();
//发起推送
try {
String msg = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
System.out.println("推送成功:" + msg);
} catch (Exception e) {
System.out.println("推送失败:" + e.getMessage());
e.printStackTrace();
}

最新文章

  1. Spark的精简安装步骤---陈楠心血总结
  2. 移动端的拖拽这个demo实现的功能
  3. http://m.blog.csdn.net/article/details?id=8237698
  4. 用live writer写博客
  5. 小甲鱼PE详解之输入表(导出表)详解(PE详解09)
  6. maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path
  7. mysqldump 的一些使用参数
  8. Python之路第五天,基础(5)-序列化和字符串格式化
  9. javascript高级知识点——实例类型
  10. oracle 配置监听
  11. read file in a single line
  12. TestNG简介与安装步骤
  13. [#1] YCbCr与RGB的转换公式
  14. SQLServer中的CTE通用表表达式
  15. 前端开发-日常开发沉淀之git提交文件忽略
  16. Tomcat记录-tomcat常用配置详解和优化方法(转载)
  17. window.location.reload();页面实现跳转和刷新
  18. [C#] 解决Silverlight反射安全关键(SecuritySafeCritical)时报“System.MethodAccessException: 安全透明方法 XXX 无法使用反射访问”的问题
  19. Too many connections解决方法
  20. 【IL】IL入门

热门文章

  1. SWE_Browser编译
  2. 通过脚本命令cacls提升某个用户都某路径的操作权限
  3. Python 使用for...in...和 while 循环 实现8种格式的 九九乘法表
  4. 【转载】 IP实时传输协议RTP/RTCP详解
  5. spring事件机制
  6. 【Redis】使用Jedis操作Redis
  7. CSS-背景-渐变-文本格式化
  8. mysql explain中的type列含义和extra列的含义
  9. Unity2017新功能Sprite Atlas详解
  10. oracle 监视索引是否使用