zoukankan      html  css  js  c++  java
  • 关于SpringBoot开发微信模板推送

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

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

        先看下效果吧:

           

    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.首先是微信给我们的 【appIDappsecret

      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();
             }
  • 相关阅读:
    BZOJ1527 : [POI2005]Pun-point
    2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
    2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)
    NAIPC-2016
    BZOJ2498 : Xavier is Learning to Count
    ACM ICPC Vietnam National Second Round
    XVI Open Cup named after E.V. Pankratiev. GP of Ukraine
    XVI Open Cup named after E.V. Pankratiev. GP of Peterhof
    HDU5509 : Pattern String
    BZOJ4583 : 购物
  • 原文地址:https://www.cnblogs.com/gu-bin/p/10734040.html
Copyright © 2011-2022 走看看