From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 一月 2024 17:17:55 +0800
Subject: [PATCH] 抖音转链修改

---
 fanli/src/main/java/com/yeshi/fanli/aspect/WXMPSignValidateAspect.java |  398 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 198 insertions(+), 200 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/aspect/WXMPSignValidateAspect.java b/fanli/src/main/java/com/yeshi/fanli/aspect/WXMPSignValidateAspect.java
index 69f4f97..470ea49 100644
--- a/fanli/src/main/java/com/yeshi/fanli/aspect/WXMPSignValidateAspect.java
+++ b/fanli/src/main/java/com/yeshi/fanli/aspect/WXMPSignValidateAspect.java
@@ -1,200 +1,198 @@
-package com.yeshi.fanli.aspect;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-import org.yeshi.utils.JsonUtil;
-
-import com.yeshi.fanli.dto.WXMPAcceptData;
-import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.ThreadUtil;
-
-import net.sf.json.JSONObject;
-
-/**
- * 寰俊灏忕▼搴忔帴鍙g鍚嶉獙璇�
- * 
- * @author Administrator
- *
- */
-@Component
-@Aspect
-@Order(2)
-public class WXMPSignValidateAspect {
-	public static final String EDP = "execution(* com.yeshi.fanli.controller.wxmp.*.*.*(..))";
-
-	public static String KEY = "";
-
-	static {
-		KEY = Constant.systemCommonConfig.getSignKey();
-	}
-
-	@Around(EDP)
-	public Object testAround(ProceedingJoinPoint joinPoint) throws IOException {
-		Object[] args = joinPoint.getArgs();
-		PrintWriter out = null;
-		ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
-				.getRequestAttributes();
-
-		out = servletContainer.getResponse().getWriter();
-		HttpServletRequest request = servletContainer.getRequest();
-
-		WXMPAcceptData acceptData = null;
-		for (Object obj : args) {
-			if (obj instanceof WXMPAcceptData) {
-				acceptData = (WXMPAcceptData) obj;
-			} else if (obj instanceof HttpServletRequest) {
-				request = (HttpServletRequest) obj;
-			}
-		}
-		boolean isRight = true;
-		if (acceptData == null) {
-			out.print(JsonUtil.loadFalseResult(-1, "绛惧悕閿欒"));
-			return null;
-		}
-
-		isRight = signIsRight(request);
-
-		// 绛惧悕鏄惁姝g‘
-		if (isRight) {
-			// 鍒ゆ柇绛惧悕瓒呮椂
-			if (Math.abs((acceptData.getTimeStamp()) - System.currentTimeMillis()) > 1000 * 60 * 10) {
-				JSONObject data = new JSONObject();
-				data.put("code", -2);
-				data.put("msg", "鏃堕棿閿欒");
-				out.print(data);
-				out.close();
-				return null;
-			}
-
-			final String url = request.getRequestURI();
-			@SuppressWarnings("unchecked")
-			final Map<String, Object> params = request.getParameterMap();
-			ThreadUtil.run(new Runnable() {
-				@Override
-				public void run() {
-					// 璁板綍璇锋眰鏃ュ織
-					LogHelper.requestInfo(url, params);
-				}
-			});
-
-			// 璁剧疆device
-			if (!StringUtil.isNullOrEmpty(acceptData.getOpenId())) {
-				acceptData.setDevice(acceptData.getAppId() + "-" + acceptData.getOpenId());
-			}
-
-			Object obj = null;
-			try {
-				long startTime = System.currentTimeMillis();
-				obj = joinPoint.proceed(args);
-				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());
-				out.print(JsonUtil.loadFalseResult(90009, "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"));
-			}
-			return obj;
-		} else {
-			JSONObject data = new JSONObject();
-			data.put("code", -1);
-			data.put("msg", "绛惧悕閿欒");
-			out.print(data);
-			out.close();
-			LogHelper.error("绛惧悕閿欒:" + request.getRequestURI() + "-" + getHttpServletParams(request));
-			return null;
-		}
-	}
-
-	/**
-	 * 
-	 * 
-	 * @param request
-	 * @return
-	 */
-	@SuppressWarnings("unchecked")
-	private boolean signIsRight(HttpServletRequest request) {
-		Map<String, Object> map = request.getParameterMap();
-		Iterator<String> its = map.keySet().iterator();
-		List<String> list = new ArrayList<>();
-
-		while (its.hasNext()) {
-			String key = its.next();
-			if (key.equalsIgnoreCase("sign")) {
-				continue;
-			}
-			Object value = map.get(key);
-			Object[] values = (Object[]) value;
-			list.add(key + "=" + values[0].toString());
-		}
-		Collections.sort(list);
-		String str = "";
-		for (String st : list) {
-			str += st + "&";
-		}
-		String sign = null;
-
-		sign = StringUtil.Md5(str + Constant.WXMP_SIGN_KEY);
-		if (sign.equalsIgnoreCase(request.getParameter("sign") + "")) {
-			return true;
-		} else {
-			return false;
-		}
-	}
-
-	/**
-	 * 鑾峰彇璇锋眰鍙傛暟淇℃伅
-	 * 
-	 * @param request
-	 * @return
-	 */
-	private String getHttpServletParams(HttpServletRequest request) {
-		if (request == null) {
-			return "";
-		}
-		Map map = request.getParameterMap();
-		if (map != null) {
-			Iterator<String> its = map.keySet().iterator();
-			JSONObject json = new JSONObject();
-			while (its.hasNext()) {
-				String next = its.next();
-				if (map.get(next) != null) {
-					Object[] objects = (Object[]) map.get(next);
-					if (objects != null && objects.length > 0) {
-						json.put(next, objects[0].toString());
-					}
-				}
-			}
-			return json.toString();
-		}
-		return "";
-	}
-
-}
+package com.yeshi.fanli.aspect;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.core.annotation.Order;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import org.yeshi.utils.JsonUtil;
+
+import com.yeshi.fanli.dto.WXMPAcceptData;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
+
+import net.sf.json.JSONObject;
+
+/**
+ * 寰俊灏忕▼搴忔帴鍙g鍚嶉獙璇�
+ * 
+ * @author Administrator
+ *
+ */
+//@Component
+@Aspect
+@Order(2)
+public class WXMPSignValidateAspect {
+	public static final String EDP = "execution(* com.yeshi.fanli.controller.wxmp..*.*(..))";
+
+	public static String KEY = "";
+
+	static {
+		KEY = Constant.systemCommonConfig.getSignKey();
+	}
+
+	@Around(EDP)
+	public Object testAround(ProceedingJoinPoint joinPoint) throws IOException {
+		Object[] args = joinPoint.getArgs();
+		PrintWriter out = null;
+		ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
+				.getRequestAttributes();
+
+		out = servletContainer.getResponse().getWriter();
+		HttpServletRequest request = servletContainer.getRequest();
+
+		WXMPAcceptData acceptData = null;
+		for (Object obj : args) {
+			if (obj instanceof WXMPAcceptData) {
+				acceptData = (WXMPAcceptData) obj;
+			} else if (obj instanceof HttpServletRequest) {
+				request = (HttpServletRequest) obj;
+			}
+		}
+		boolean isRight = true;
+		if (acceptData == null) {
+			out.print(JsonUtil.loadFalseResult(-1, "绛惧悕閿欒"));
+			return null;
+		}
+
+		isRight = signIsRight(request);
+
+		// 绛惧悕鏄惁姝g‘
+		if (isRight) {
+			// 鍒ゆ柇绛惧悕瓒呮椂
+			if (Math.abs((acceptData.getTimeStamp()) - System.currentTimeMillis()) > 1000 * 60 * 10) {
+				JSONObject data = new JSONObject();
+				data.put("code", -2);
+				data.put("msg", "鏃堕棿閿欒");
+				out.print(data);
+				out.close();
+				return null;
+			}
+
+			final String url = request.getRequestURI();
+			@SuppressWarnings("unchecked")
+			final Map<String, String[]> params = request.getParameterMap();
+			ThreadUtil.run(new Runnable() {
+				@Override
+				public void run() {
+					// 璁板綍璇锋眰鏃ュ織
+					LogHelper.requestInfo(url, params);
+				}
+			});
+
+			// 璁剧疆device
+			if (!StringUtil.isNullOrEmpty(acceptData.getOpenId())) {
+				acceptData.setDevice(acceptData.getAppId() + "-" + acceptData.getOpenId());
+			}
+
+			Object obj = null;
+			try {
+				long startTime = System.currentTimeMillis();
+				obj = joinPoint.proceed(args);
+				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());
+				out.print(JsonUtil.loadFalseResult(90009, "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"));
+			}
+			return obj;
+		} else {
+			JSONObject data = new JSONObject();
+			data.put("code", -1);
+			data.put("msg", "绛惧悕閿欒");
+			out.print(data);
+			out.close();
+			LogHelper.error("绛惧悕閿欒:" + request.getRequestURI() + "-" + getHttpServletParams(request));
+			return null;
+		}
+	}
+
+	/**
+	 * 
+	 * 
+	 * @param request
+	 * @return
+	 */
+	@SuppressWarnings("unchecked")
+	private boolean signIsRight(HttpServletRequest request) {
+		Map<String, String[]> map = request.getParameterMap();
+		Iterator<String> its = map.keySet().iterator();
+		List<String> list = new ArrayList<>();
+
+		while (its.hasNext()) {
+			String key = its.next();
+			if (key.equalsIgnoreCase("sign")) {
+				continue;
+			}
+			Object value = map.get(key);
+			Object[] values = (Object[]) value;
+			list.add(key + "=" + values[0].toString());
+		}
+		Collections.sort(list);
+		String str = "";
+		for (String st : list) {
+			str += st + "&";
+		}
+		String sign = null;
+
+		sign = StringUtil.Md5(str + Constant.WXMP_SIGN_KEY);
+		if (sign.equalsIgnoreCase(request.getParameter("sign") + "")) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * 鑾峰彇璇锋眰鍙傛暟淇℃伅
+	 * 
+	 * @param request
+	 * @return
+	 */
+	private String getHttpServletParams(HttpServletRequest request) {
+		if (request == null) {
+			return "";
+		}
+		Map map = request.getParameterMap();
+		if (map != null) {
+			Iterator<String> its = map.keySet().iterator();
+			JSONObject json = new JSONObject();
+			while (its.hasNext()) {
+				String next = its.next();
+				if (map.get(next) != null) {
+					Object[] objects = (Object[]) map.get(next);
+					if (objects != null && objects.length > 0) {
+						json.put(next, objects[0].toString());
+					}
+				}
+			}
+			return json.toString();
+		}
+		return "";
+	}
+
+}

--
Gitblit v1.8.0