微信模板消息
2016-04-25 16:21
357 查看
import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; public class MessageModelUtil { /** * 发送模板消息 * appId 公众账号的唯一标识 * appSecret 公众账号的密钥 * openId 用户标识 */ public static int send_template_message(String accessToken,String jsonString) { String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken; JSONObject jsonObject = HttpRequestUtil.httpsRequest(url, "POST", jsonString); System.out.println(jsonObject); int errcode = -1; if (null != jsonObject) { errcode = jsonObject.getInt("errcode"); } return errcode; } /** * 组装模板消息 * @param openId 消息发送对象 * @param articleList 图文消息列表 * @return */ public static String makeModelMessage(String openId, String modeId,String url,Map<String,Object> mapdata) { Map<String,Object> map = new HashMap<String, Object>(); map.put("data", mapdata); String topcolor = "#173177"; map.put("template_id", modeId); map.put("topcolor", topcolor); map.put("touser", openId); map.put("url", url); JSONObject json = JSONObject.fromObject(map); return JSONObject.fromObject(json).toString(); } /** * 模板消息 * 车票状态变更提醒 * @param first * @param keyword1 * @param keyword2 * @param keyword3 * @param remark * @return */ public static Map<String,Object> ModelStatus(String first,String keyword1,String keyword2,String keyword3,String remark){ Map<String,Object> mapdata = new HashMap<String, Object>(); mapdata.put("first", new Data_content(first)); mapdata.put("keyword1", new Data_content(keyword1)); mapdata.put("keyword2", new Data_content(keyword2)); mapdata.put("keyword3", new Data_content(keyword3)); mapdata.put("remark", new Data_content(remark)); return mapdata; } /** * 模板消息 * 车票预订状态通知 * @param first * 线路:{{keyword1.DATA}} 发车时间:{{keyword2.DATA}} 订单号:{{keyword3.DATA}} 流水号:{{keyword4.DATA}} * @param remark * @return */ public static Map<String,Object> ModelBook(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark){ Map<String,Object> mapdata = new HashMap<String, Object>(); mapdata.put("first", new Data_content(first)); mapdata.put("keyword1", new Data_content(keyword1)); mapdata.put("keyword2", new Data_content(keyword2)); mapdata.put("keyword3", new Data_content(keyword3)); mapdata.put("keyword4", new Data_content(keyword4)); mapdata.put("remark", new Data_content(remark)); return mapdata; } /** * 购票成功通知 * @param first 线路:{{lineName.DATA}} 发车时间:{{date.DATA}} 订单号:{{orderNum.DATA}} 流水号:{{transactionNum.DATA}} * @param remark * @return */ public static Map<String,Object> ModelSuccess(String first,String lineName,String date,String orderNum,String transactionNum,String remark){ Map<String,Object> mapdata = new HashMap<String, Object>(); mapdata.put("first", new Data_content(first)); mapdata.put("lineName", new Data_content(lineName)); mapdata.put("date", new Data_content(date)); mapdata.put("orderNum", new Data_content(orderNum)); mapdata.put("transactionNum", new Data_content(transactionNum)); mapdata.put("remark", new Data_content(remark)); return mapdata; } /** * * @param first 售票点:{{keyword1.DATA}} 发车时间:{{keyword2.DATA}} 票价:{{keyword3.DATA}} 座号:{{keyword4.DATA}} 班次:{{keyword5.DATA}} * @param remark * @return */ public static Map<String,Object> ModelTicket(String first,String keyword1,String keyword2, String keyword3,String keyword4,String keyword5,String remark){ Map<String,Object> mapdata = new HashMap<String, Object>(); mapdata.put("first", new Data_content(first)); mapdata.put("keyword1", new Data_content(keyword1)); mapdata.put("keyword2", new Data_content(keyword2)); mapdata.put("keyword3", new Data_content(keyword3)); mapdata.put("keyword4", new Data_content(keyword4)); mapdata.put("keyword5", new Data_content(keyword5)); mapdata.put("remark", new Data_content(remark)); return mapdata; } /** * 模板消息 * 服务器宕机 {{first.DATA}} 故障时间:{{time.DATA}} 故障原因:{{reason.DATA}} {{remark.DATA}} * @param remark * @return */ public static Map<String,Object> ModelServiceFail(String first,String keyword1,String keyword2, String remark){ Map<String,Object> mapdata = new HashMap<String, Object>(); mapdata.put("first", new Data_content(first)); mapdata.put("time", new Data_content(keyword1)); mapdata.put("reason", new Data_content(keyword2)); mapdata.put("remark", new Data_content(remark)); return mapdata; } public static void main(String[] args) { Token token= null;//WeixinUtil.getAccessToken(Constant.APPID, Constant.APPSECRET); String accessToken = token .getAccessToken(); testModelServiceFail(accessToken); } private static void testModelServiceFail(String accessToken){ String first = "您好,您的网站 abc.com 无法访问"; String time = "2013-11-21 11:11:11"; String reason = "无法连接到服务器"; String remark = "这是一个美丽的测试"; Map<String , Object> map = ModelServiceFail(first, time, reason, remark); String openId = "oFO7CwGbsNOjprgVVN4gXCO7w1us"; String modeId = "TLnv-JEOVqqqlZLDY0m26ND0iHJKxNACS46gYwozhY8"; String url = ""; String jsonString = makeModelMessage(openId, modeId, url, map); int num = send_template_message(accessToken,jsonString); System.out.println("返回码==="+num); } }
相关文章推荐
- 微信展示
- Android接入微信开发注意事项
- 微信网页调用腾讯视频去广告,视频预览截图去腾讯logo
- Java小程序之字符串倒置
- 微信企业号的JAVA开发平台
- 微信上传图片
- JAVA微信扫码支付模式二功能实现以及回调
- C#开发微信门户及应用(33)--微信现金红包的封装及使用
- Android应用加入微信分享
- JEEWX微信企业号管家,开源免费,1.0版本发布
- WWeChat仿微信应用源码带IM服务端源码完整版
- android实现微信网页浏览、QQ下拉效果SlidingLayout
- dcloud打包ecshop程序的支付宝和微信接口开发
- 微信公众平台的接口url
- 微信开发
- 微信文章排版
- 微信文章如何获得上万次转载?
- 微信分销系统源码定制开发
- 开通微信公众号流程目录(截图版)
- 开通微信公众号流程所需资料及时间