微信开发--模板消息接口
http://blog.csdn.net/u010486495/article/details/46985729
微信开发者文档:模板消息接口
模板消息运营规范:http://mp.weixin.qq.com/wiki/2/def71e3ecb5706c132229ae505815966.html(附带允许和不允许发送的模板实例)
原理:
1.微信公众号(服务号) 设置模板标题和模板内容--》生成模板ID
2.设置填充模板数据(使用map封装),匹配Id,发送给用户。
package com.dm.wx.domain.templateMsg;
import java.util.Map;
/** http://zhengshuo.iteye.com/blog/2154083
* Created by IntelliJ IDEA.
* User: zjm
* Date: 15-11-7
* Time: 上午9:53
* To change this template use File | Settings | File Templates.
*/
public class WxTemplate {
private String template_id;
private String touser;
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;
}
}
package com.dm.wx.domain.templateMsg;
/**
* Created by IntelliJ IDEA.
* User: zjm
* Date: 15-11-7
* Time: 上午9:54
* To change this template use File | Settings | File Templates.
*/
public class TemplateData {
private String value;
private String color;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
package com.dm.wx.service;
import com.dm.core.dao.SqlDao;
import com.dm.core.util.WebUtil;
import com.dm.pfb.domain.Actoken;
import com.dm.wx.domain.templateMsg.TemplateData;
import com.dm.wx.domain.templateMsg.WxTemplate;
import com.dm.wx.domain.token.AccessToken;
import com.dm.wx.util.CommonUtil;
import com.dm.wx.util.R;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
/**
* Created by IntelliJ IDEA.
* User: zjm
* Date: 15-11-7
* Time: 上午9:57
* To change this template use File | Settings | File Templates.
*/
public class TemplateMsgService {
private static Logger log1 = LoggerFactory.getLogger(CommonUtil.class);
public static void sendTmsg(String access_token, WxTemplate temp) {
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token;
String jsonString = JSONObject.fromObject(temp).toString();
JSONObject jsonObject = CommonUtil.httpsRequest(url, "POST", jsonString);
System.out.println(jsonObject);
int result = 0;
if (null != jsonObject) {
if (0 != jsonObject.getInt("errcode")) {
result = jsonObject.getInt("errcode");
log1.error("错误 errcode:{} errmsg:{}", jsonObject.getInt("errcode"), jsonObject.getString("errmsg"));
}
}
log1.info("模板消息发送结果:" + result);
}
public static WxTemplate tmsg1(String url, String open_id, String t_id) {
// 封装模板消息
WxTemplate t = new WxTemplate();
t.setUrl(url);
t