在这里演示一下微信的模板消息推送:
这里使用微信测试号 来演示:
先看下效果吧:
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(); }