微信模板消息推送(基于测试号)springboot

微信官方文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277

1.申请测试号:这里可以参考https://blog.csdn.net/qq_37992974/article/details/88598502

测试号申请成功后,进入测试号页面

点击新增测试模板,里面的参数必须是{{参数.DATA}} 这里是固定写法

记录模板信息id

2.使用第三方sdk进行模板消息推送

第三方sdk 依赖

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-mp</artifactId>
    <version>2.7.0</version>
</dependency>

 新建service 接口

package com.imooc.sell.service;

import com.imooc.sell.dataobject.OrderMaster;
import com.imooc.sell.dto.OrderMasterDTO;

/**
 * @Author: 
 * @Date: 2019/3/21 19:56
 * @Version 1.0
 */
public interface PushMessageService {

    void templateOrderStatus(Object object);
}

其中object是业务求模板推送相关数据的封装类,可以根据实际的需求传递对象

新建接口实现类




/**
 * @Author: 
 * @Date: 2019/3/21 19:58
 * @Version 1.0
 */
@Service
@Slf4j
public class PushMessageServiceImpl implements PushMessageService {


    @Autowired
    WxMpService wxMpService;
    @Autowired
    WechatAccountConfig wechatAccountConfig;
    @Override
    public void templateOrderStatus(OrderMasterDTO orderMasterDTO) {
        //模板消息封装的对象
        WxMpTemplateMessage wxMpTemplateMessage = new WxMpTemplateMessage();
        wxMpTemplateMessage.setTemplateId("模板消息id");
        wxMpTemplateMessage.setToUser("要发送的用户的openid");

        List<WxMpTemplateData> wxMpTemplateData = Arrays.asList(
                new WxMpTemplateData("first","订单完结"),
                new WxMpTemplateData("keyword1","微信点餐快餐店"),
                new WxMpTemplateData("keyword2","11111111"),
                
        );
        wxMpTemplateMessage.setData(wxMpTemplateData);
        try {
            wxMpService.getTemplateMsgService().sendTemplateMsg(wxMpTemplateMessage);
        }catch (WxErrorException errorException){
            log.error("【微信模板消息推送】出现错误!" );
        }


    }
}

模板消息的id 是新建模板后微信会自动生成的模板消息id,在上面的截图中有

接收消息的人的openid 是关注了你的测试号里面显示的openid,我的测试号是这样的

每个测试号里面的同一个用户的openid是不一样的!

实现类里面的WxMpService,是需要配置自己的测试号的appid和appsercert的,关于配置,我在https://blog.csdn.net/qq_37992974/article/details/88599639 这个网页授权的前面有提到

这样功能就是实现了

注意: 项目必须是发布在外网上的,才能测试成功

发布了41 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37992974/article/details/88725645