From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 五月 2020 17:13:23 +0800
Subject: [PATCH] 饿了么绘图,添加口碑

---
 fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java
index e43d551..90f930e 100644
--- a/fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java
+++ b/fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java
@@ -1,6 +1,5 @@
 package com.yeshi.fanli.aspect;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -33,7 +32,7 @@
 @Aspect
 @Order(2)
 public class SignValidateAspect {
-	public static final String EDP = "execution(* com.yeshi.fanli.controller.client.*.*(..))";
+	public static final String EDP = "execution(* com.yeshi.fanli.controller.client.*.*.*(..))";
 
 	public static String KEY = "";
 
@@ -42,7 +41,7 @@
 	}
 
 	@Around(EDP)
-	public Object testAround(ProceedingJoinPoint joinPoint) throws IOException {
+	public Object testAround(ProceedingJoinPoint joinPoint) throws Throwable {
 		Object[] args = joinPoint.getArgs();
 		PrintWriter out = null;
 		ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
@@ -108,14 +107,27 @@
 
 			Object obj = null;
 			try {
+				long startTime = System.currentTimeMillis();
 				obj = joinPoint.proceed(args);
-			} catch (Throwable e) {
-				e.printStackTrace();
-				try {
-					LogHelper.errorDetailInfo(e, getHttpServletParams(request), request.getRequestURI().toString());
-				} catch (Exception e1) {
-					e1.printStackTrace();
+				final long responseTime = System.currentTimeMillis() - startTime;
+				// 璁板綍澶т簬2s鐨勮姹�
+				if (responseTime >= 2000) {
+					ThreadUtil.run(new Runnable() {
+
+						@Override
+						public void run() {
+							LogHelper.requestTime(url, params, responseTime);
+						}
+					});
+
 				}
+
+			} catch (Throwable e) {
+				LogHelper.errorDetailInfo(e, getHttpServletParams(request), request.getRequestURI().toString());
+				if (!Constant.IS_TEST)
+					out.print(JsonUtil.loadFalseResult(90009, "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"));
+				else
+					throw e;
 			}
 			return obj;
 		} else {
@@ -124,7 +136,7 @@
 			data.put("msg", "绛惧悕閿欒");
 			out.print(data);
 			out.close();
-			LogHelper.error("绛惧悕閿欒:" + getHttpServletParams(request));
+			LogHelper.error("绛惧悕閿欒:" + request.getRequestURI() + "-" + getHttpServletParams(request));
 			return null;
 		}
 	}
@@ -183,9 +195,9 @@
 		while (its.hasNext()) {
 			String key = its.next();
 
-			if (key.equalsIgnoreCase("callback")) {
-				fromWEB = true;
-			}
+			// if (key.equalsIgnoreCase("callback")) {
+			// fromWEB = true;
+			// }
 
 			if (key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("callback") || key.equalsIgnoreCase("_")) {
 				continue;
@@ -211,4 +223,25 @@
 		}
 	}
 
+	public static boolean signIsRight(JSONObject json) {
+		List<String> list = new ArrayList<>();
+		for (Iterator<String> its = json.keySet().iterator(); its.hasNext();) {
+			String key = its.next();
+			if (!key.equalsIgnoreCase("sign"))
+				list.add(key + "=" + json.optString(key));
+		}
+		Collections.sort(list);
+		String str = "";
+		for (String st : list) {
+			str += st + "&";
+		}
+		String sign = StringUtil.Md5(str + KEY);
+		if (sign.equalsIgnoreCase(json.optString("sign"))) {
+			return true;
+		} else {
+			return false;
+		}
+
+	}
+
 }

--
Gitblit v1.8.0