您的位置:首页 > 移动开发 > 微信开发

微信模板消息

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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: