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

微信发送模板消息

2017-06-12 16:25 253 查看
创建实体类

1:WxTemplate.java

import java.util.Map;
public class WxTemplate {
/**
* 模板消息id
*/
private String template_id;
/**
* 用户openId
*/
private String touser;
/**
* URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)
*/
private String url;
/**
* 标题颜色
*/
private String topcolor;
/**
* 详细内容
*/
private Map<String,TemplateData> data;

public String getTemplate_id() {
return template_id;
}
public void setTemplate_id(String template_id) {
this.template_id = template_id;
}
public String getTouser() {
return touser;
}
public void setTouser(String touser) {
this.touser = touser;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getTopcolor() {
return topcolor;
}
public void setTopcolor(String topcolor) {
this.topcolor = topcolor;
}
public Map<String, TemplateData> getData() {
return data;
}
public void setData(Map<String, TemplateData> data) {
this.data = data;
}
}


2:AccessToken.java

/**
* 微信通用接口凭证
*/
public class AccessToken {
// 获取到的凭证
private String token;
// 凭证有效时间,单位:秒
private int expiresIn;

public String getToken() {
return token;
}

public void setToken(String token) {
this.token = token;
}

public int getExpiresIn() {
return expiresIn;
}

public void setExpiresIn(int expiresIn) {
this.expiresIn = expiresIn;
}
}


3:WxTemplate.java

import java.util.Map;
public class WxTemplate {
/**
* 模板消息id
*/
private String template_id;
/**
* 用户openId
*/
private String touser;
/**
* URL置空,则在发送后,点击模板消息会进入一个空白页面(ios),或无法点击(android)
*/
private String url;
/**
* 标题颜色
*/
private String topcolor;
/**
* 详细内容
*/
private Map<String,TemplateData> data;

public String getTemplate_id() {
return template_id;
}
public void setTemplate_id(String template_id) {
this.template_id = template_id;
}
public String getTouser() {
return touser;
}
public void setTouser(String touser) {
this.touser = touser;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getTopcolor() {
return topcolor;
}
public void setTopcolor(String topcolor) {
this.topcolor = topcolor;
}
public Map<String, TemplateData> getData() {
return data;
}
public void setData(Map<String, TemplateData> data) {
this.data = data;
}
}


微信发送模板消息

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.szmsd.entity.AccessToken;
import com.szmsd.entity.TemplateData;
import com.szmsd.entity.WxTemplate;
import com.szmsd.platform.constants.Constants;

import net.sf.json.JSONObject;

public class WechatSendMsg {
private static Log logger = LogFactory.getLog(WechatSendMsg.class);

public static void main(String[] args) {
AccessToken accessToken =  WeixinUtil.getAccessToken(Constants.APPID, Constants.APPSECRET);

String token = accessToken.getToken();

String openId = "oGCWx0dI
b9a9
KgkVtJgXidmjsExWZO38";

String value1 = "123456789";

String value2 = "【封丘县分拨中心】的派件员【刘先帅】正在派件";

String v_remark = "操作时间:2017-01-16 15:43:53";

String detailUrl = "https://www.baidu.com";

send_track_message(token, openId, value1, value2, v_remark, detailUrl);
}

public static int send_track_message(String accessToken,String openId, String value1,String value2, String v_remark, String detailUrl) {
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;
WxTemplate temp = new WxTemplate();
temp.setUrl(detailUrl);
temp.setTouser(openId);
temp.setTopcolor("#8B8682");
temp.setTemplate_id(Constants.TEMPLATE_ID);

Map<String, TemplateData> m = new HashMap<String, TemplateData>();

TemplateData first = new TemplateData();
first.setColor("#000000");
first.setValue("尊敬的客户,您好");
m.put("first", first);

TemplateData keyword1 = new TemplateData();
keyword1.setColor("#000000");
keyword1.setValue(value1);
m.put("keyword1", keyword1);

TemplateData keyword2 = new TemplateData();
keyword2.setColor("#01B468");
keyword2.setValue(value2);
m.put("keyword2", keyword2);

TemplateData remark = new TemplateData();
remark.setColor("#000000");
remark.setValue(v_remark);
m.put("remark", remark);

temp.setData(m);
String jsonString = JSONObject.fromObject(temp).toString();

JSONObject jsonObject = WeixinUtil.httpRequest(url, "POST", jsonString);
System.out.println(jsonObject);

int result = 0;
if (null != jsonObject) {
if (0 != jsonObject.getInt("errcode")) {
result = jsonObject.getInt("errcode");
logger.info("错误 errcode:{} errmsg:{}" + jsonObject.getInt("errcode"));
}
}
logger.info("模板消息发送结果:" + result);
return result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信