package edu.fudan.weixin.model;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBObject;
import com.mongodb.util.JSON;
import edu.fudan.eservice.common.utils.CommonUtil;
import edu.fudan.eservice.common.utils.Config;
import edu.fudan.eservice.common.utils.MongoUtil;
public class TemplateMessage {
public static String send(String template,String openid,DBObject data)
{
DB db=MongoUtil.getInstance().getDB();
DBObject msg=db.getCollection("Templates").findOne(new BasicDBObject("name",template));
if(!CommonUtil.isEmpty(msg))
{
msg.removeField("name");
msg.removeField("_id");
msg.put("touser", openid);
if(!CommonUtil.isEmpty(data.get("url")))
msg.put("url", data.get("url"));
DBObject msgdata=(DBObject)(msg.get("data"));
for(String k:msgdata.keySet())
{
Object v=data.get(k);
if(!CommonUtil.isEmpty(v))
((DBObject)(msgdata.get(k))).put("value", v);
}
StringBuffer ret;
try {
ret = CommonUtil.postWebRequest("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+Config.getInstance().get("weixin.access_token"), JSON.serialize(msg).getBytes("utf-8"), null);
return ret.toString();
} catch (Exception e) {
return e.getMessage();
}
}else
{
return "Template not found";
}
}
}