微信官方文档 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 这个网页授权的前面有提到

这样功能就是实现了

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

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐