概述
项目场景:
项目场景:利用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中实现公众号消息发送。
最后
以上就是单纯康乃馨为你收集整理的利用Java实现微信公众号发送信息提醒通知项目场景:Java实现方法:公众号授权管理:的全部内容,希望文章能够帮你解决利用Java实现微信公众号发送信息提醒通知项目场景:Java实现方法:公众号授权管理:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复