微信給關注公眾號的用戶推送模板消息


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM