当前位置:   article > 正文

微信订阅消息推送(记录)_消息订阅 wxmaconfiguration

消息订阅 wxmaconfiguration

1.打开微信公众平台,选用订阅消息模板(可在公共库选用,也可自己申请:审核时间3-7天);

2.打开微信官方文档,了解订阅消息的方法subscribeMessage.send | 微信开放文档

3.建实体类:

接收者(用户)的openid
所需下发的模板消息的id

模板1/模板2/模板3....

eg:模板1

  1. @Data
  2. @AllArgsConstructor
  3. @NoArgsConstructor
  4. public class News {
  5. private Form1 formList;
  6. @Data
  7. @NoArgsConstructor
  8. public static class Form1 implements Serializable{
  9. private static final long serialVersionUID = -3472703477288173984L;
  10. /**订单编号 */
  11. private String character_string21;
  12. /**服务时间*/
  13. private String time15;
  14. /**订单金额*/
  15. private String amount6;
  16. }
  17. }

4.在config建立配置类,编写公共方法,将实体类作为参数传递

  1. @Slf4j
  2. @Configuration
  3. @Data
  4. public class NewsConfiguration {
  5. public static void post(News news){
  6. String appId = WxPayConfiguration.getAppId();
  7. WxMaService wxMaService = WxMaConfiguration.getMaService(appId);
  8. WxMaMsgService msgService = wxMaService.getMsgService();
  9. ArrayList<WxMaSubscribeMessage.MsgData> msgData = new ArrayList<>();
  10. //支付成功通知(微信小程序只有支付成功后才能开启第一次订阅消息推送)
  11. if(news.getId().equals(WxNewsEnum.STATUS_1.getValue())){
  12. news.setTemplateId(WxNewsEnum.STATUS_1.getDesc());
  13. News.Form1 formList1 = news.getFormList1();
  14. msgData.add(new WxMaSubscribeMessage.MsgData("character_string21",tempList1.getCharacter_string21()));
  15. msgData.add(new WxMaSubscribeMessage.MsgData("time15",tempList1.getTime15()));
  16. msgData.add(new WxMaSubscribeMessage.MsgData("amount6",tempList1.getAmount6()));
  17. }
  18. try {
  19. WxMaSubscribeMessage build = WxMaSubscribeMessage.builder()
  20. .toUser(news.getTouser())
  21. .templateId(news.getTemplateId())
  22. .data(msgData)
  23. .build();
  24. msgService.sendSubscribeMsg(build);
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. }

 5.在需要推送消息的位置进行post方法调用,注意实体类各参数的格式及字数要求(比如,time格式要求为15:01,或:2019年10月1日 15:01。具体可参考微信开发平台的官方文档)

6.注意事项:需要和前端对接好模板ID是否一致;订阅消息最多推送3条;47003模板参数不准确,可能为空或者不满足规则,errmsg会提示具体是哪个字段出错;43101注意检查模板ID及是否是支付成功后开始的消息推送。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/232824
推荐阅读
相关标签
  

闽ICP备14008679号