From c79b1ebed5a42a4cbb2f824232da2a51ff22a9a1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 04 十二月 2021 18:25:08 +0800
Subject: [PATCH] 功能完善

---
 app/src/main/java/com/yeshi/location/app/aop/SignValidate.java |   69 ++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/com/yeshi/location/app/aop/SignValidate.java b/app/src/main/java/com/yeshi/location/app/aop/SignValidate.java
index 58a935b..03797d9 100644
--- a/app/src/main/java/com/yeshi/location/app/aop/SignValidate.java
+++ b/app/src/main/java/com/yeshi/location/app/aop/SignValidate.java
@@ -1,14 +1,23 @@
 package com.yeshi.location.app.aop;
 
 import com.yeshi.location.app.entity.config.SystemConfigKey;
+import com.yeshi.location.app.service.inter.config.SystemConfigService;
+import com.yeshi.location.app.utils.ApiCodeConstant;
+import com.yeshi.location.app.utils.SystemInfoUtil;
 import com.yeshi.location.app.vo.AcceptData;
-import net.sf.json.JSONObject;
+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 org.yeshi.utils.StringUtil;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.PrintWriter;
 import java.util.*;
 
 //瀹㈡埛绔帴鍙g鍚嶉獙璇�
@@ -17,28 +26,42 @@
 @Order(2)
 public class SignValidate {
 
-    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 "";
-    }
+    public static final String EDP = "execution(* com.yeshi.location.app.controller.client..*.*(..))";
 
+    @Resource
+    private SystemConfigService systemConfigService;
+
+    @Around(EDP)
+    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
+
+        Object[] args = joinPoint.getArgs();
+        ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder
+                .getRequestAttributes();
+        PrintWriter out = null;//servletContainer.getResponse().getWriter();
+        AcceptData acceptData = null;
+        for (Object obj : args) {
+            if (obj instanceof AcceptData) {
+                acceptData = (AcceptData) obj;
+                break;
+            }
+        }
+
+        if (acceptData != null) {
+            acceptData.setSystem(SystemInfoUtil.getSystem(acceptData.getPlatform(), acceptData.getPackages()));
+        }
+
+        boolean signIsRight = true;//signIsRight(servletContainer.getRequest(), acceptData);
+        if (!signIsRight) {
+            return (JsonUtil.loadFalseResult(ApiCodeConstant.CODE_FAIL_SIGN_ERROR, "绛惧悕閿欒"));
+        }
+
+        if (Math.abs((acceptData.getTimestamp() - System.currentTimeMillis())) > 1000 * 60 * 10) {
+            out.print(JsonUtil.loadFalseResult(ApiCodeConstant.CODE_FAIL_OUT_TIME, "鏃堕棿閿欒"));
+            return null;
+        }
+
+        return joinPoint.proceed();
+    }
 
     /**
      * 鍒ゆ柇绛惧悕鐨勬纭�� Android version>50
@@ -72,6 +95,4 @@
             return false;
         }
     }
-
-
 }

--
Gitblit v1.8.0