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.結果如下:

