微信公眾號傳送模板訊息
//4. 傳送微信客服訊息,一般滿足特定條件
if(result >0 ) {
logger.info("提交加油訂單成功=="+result);
String accessToken = wechatService.getToken();
String remark = "恭喜你,訂單已提交請在2小時之內支付。";
String openid = record.getOpenId();
//4.1 建立模板訊息物件封裝資料
TemplateMessage tplMsg = new TemplateMessage();
tplMsg.setOpenid(openid);
tplMsg.setTemplateId("bt7ArrMK_VZc8nU2FTXpR6OkhfFEDQamuSDJUkWA2Vg");
tplMsg.setUrl("http://www.hnjindouyun.com/views/payment/pay.html?order="+orderNo);
Map<String, String> dataMap = new HashMap<String, String>();
dataMap.put("first", "訂單提交成功");
dataMap.put("keyword1", "油品" + record.getOilName());
dataMap.put("keyword2", orderNo);
dataMap.put("keyword3",DateUtil.timeToString(new Date()));
try {
dataMap.put("keyword4", BigDecimalUtil.fen2YuanAnother(record.getRealAmount().toString())+"元");
} catch (Exception e) {
e.printStackTrace();
logger.info(String.format("分轉換成元異常: %s",e.getMessage()));
}
dataMap.put("remark", remark);
tplMsg.setDataMap(dataMap);
logger.info(String.format("提交加油訂單成功引數資訊: token=%s, tplMsg=%s==",accessToken,tplMsg));
//4.1 傳送客服模板訊息
JSONObject json = WeixinUtil.sendTemplateMessage(tplMsg, accessToken);
logger.info("提交加油訂單成功,傳送客服訊息執行結果==="+json);
return SkynetResult.success(orderNo);
}else {
logger.info("提交加油訂單失敗=="+result);
return SkynetResult.fail();
}
/**
* 傳送模板訊息 WeixinUtil
* @param tplMsg 訊息內容
* @param accessToken
* @return
*/
public static JSONObject sendTemplateMessage(TemplateMessage tplMsg, String accessToken)
throws WxErrorException {
if (tplMsg != null) {
JSONObject jsonObject = HttpClientUtils. httpPost(SEND_TEMPLATE_MESSAGE.replace("ACCESS_TOKEN", accessToken), tplMsg.toString());
if (isWxError(jsonObject)) {
throw new WxErrorException(WxError.fromJson(jsonObject));
}
return jsonObject;
}
return null;
}