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

项目场景:

项目场景:利用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());
//获取公众号消息模板ID
        wxMessage.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中实现公众号消息发送。

在这里插入图片描述
在这里插入图片描述


  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值