微信消息接口
package web.platform.mod.test;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiOperation;
import web.platform.util.HTTPUtil;
import web.platform.util.HttpsRequest;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
public class TemplateMessageService
{
public static String getToken(String appid, String appSecret) {
String url = "https://api.weixin.qq.com/cgi-bin/token";
String param = "grant_type=client_credential" + "&appid=" + appid + "&secret=" + appSecret;
String accTemp="";
try {
HttpsRequest HttpsRequests=new HttpsRequest();
accTemp =HttpsRequests.httpsGet(url+"?"+param);
JSONObject jsonObject = JSONObject.parseObject(accTemp);
System.out.println("1--->" + jsonObject);
return jsonObject.getString("access_token");
} catch (Exception e1) {
e1.printStackTrace();
return "";
}
}
public static void sendTemp(String appid, String accessToken, String appSecret, Double realAmount, String shopName, String openId,String msgID)
{
HTTPUtil HTTPUtils=new HTTPUtil();
accessToken=getToken( appid, appSecret);
if(accessToken=="")
{
return ;
}
Map<String, Object> map = new HashMap();
map.put("touser", openId);
map.put("template_id",msgID );
map.put("url","https://www.baidu.com");
Map<String, String> mapA = new HashMap<>();
mapA.put("appid", "");
mapA.put("pagepath", "");
map.put("miniprogram", mapA);
Map firstMap = new HashMap();
firstMap.put("value", "新的消费通知!");
firstMap.put("color", "#173177");
Map keyword1Map = new HashMap();
keyword1Map.put("value", shopName);
keyword1Map.put("color", "#fff");
Map keyword2Map = new HashMap();
keyword2Map.put("value", "-");
keyword2Map.put("color", "#fff");
Map keyword3Map = new HashMap();
keyword3Map.put("value", realAmount + "元");
keyword3Map.put("color", "#fff");
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Map keyword4Map = new HashMap();
keyword4Map.put("value", simpleDateFormat.format(date));
keyword4Map.put("color", "#fff");
Map remarkMap = new HashMap();
remarkMap.put("value", "尊敬的用户,您于" + simpleDateFormat.format(date) + "在" + shopName + "消费了" + realAmount + "元");
remarkMap.put("color", "#fff");
Map dataMap = new HashMap();
dataMap.put("first", firstMap);
dataMap.put("keyword1", keyword1Map);
dataMap.put("keyword2", keyword2Map);
dataMap.put("keyword3", keyword3Map);
dataMap.put("keyword4", keyword4Map);
dataMap.put("remark", remarkMap);
map.put("data", dataMap);
String r;
try {
r = HTTPUtils.doPost("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken,JSON.toJSONString(map),"UTF-8");
System.out.println("-->" + r);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void addkefu(String appid, String appSecret, Map<String, Object> map)
{
HTTPUtil HTTPUtils=new HTTPUtil();
String accessToken=getToken( appid, appSecret);
if(accessToken=="")
{
return ;
}
String r;
try {
r = HTTPUtils.doPost("https://api.weixin.qq.com/customservice/kfaccount/add?access_token=" + accessToken,JSON.toJSONString(map),"UTF-8");
System.out.println("-->" + r);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String searchkefu(String accessToken)
{
String r="";
try {
HttpsRequest HttpsRequests=new HttpsRequest();
r = HttpsRequests.httpsGet("https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=" + accessToken);
System.out.println("-->" + r);
} catch (Exception e) {
e.printStackTrace();
}
return r;
}
public static String searchkefu(String appid, String appSecret)
{
HTTPUtil HTTPUtils=new HTTPUtil();
String accessToken=getToken( appid, appSecret);
if(accessToken=="")
{
return "获取token失败!";
}
String r="";
try {
HttpsRequest HttpsRequests=new HttpsRequest();
r = HttpsRequests.httpsGet("https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token=" + accessToken);
System.out.println("-->" + r);
} catch (Exception e) {
e.printStackTrace();
}
return r;
}
public static void sendKfMessege(String appid, String appSecret,String openId) {
HTTPUtil HTTPUtils=new HTTPUtil();
String accessToken=getToken( appid, appSecret);
if(accessToken=="")
{
return ;
}
String searchResult=searchkefu(accessToken);
JSONObject ResultObject= JSONObject.parseObject(searchResult);
JSONArray ja = ResultObject.getJSONArray("kf_list");
if(ja!=null)
{
String building_id = ja.getJSONObject(0).getString("kf_account");
String kf_nick = ja.getJSONObject(0).getString("kf_nick");
String kf_id = ja.getJSONObject(0).getString("kf_id");
String kf_headimgurl = ja.getJSONObject(0).getString("kf_headimgurl");
}
Map<String, Object> map=new HashMap();
map.put("touser", openId);
map.put("msgtype", "text");
Map<String, Object> contentmaps=new HashMap();
contentmaps.put("content", "百度搜索<a href=\"http://www.baidu.com\" >百度</a>");
map.put("text", contentmaps);
String r;
try {
r = HTTPUtils.doPost("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + accessToken,JSON.toJSONString(map),"UTF-8");
System.out.println("-->" + r);
} catch (Exception e) {
e.printStackTrace();
}
}
}