|
@ -67,45 +67,41 @@ public class WechatCoreController extends EnvelopRestEndpoint {
|
|
*/
|
|
*/
|
|
@RequestMapping(method = RequestMethod.POST)
|
|
@RequestMapping(method = RequestMethod.POST)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
public void receiveMessages(HttpServletRequest request, HttpServletResponse response) {
|
|
|
|
try {
|
|
|
|
String signature = request.getParameter("signature").toString();
|
|
|
|
String timestamp = request.getParameter("timestamp").toString();
|
|
|
|
String nonce = request.getParameter("nonce").toString();
|
|
|
|
|
|
|
|
if (validate(signature, timestamp, nonce)) {
|
|
|
|
String xmlStr = wechatCoreService.messageProcess(request);
|
|
|
|
// 判断返回值是xml、json格式(取关是空串)
|
|
|
|
Boolean flag = wechatCoreService.isXML(xmlStr);
|
|
|
|
if (xmlStr == "error") {
|
|
|
|
// 服务器错误
|
|
|
|
response.setStatus(500);
|
|
|
|
} else if (!flag && StringUtils.isNotEmpty(xmlStr)) {
|
|
|
|
JSONObject json = new JSONObject(xmlStr);
|
|
|
|
|
|
public void receiveMessages(HttpServletRequest request, HttpServletResponse response) throws Exception{
|
|
|
|
|
|
|
|
String signature = request.getParameter("signature").toString();
|
|
|
|
String timestamp = request.getParameter("timestamp").toString();
|
|
|
|
String nonce = request.getParameter("nonce").toString();
|
|
|
|
|
|
|
|
if (validate(signature, timestamp, nonce)) {
|
|
|
|
String xmlStr = wechatCoreService.messageProcess(request);
|
|
|
|
// 判断返回值是xml、json格式(取关是空串)
|
|
|
|
Boolean flag = wechatCoreService.isXML(xmlStr);
|
|
|
|
if (xmlStr == "error") {
|
|
|
|
// 服务器错误
|
|
|
|
response.setStatus(500);
|
|
|
|
} else if (!flag && StringUtils.isNotEmpty(xmlStr)) {
|
|
|
|
JSONObject json = new JSONObject(xmlStr);
|
|
// if (json.has("openId")) {
|
|
// if (json.has("openId")) {
|
|
// if (StringUtils.isNotEmpty(json.getString("openId")) && !("undefined".equals(json.getString("openId")))) {
|
|
// if (StringUtils.isNotEmpty(json.getString("openId")) && !("undefined".equals(json.getString("openId")))) {
|
|
// pushMsgTask.putWxMsg(getAccessToken(), json.getInt("type"), json.getString("openId"), null, json);
|
|
// pushMsgTask.putWxMsg(getAccessToken(), json.getInt("type"), json.getString("openId"), null, json);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
} else {
|
|
|
|
// 返回消息(图文消息)
|
|
|
|
response.setHeader("Content-type", "text/html;charset=UTF-8");
|
|
|
|
//这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859
|
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
|
|
|
} else {
|
|
|
|
// 返回消息(图文消息)
|
|
|
|
response.setHeader("Content-type", "text/html;charset=UTF-8");
|
|
|
|
//这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859
|
|
|
|
response.setCharacterEncoding("UTF-8");
|
|
|
|
|
|
logger.info(xmlStr);
|
|
|
|
|
|
logger.info(xmlStr);
|
|
|
|
|
|
response.getWriter().print(xmlStr);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
// 验证失败
|
|
|
|
response.setStatus(401);
|
|
|
|
|
|
response.getWriter().print(xmlStr);
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
// 服务器错误
|
|
|
|
response.setStatus(500);
|
|
|
|
|
|
} else {
|
|
|
|
// 验证失败
|
|
|
|
response.setStatus(401);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|