浏览代码

master-sign

lyhzzz 1 月之前
父节点
当前提交
7f87a569f2

+ 5 - 1
pom.xml

@@ -23,7 +23,11 @@
             <artifactId>4dkankan-utils-redis</artifactId>
             <version>3.0.0-SNAPSHOT</version>
         </dependency>
-
+        <dependency>
+            <groupId>com.fdkankan</groupId>
+            <artifactId>4dkankan-utils-sign</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-utils-geo-query</artifactId>

+ 34 - 0
src/main/java/com/fdkankan/fusion/httpClient/SignInterceptor.java

@@ -0,0 +1,34 @@
+package com.fdkankan.fusion.httpClient;
+
+import com.alibaba.fastjson.JSONObject;
+import com.dtflys.forest.http.ForestRequest;
+import com.dtflys.forest.interceptor.Interceptor;
+import com.dtflys.forest.reflection.ForestMethod;
+import com.fdkankan.sign.RsaUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.time.Instant;
+
+@Component
+@Slf4j
+public class SignInterceptor implements Interceptor<JSONObject> {
+
+    @Value("${fusion.publicKey}")
+    public String publicKey;
+    @Value("${fusion.appid}")
+    public String appId;
+    @Override
+    public void onInvokeMethod(ForestRequest request, ForestMethod method, Object[] args) {
+        JSONObject playload = new JSONObject();
+        Instant now = Instant.now();
+        long epochSecond = now.getEpochSecond();
+        playload.put("appId", appId);
+        playload.put("timestamp", epochSecond);
+        request.addHeader("appId", appId);
+        request.addHeader("sign", RsaUtils.encipher(playload.toJSONString(), publicKey));
+
+    }
+}

+ 3 - 7
src/main/java/com/fdkankan/fusion/httpClient/client/FdKKClient.java

@@ -3,6 +3,7 @@ package com.fdkankan.fusion.httpClient.client;
 import com.alibaba.fastjson.JSONObject;
 import com.dtflys.forest.annotation.*;
 import com.fdkankan.fusion.common.PageInfo;
+import com.fdkankan.fusion.httpClient.SignInterceptor;
 import com.fdkankan.fusion.httpClient.address.FdkkAddressSource;
 import com.fdkankan.fusion.httpClient.request.FdRoomAddParam;
 import com.fdkankan.fusion.httpClient.request.FdkkCameraParam;
@@ -58,19 +59,14 @@ public interface FdKKClient {
     /**
      * 获取v4场景数据
      */
-    @Post("/api/fusion/scene/list")
+    @Post(value = "/api/fusion/scene/list",interceptor = SignInterceptor.class)
     FdkkResponse sceneList(@JSONBody ScenePram param, @Header("token") String token);
     /**
      * 获取v4场景数据
      */
-    @Post("/api/fusion/scene/list")
+    @Post(value = "/api/fusion/scene/list",interceptor = SignInterceptor.class)
     FdkkResponse sceneList(@JSONBody ScenePram param);
 
-    /**
-     * 获取dataSource
-     */
-    @Get("/api/scene/querySceneDataSource")
-    String querySceneDataSource(@Query("num") String num);
 
     /**
      * 绑定相机

+ 11 - 9
src/main/java/com/fdkankan/fusion/httpClient/client/LaserClient.java

@@ -1,11 +1,13 @@
 package com.fdkankan.fusion.httpClient.client;
 
 import com.dtflys.forest.annotation.*;
+import com.fdkankan.fusion.httpClient.SignInterceptor;
 import com.fdkankan.fusion.httpClient.address.LaserAddressSource;
 import com.fdkankan.fusion.httpClient.request.LaserSceneParam;
 import com.fdkankan.fusion.httpClient.request.SSDownSceneParam;
 import com.fdkankan.fusion.httpClient.response.FdkkResponse;
 import com.fdkankan.fusion.request.ScenePram;
+import org.apache.ibatis.plugin.Intercepts;
 
 /**
  * 获取,调用laser服务
@@ -16,20 +18,20 @@ public interface LaserClient {
     /**
      * 获取深时场景数据
      */
-    @Post("/laser/4dage/sceneList")
+    @Post(value = "/laser/4dage/sceneList",interceptor = SignInterceptor.class)
     FdkkResponse sceneList(@JSONBody LaserSceneParam param, @Header("fdToken") String token);
     /**
      * 获取深时场景数据
      */
-    @Post("/laser/4dage/managerSceneList")
+    @Post(value = "/laser/4dage/managerSceneList",interceptor = SignInterceptor.class)
     FdkkResponse sceneList(@JSONBody LaserSceneParam param);
     /**
      * 点云生成obj场景
      */
-    @Post("/laser/4dage/scene/buildSceneObj")
+    @Post(value = "/laser/4dage/scene/buildSceneObj",interceptor = SignInterceptor.class)
     FdkkResponse buildSceneObj(@JSONBody LaserSceneParam param,@Header ("fdToken") String token);
 
-    @Post("/laser/4dage/sceneDetail")
+    @Post(value = "/laser/4dage/sceneDetail",interceptor = SignInterceptor.class)
     FdkkResponse sceneDetail(@JSONBody LaserSceneParam param, @Header ("fdToken") String fdToken);
 
 
@@ -37,26 +39,26 @@ public interface LaserClient {
      * 下载深时场景
      * status :0:正在生成 1,初次生成  2,已经生成直接下载 3,重新生成
      */
-    @Post("/laser/4dage/downOfflineScene")
+    @Post(value = "/laser/4dage/downOfflineScene",interceptor = SignInterceptor.class)
     FdkkResponse downOfflineScene(@JSONBody SSDownSceneParam param) ;
     /**
      * 检测深时场景是否需要重新生成
      *
      * status :离线包状态是否需要重新生成 0未生成,1 不需要 2需要
      */
-    @Post("/laser/4dage/downOfflineSceneStatus")
+    @Post(value = "/laser/4dage/downOfflineSceneStatus",interceptor = SignInterceptor.class)
     FdkkResponse downOfflineSceneStatus(@JSONBody SSDownSceneParam param) ;
 
 
     //https://uat-laser.4dkankan.com/laser/dataset/SS-t-j3nYkCDuZEN/getDataSet
-    @Get("/laser/dataset/{num}/getDataSet")
+    @Get(value = "/laser/dataset/{num}/getDataSet",interceptor = SignInterceptor.class)
     FdkkResponse getSceneInfo(@Var("num")String num);
 
     //https://test-mix3d.4dkankan.com/laser/4dage/SS-t-j3nYkCDuZEN/getDataSetAndControlPoint
-    @Post("/laser/4dage/{num}/getDataSetAndControlPoint")
+    @Post(value = "/laser/4dage/{num}/getDataSetAndControlPoint",interceptor = SignInterceptor.class)
     FdkkResponse getDataSetAndControlPoint(@Var("num")String num);
 
-    @Get("/laser/filter/{num}/query")
+    @Get(value = "/laser/filter/{num}/query",interceptor = SignInterceptor.class)
     FdkkResponse getSceneInfoQuery(@Var("num")String num,@Query("datasetId") String datasetId);
 
 }

+ 3 - 0
src/main/resources/application.yaml

@@ -73,3 +73,6 @@ sa-token:
 fdkk:
   register:
     validCode: 2a22bac40f44af4d3b5fdc20ea706fc5
+
+fusion:
+  publickey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIMHZ3+4usJYNqKuAiYMZ9K0XapaVhZYhl24PSeT1geXsaTvZGLutBRTrRZK/QPJ5ZgVKTOyCbUeWteA3URzTg8CAwEAAQ==