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