一、导入依赖
<dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>2.7.0</version> </dependency>
二、登录微信公众测试号设置模板内容
1.登录微信公众平台:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
2.点击新增测试模板
3.填写内容
4.完成示例
三、编写java代码
1 import java.util.Arrays; 2 import java.util.List; 3 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.stereotype.Service; 6 7 import com.liuhq.dto.OrderDTO; 8 import com.liuhq.service.PushMessageService; 9 10 import lombok.extern.slf4j.Slf4j; 11 import me.chanjar.weixin.common.exception.WxErrorException; 12 import me.chanjar.weixin.mp.api.WxMpService; 13 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; 14 import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; 15 16 @Service 17 @Slf4j 18 public class PushMessageImpl implements PushMessageService { 19 20 @Autowired 21 private WxMpService wxMpService; 22 23 @Override 24 public void orderStatus(OrderDTO orderDTO) { 25 WxMpTemplateMessage templateMessage = new WxMpTemplateMessage(); 26 templateMessage.setTemplateId("模板ID"); 27 templateMessage.setToUser("要发送的人的Openid"); 28 //点餐模板 29 List<WxMpTemplateData> data = Arrays.asList( 30 new WxMpTemplateData("first", "亲,请记得收货。"), 31 new WxMpTemplateData("keyword1", "微信点餐"), 32 new WxMpTemplateData("keyword2", "18868812345"), 33 new WxMpTemplateData("keyword3", orderDTO.getOrderId()), 34 new WxMpTemplateData("keyword4", orderDTO.getOrderStatusEnum().getMessage()), 35 new WxMpTemplateData("keyword5", "¥" + orderDTO.getOrderAmount()), 36 new WxMpTemplateData("remark", "欢迎再次光临!") 37 ); 38 templateMessage.setData(data); 39 try { 40 wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage); 41 }catch (WxErrorException e) { 42 log.error("【微信模版消息】发送失败, {}", e); 43 } 44 } 45 46 }