项目场景:

项目场景:利用Java实现微信公众号发送信息提醒通知!


Java实现方法:

1.首先创建实现公众号消息发送的方法:

public ReturnDO<String> sendTempMsg(WxMessage wxMessage) {ReturnDO<String> returnDO = new ReturnDO<>();try {/**发送Https请求到微信*//**WeiXinConstant.sendTempMsgUrl(微信模板消息接口)*/String url = String.format(WeiXinConstant.sendTempMsgUrl, wxMessage.getAccessToken());JSONObject json = new JSONObject();json.accumulate("touser", wxMessage.getOpenID());json.accumulate("template_id", wxMessage.getTemplateID());json.accumulate("url", wxMessage.getUrl());json.accumulate("data", wxMessage.getData());System.err.println("sendTempMsg-postJson:" + json);String retMsg = StarkHttpClient.submitHttps(url, json.toString());System.err.println("sendTempMsg-retMsg" + retMsg);JSONObject resultJson = JSONObject.fromObject(retMsg);/**在返回结果中获取地址信息*/Integer errCode = resultJson.getInt("errcode");if (errCode == 0) {returnDO.setObj(resultJson.getString("msgid"));} else {returnDO.setErrorMsg("3001", "发送模板消息失败");}} catch (Exception e) {System.err.println("发送模板消息发生异常,参数:" + JsonUtil.toJson(wxMessage));returnDO.setErrorMsg("9999", "发送模板消息发生异常,参数:" + JsonUtil.toJson(wxMessage));}return returnDO;}

2.组装需要发送的消息模板:

//发送会议变更消息WxMessage wxMessage = new WxMessage();wxMessage.setId(UUID.randomUUID().toString());wxMessage.setCreateTime(new Date());
//根据具体模板参数组装TreeMap<String, TreeMap<String, String>> params = getTempMsg1(meetingReserveVO);wxMessage.setData(JsonUtil.toJson(params));
//获取公众号的信息WxPublic wxPublic = weiXinDao.getWxPublic(WeiXinConstant.appID);wxMessage.setOpenID(userInfoVO.getOpenId());wxMessage.setAccessToken(wxPublic.getAccessToken());
//获取公众号消息模板IDwxMessage.setTemplateID(WeiXinConstant.templateID1);weiXinUtilService.sendTempMsg(wxMessage);

3.编辑模板信息的具体内容

TreeMap<String, TreeMap<String, String>> getTempMsg1(MeetingReserveVO vo){TreeMap<String, TreeMap<String, String>> params = new TreeMap<>();try{params.put("first", WeiXinUtilService.setMap("您好,您有一个消息提醒。\n","#ff0000"));params.put("keyword1",WeiXinUtilService.setMap(vo.getMeetingSubject(),"#0066ff"));params.put("keyword2",WeiXinUtilService.setMap(vo.getBeginTime(),"#0066ff"));params.put("keyword2",WeiXinUtilService.setMap(vo.getEndTime(),"#0066ff"));params.put("remark",WeiXinUtilService.setMap("请安排好时间及时参加。","#000000"));}catch (Exception e){logger.error("拼装微信模板消息发生异常!", e);}return params;}

公众号授权管理:

想要获取公众号的模板消息ID,需要拥有公众号的管理授权。
1.首先需要找到公众号的模板消息功能菜单,没有的话,需要预先申请。

2.在模板消息菜单下,找到模板库,搜寻自己需要的模板,添加到自己的模板。
获取到模板Id,以及模板的详细内容格式,就可以在Java中实现公众号消息发送。


利用Java实现微信公众号发送信息提醒通知相关推荐

  1. java向微信公众号---发送模板和图文消息

    微信公众号初次开发 其他操作 项目搭建 maven application.yml yml参数配置 微信客户端配置 搭建完成 实现业务 模板消息推送 准备工作 模板消息填写要求 图文消息填写要求 推送 ...

  2. 通过java实现微信公众号发送微信消息

    (感谢好多老哥提供的文档,哈哈,这里我就只是代码贴出来,方便以后copy) 1获取token String token = Wechat.getAccess_token(appId, appSecre ...

  3. (Java)微信公众号发送模板消息

    模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 1.模板消息调用时主要 ...

  4. java端微信公众号发送模板信息乱码解决

    jdk1.8 windows环境,tomcat下,发送模板信息乱码 项目采用httpclient发送请求 解决方案 StringEntity s = new StringEntity(jsonStr, ...

  5. thinkphp 6.x 利用 easywechat获取微信公众号粉丝信息

    我使用的是php 7.2 1.安装 easywechat 参考:https://www.easywechat.com/docs/4.x/installation cmd导航到网站目录: cd D:\p ...

  6. Java实现微信公众号直接发送参数二维码给用户

    文章目录 前言 一.参数二维码的作用 二.功能实现 1. 生成带参数二维码 2. 上传二维码图片 3. 发送带参数二维码给用户 总结 前言 公众号开发近些年是一个比较热门的方向,今天为大家讲解的是用J ...

  7. Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理

    在前几节文章中我们讲述了微信公众号环境的搭建.如何接入微信公众平台.以及微信服务器请求消息,响应消息,事件消息以及工具处理类的封装:接下来我们重点说一下-微信服务器post消息体的接收及消息的处理,这 ...

  8. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  9. Java实现微信公众号客服功能和本地联调

    Java实现微信公众号客服功能 微信公众平台设置 生产环境 公众号 设置 [开发]–> [基本配置]–> [服务器配置] 注: a.服务器地址(URL) 是开发者用来接收微信消息和事件的接 ...

最新文章

  1. 有多少种方法能把足球移出边界 Out of Boundary Paths
  2. python web flask开发框架_零基础入门python web框架Flask开发
  3. c语言常用二个标准库函数
  4. 三个值得期待的JavaScript新功能!
  5. LiveVideoStack线上分享第三季(一):低延迟线上K歌玩法的思考与实践
  6. Microsoft规划了.NET的未来发展
  7. Apache发布NetBeans 10.0,增强对JDK 11的支持
  8. Node起一个web服务器
  9. jQuery~函数封装记1
  10. matlab函数_常用于连通区域
  11. Mendeley Destop引用格式自定义调整
  12. Unity 编辑器下控制播放粒子
  13. STM32 4*4矩阵键盘实现原理(附程序)
  14. Socket(服务器端)通信连接失败解决方法
  15. 2021年江西省研究生数学建模竞赛题目(二)题目:全国人口普查问题
  16. /usr/local/bin/zsh没有文件或目录问题
  17. sre工程师_什么是SRE? 现场可靠性工程师的重要作用
  18. python json.dumps(output) ^ SyntaxError: invalid syntax
  19. [听听音乐]吴金黛 音乐有意思 歌单
  20. CDN边缘智能助力5G

热门文章

  1. 新西兰做java_新西兰华人的真实生活,真是吓到我了
  2. 吴恩达 octave
  3. 为方便大家,我分析导出了些高速下载器捆绑软件的反安装reg,需要的可自行选择
  4. 数据库访问函数FIND_IN_SET介绍
  5. TouchDesigner 之 幻影之星
  6. 想要快速爬取整站图片?速进(附完整代码)
  7. c++使用ODBC读取EXCEL表格
  8. C语言实现24点游戏
  9. 5.2 C语言练习(电报加密:输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。)
  10. 大数据技术期末复习习题-前两章 大数据概述及Hadoop概述