xiewj 1 月之前
父節點
當前提交
10f94850a2

+ 4 - 0
720yun_fd_base/gis_common/pom.xml

@@ -176,6 +176,10 @@
             <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-utils-filestorage</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fdkankan</groupId>
+            <artifactId>4dkankan-utils-sign</artifactId>
+        </dependency>
         <!-- redis-config 需要此包 -->
         <!--<dependency>-->
             <!--<groupId>com.fasterxml.jackson.core</groupId>-->

+ 42 - 0
720yun_fd_base/gis_common/src/main/java/com/gis/common/httpclient/interceptor/SignInterceptor.java

@@ -0,0 +1,42 @@
+package com.gis.common.httpclient.interceptor;
+
+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.Value;
+import org.springframework.stereotype.Component;
+
+import java.time.Instant;
+
+/**
+ * @author Xiewj
+ * @date 2025/7/8
+ */
+@Component
+@Slf4j
+public class SignInterceptor implements Interceptor<JSONObject> {
+
+    @Value("${sign.publicKey}")
+    private String publicKey;
+    @Value("${sign.appId}")
+    private String appid;
+    /**
+     * 该方法在被调用时,并在beforeExecute前被调用
+     * @Param request Forest请求对象
+     * @Param args 方法被调用时传入的参数数组
+     */
+    @Override
+    public void onInvokeMethod(ForestRequest request, ForestMethod method, Object[] args) {
+        log.info("on invoke method sign");
+        JSONObject playload = new JSONObject();
+        long epochSecond = System.currentTimeMillis();
+        playload.put("appId", appid);
+        playload.put("timestamp", epochSecond);
+        request.addHeader("sign", RsaUtils.encipher(playload.toJSONString(), publicKey));  // 添加Header
+        request.addHeader("appid", appid);  // 添加Header
+
+    }
+}

+ 4 - 0
720yun_fd_base/gis_domain/pom.xml

@@ -21,5 +21,9 @@
             <groupId>com.fdkankan</groupId>
             <artifactId>4dkankan-common-utils</artifactId>
     </dependency>
+        <dependency>
+            <groupId>com.fdkankan</groupId>
+            <artifactId>4dkankan-utils-sign</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 4 - 1
720yun_fd_consumer/src/main/resources/application-sit.yml

@@ -104,4 +104,7 @@ forest:
     log-response-status: true # 打开/关闭Forest响应状态日志(默认为 true)
     log-response-content: true # 打开/关闭Forest响应内容日志(默认为 false)
     base-address-scheme: https
-    base-address-host: test.4dkankan.com
+    base-address-host: test.4dkankan.com
+sign:
+    appId: e78741a3ed1e17d8031480431d0ca1cb
+    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClytoWxKXT84TlqZNS6EHKAYOHQunnoeXmPaH+NelYJchc4nRWvW731A/Fim8Bjw3HfQDdN7QXit3VhUfSbcyPyhYoy4l+r4DbItLz0REa0f9kSUJ/fQ09CKO8bB8dfq1zh5Y7jiRjp3bZxvGPXP9t7GClW/6mhbj97Rkbh/VGSQIDAQAB

+ 5 - 0
pom.xml

@@ -77,6 +77,11 @@
                 <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.gis</groupId>
                 <artifactId>gis_common</artifactId>
                 <version>${gis.version}</version>