####创建service层接口

com\imooc\service\PushMessage.java

package com.imooc.service;

import com.imooc.dto.OrderDTO;

/**

* Created by Administrator on 2020/2/27.

* 微信模板消息推送

*/

public interface PushMessage {

/*订单状态变更消息*/

public void orderStatus(OrderDTO orderDTO);

}

####创建service层实现类

com\imooc\service\imp\PushMessageImp.java

package com.imooc.service.imp;

import com.imooc.config.WechatAccountConfig;

import com.imooc.dto.OrderDTO;

import com.imooc.service.PushMessage;

import lombok.extern.slf4j.Slf4j;

import me.chanjar.weixin.common.exception.WxErrorException;

import me.chanjar.weixin.mp.api.WxMpService;

import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;

import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.Arrays;

import java.util.List;

/**

* @author: menghaibin

* @create: 2020-02-27 13:41

* @description: 微信模板消息推送

**/

Service

Slf4j

public class PushMessageImp implements PushMessage{

@Autowired

private WxMpService wxMpService;

@Autowired

private WechatAccountConfig accountConfig;

/*订单完结时调用*/

@Override

public void orderStatus(OrderDTO orderDTO) {

/*服务号才会有模板消息 还要服务器加入微信白名单*/

WxMpTemplateMessage templateMessage = new WxMpTemplateMessage();

templateMessage.setTemplateId(accountConfig.getTemplateId().get("orderstatus"));/*模板id*/

templateMessage.setToUser(orderDTO.getBuyerOpenid());/*目标用户的openid*/

List wxMpTemplateDataList = Arrays.asList(

new WxMpTemplateData("first","亲 请记得收货哦!"),

new WxMpTemplateData("keyword1","微信点餐"),

new WxMpTemplateData("keyword2","17600800548"),

new WxMpTemplateData("keyword3",orderDTO.getOrderId()),

new WxMpTemplateData("keyword4",orderDTO.getOrderStatus().toString()),

new WxMpTemplateData("keyword5","¥"+orderDTO.getOrderAmount()),

new WxMpTemplateData("remark","欢迎再次光临")

);

templateMessage.setData(wxMpTemplateDataList);

try{

wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);

}catch (WxErrorException e){

log.error("[微信模板异常]");

}

}

}

####把模板id配置到application.yml文件中,并在WechatAccountConfig类中追加属性

wechat:

templateId: #模板消息id

orderstatus: ewur430280238203843

/*微信模板id*/

private Map templateId;

####订单完结时调用

在OrderServiceImp的finish方法中调用消息推送的方法

微信点餐html5模板,【瑞蚁原创分享】12:springboot微信点餐之微信模板相关推荐

  1. 分享12款非常漂亮的免费国外网站模板

    这篇文章收集了12款精美的免费国外网站模板分享给大家,您可以免费下载使用.相信这些漂亮的国外网站模板既能够帮助您节省大量的时间和精力,又能有很满意的效果.感谢那些优秀的设计师分享他们的劳动成果,让更多 ...

  2. 小米 微信:无法连接服务器,小米MIUI再更新,12款手机再延迟,微信问题得到修复...

    目前,小米MIUI开发版系统又迎来了更新,更新版本为MIUI 20.8.25内测开发版,本次更新,也是没有太多更新内容,有12款手机因故推迟.暂停发布,对部分手机修复了蓝牙导致的微信问题,如果米粉的上 ...

  3. html5简单动画效果代码,分享12个简洁漂亮的纯CSS3进度条特效动画代码

    进度条是很常用的一个用户体验项,用于表示事件的处理或加载状态,制作这些loading进度条我们通常会使用GIF图片来实现,但是这方法也有一些弊端,比如我要放大或改变颜色,这样就不好处理了. 要解决这些 ...

  4. ***腾讯云直播(含微信小程序直播)研究资料汇总-原创

    ***腾讯云直播(含微信小程序直播)研究资料汇总-原创 原文: ***腾讯云直播(含微信小程序直播)研究资料汇总-原创 这段时间抽空研究了下直播技术,综合比较了下腾讯云直播的技术和文档方面最齐全,现把 ...

  5. 12款精美的免费 CSS 网页模板下载

    这篇文章收集了12款精美的免费CSS网页模板分享给大家,您可以免费下载使用.相信这些漂亮的免费 CSS网页模板 既能够帮助您节省大量的时间和精力,又能有很满意的效果.希望这些免费的CSS网页模板能帮助 ...

  6. 微信小程序如何通过button按钮实现分享(转发)功能

    微信小程序如何通过button按钮实现分享(转发)功能 导读:微信小程序通过button按钮实现分享(转发)功能 有两种方式,一种是页面内按钮分享,一种是菜单转发.下面具体为大家解答.... 微信小程 ...

  7. 5月微信发重磅公告,朋友圈诱导分享如下行为将被严厉打击!

    一直以来,微信明确禁止利用微信产品功能进行诱导分享的行为. 近期,某些公众号.APP软件等主体通过以返学费.送实物等方式,利诱微信用户分享其链接(包括二维码图片等)到朋友圈打卡,严重影响朋友圈用户体验 ...

  8. 微信最火html5游戏平台,盘点五个热门HTML5游戏微信公众号

    随着HTML5技术的成熟,HTML5游戏越来越受大众青睐,各个HTML5游戏平台应运而生,游戏平台所衍生的微信公众号也在平台运营里扮演着重要的角色.而目前市场上HTML5游戏微信公众号的质量也是良莠不 ...

  9. 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的微信小程序点餐系统

    基于SpringBoot前后端分离的点餐系统 1.开发环境:主要采用Spring boot框架和小程序开发 2.项目简介:点餐系统,分成卖家端和买家端.买家端使用微信小程序开发,实现扫码点餐.浏览菜单 ...

最新文章

  1. DAY02 WINDOWS Ghost系统的备份与还原以及不同虚拟机的通信的实现
  2. 2022年了我才发现Chrome原来可以直接生成二维码...
  3. php 织梦wap源码,织梦手机静态页生成插件 DEDE WAP静态化 手机端生成静态
  4. 个人永久性免费-Excel催化剂功能第28波-工作薄瘦身,安全地减少非必要冗余
  5. lua工具库penlight--06数据(一)
  6. robomaster裁判系统服务器,2018裁判系统调试组网完全攻略
  7. 【104】Maven3.5.0结合eclipse使用,提示Lambda expressions are allowed only at source level 1.8 or above错误的解决方法
  8. 通过kafka提供的命令来查看offset消费情况
  9. 提高C++运行效率的方法
  10. jQuery 实现图片动画代码
  11. java 运行注释_Java中的可执行注释
  12. 你真的懂Linux吗?Linux运维从业方向与前景
  13. php网站 视频马赛克,如何给视频加马赛克 菜鸟也能学会的视频加马赛克解决方案...
  14. 怎样在html里加入cms的标签,动易Cms:如何在自定义字段中插入html代码和标签-动易Cms教程...
  15. tms320vc5416c语言编程,TMS320VC5416与CAN总线的接口设计及软件编程
  16. 记录一次上网正常但是【登录客户端应用网络异常问题】
  17. Mybatis中模糊查询的SQL语句应该怎么写?
  18. 知识图谱入门 (一) 知识图谱与语义技术概览
  19. android仿百度地图悬浮式窗口,百度地图(bMap)实现浮动层、按钮等的方法及代码...
  20. 零基础学画画,找对老师重要吗?

热门文章

  1. 壹佰智慧门店V3 v3.0.89
  2. B站2020跨年晚会,被弹幕刷屏的节目是哪个,发弹幕最多的人又是谁?
  3. 讯飞语音包实现Android语音识别
  4. 如何解决Paypal多账号登录账户关联?
  5. 大鱼吃小鱼算法java,瞬间高大上了!
  6. C语言基础知识入门和C语言入门基础知识大全
  7. linux批量管理工具之ansible
  8. 山寨免费软件的阴谋!
  9. 新印的钞票如何流入市场?
  10. 怎么看服务器硬盘数据信息,如何查看服务器的硬盘数量