From 9fe0dd688c83b6b96e729167e42cdc7f9a34a2d0 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 14 六月 2020 09:57:58 +0800
Subject: [PATCH] 加入日志
---
service-front/src/main/java/com/java110/front/controller/WechatGatewayController.java | 73 ++++++++++++++++++++++++------------
1 files changed, 49 insertions(+), 24 deletions(-)
diff --git a/service-front/src/main/java/com/java110/front/controller/WechatGatewayController.java b/service-front/src/main/java/com/java110/front/controller/WechatGatewayController.java
index 02fb909..ff02266 100644
--- a/service-front/src/main/java/com/java110/front/controller/WechatGatewayController.java
+++ b/service-front/src/main/java/com/java110/front/controller/WechatGatewayController.java
@@ -5,6 +5,7 @@
import com.java110.core.factory.AuthenticationFactory;
import com.java110.core.factory.WechatFactory;
import com.java110.utils.constant.WechatConstant;
+import com.java110.utils.util.StringUtil;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@@ -12,12 +13,14 @@
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
import java.util.Arrays;
/**
@@ -38,13 +41,10 @@
/**
* 寰俊鐧诲綍鎺ュ彛
*
- * @param param
* @param request
*/
- @RequestMapping(path = "/gateway", method = RequestMethod.POST)
- public ResponseEntity<String> auth(@RequestBody String param, HttpServletRequest request) {
- logger.debug("寰俊浼犲叆淇℃伅" + param);
-
+ @RequestMapping(path = "/gateway")
+ public ResponseEntity<String> gateway(HttpServletRequest request) {
String token = WechatConstant.TOKEN;
String signature = request.getParameter("signature");
@@ -62,12 +62,13 @@
}
String signature1 = AuthenticationFactory.SHA1Encode(sourceString).toLowerCase();
logger.debug("sourceString = " + sourceString + "||||" + "signature1 = " + signature1);
- if (signature1.equals(signature)) {
- if (echostr == null) {
- String postStr = param;//this.readStreamParameter(request.getInputStream());
- if (postStr == null || postStr.length() == 0) {
- responseStr = "鏈緭鍏ヤ换浣曞唴瀹�";
- } else {
+ try {
+ if (signature1.equals(signature)) {
+ if (echostr == null) {
+ String postStr = this.readStreamParameter(request.getInputStream());
+ if (StringUtil.isEmpty(postStr)) {
+ responseStr = "鏈緭鍏ヤ换浣曞唴瀹�";
+ } else {
/*if (postStr.equals(new String(postStr.getBytes("ISO-8859-1"), "ISO-8859-1"))) {
logger.debug(" This type is iso-8859-1");
postStr = new String(postStr.getBytes("ISO-8859-1"), "UTF-8");
@@ -84,9 +85,7 @@
}
postStr = new String(postStr.getBytes("GB2312"), "UTF-8");*/
- Document document;
- try {
- document = DocumentHelper.parseText(postStr);
+ Document document = DocumentHelper.parseText(postStr);
Element root = document.getRootElement();
String fromUserName = root.elementText("FromUserName");
String toUserName = root.elementText("ToUserName");
@@ -101,18 +100,19 @@
} else {
responseStr = eventResponseHandler(fromUserName, toUserName, keyword, event, eventKey);
}
- } catch (Exception e) {
- // TODO Auto-generated catch block
- logger.error("澶勭悊澶辫触", e);
- responseStr = "浜诧紝缃戠粶瓒呮椂锛岃绋嶅悗閲嶈瘯";
+
}
+ } else {
+ responseStr = echostr;
}
+ logger.debug(">>>>>>>>>>>>>..responseStr>>>>>>>>>>>>>>>" + responseStr);
} else {
- responseStr = echostr;
+ responseStr = "浜诧紝闈炴硶璁块棶锛岀鍚嶅け璐�";
}
- logger.debug(">>>>>>>>>>>>>..responseStr>>>>>>>>>>>>>>>" + responseStr);
- } else {
- responseStr = "浜诧紝闈炴硶璁块棶锛岀鍚嶅け璐�";
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ logger.error("澶勭悊澶辫触", e);
+ responseStr = "浜诧紝缃戠粶瓒呮椂锛岃绋嶅悗閲嶈瘯";
}
return new ResponseEntity<String>(responseStr, HttpStatus.OK);
@@ -174,4 +174,29 @@
}
return WechatFactory.formatText(toUserName, fromUserName, resultStr);
}
+
+ public String readStreamParameter(ServletInputStream in) {
+ StringBuilder buffer = new StringBuilder();
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(in));
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ buffer.append(line);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (null != reader) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ logger.debug("鍏紬鍙峰唴瀹�:" + buffer.toString());
+ return buffer.toString();
+ }
}
--
Gitblit v1.8.0