zoukankan      html  css  js  c++  java
  • 微信给关注公众号的用户推送模板消息

    1.在公众号后台获取消息模板(本例使用微信测试账号),观看微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#5

     测试账号需自己定义消息模板:

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

    2.使用sdk,编写微信推送模板消息的service

    @Service
    @Slf4j
    public class PushMessageServiceImpl implements PushMessageService {
    
        @Autowired
        private WxMpService wxMpService;
        @Autowired
        private WechatAccountConfig accountConfig;
        @Override
        public void pushMessage(OrderDTO orderDTO) {
            //新建模板消息类
            WxMpTemplateMessage wxMpTemplateMessage=new WxMpTemplateMessage();
            //编写模板消息需推送的用户,该用户必须关注了公众号
            wxMpTemplateMessage.setToUser("owRHRv5J3oiMbb8D7_YYSvXvngiw");
            //配置推送消息模板id
            wxMpTemplateMessage.setTemplateId(accountConfig.getTemplateId().get("orderStatus"));
            //配置推送消息的内容
            List<WxMpTemplateData> data= Arrays.asList(
                    new WxMpTemplateData("first","用餐愉快哦"),
                    new WxMpTemplateData("keyword1","微信点餐"),
                    new WxMpTemplateData("keyword2","13826913333"),
                    new WxMpTemplateData("keyword3",orderDTO.getOrderId()),
                    new WxMpTemplateData("keyword4",orderDTO.getOrderStatusEnum().getMsg()),
                    new WxMpTemplateData("keyword5","¥"+orderDTO.getOrderAmount()),
                    new WxMpTemplateData("remark","用餐愉快哦")
            );
            wxMpTemplateMessage.setData(data);
            try {
                //使用sdk发送模板消息
                String msg = wxMpService.getTemplateMsgService().sendTemplateMsg(wxMpTemplateMessage);
                log.info("发送模板消息返回的信息为:{}",msg);
            } catch (WxErrorException e) {
                e.printStackTrace();
            }
        }
    }

    3.结果如下:

  • 相关阅读:
    给Lisp程序员的Python简介
    QuickLisp常用命令
    修改windows cmd字体
    Eclipse生成JavaDoc时指定字符集, 避免页面乱码
    css颜色名
    css3动画
    使用placeholder实现动态配置persistence.xml
    spring下配置tomcat jdbc pool 报找不到"com.mysql.jdbc.Driver"类
    去除移动端浏览器点击元素时的边框
    JS经典闭包问题
  • 原文地址:https://www.cnblogs.com/shouyaya/p/13235897.html
Copyright © 2011-2022 走看看