From da20b84fb1dbb266939deff9fd52f9a16f4e32fa Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 27 四月 2025 14:59:24 +0800
Subject: [PATCH] #生成入库任务优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java
new file mode 100644
index 0000000..32f3c6b
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java
@@ -0,0 +1,52 @@
+package com.vincent.rsf.server.common.interceptor.severlet;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+@WebFilter("/*") // 鎷︽埅鎵�鏈夎姹�
+public class ParameterAddingFilter implements Filter {
+
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+        // 鍒濆鍖栭�昏緫
+    }
+
+    @Override
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+            throws IOException, ServletException {
+
+        if (request instanceof HttpServletRequest) {
+            // 鍒涘缓鍙慨鏀瑰弬鏁扮殑璇锋眰鍖呰鍣�
+            ParameterAddableRequest wrappedRequest =
+                    new ParameterAddableRequest((HttpServletRequest) request);
+
+            // 娣诲姞鑷畾涔夊弬鏁�
+            addCustomParameters(wrappedRequest);
+
+            // 缁х画杩囨护鍣ㄩ摼
+            chain.doFilter(wrappedRequest, response);
+        } else {
+            chain.doFilter(request, response);
+        }
+    }
+
+    private void addCustomParameters(ParameterAddableRequest request) {
+        // 娣诲姞璇锋眰ID鍜屾椂闂存埑
+//        request.addParameter("requestId", UUID.randomUUID().toString());
+        request.addParameter("timestamp", String.valueOf(System.currentTimeMillis()));
+        // 鏍规嵁涓氬姟闇�姹傛坊鍔犲叾浠栧弬鏁�
+        String userAgent = request.getHeader("User-Agent");
+        if (userAgent != null && userAgent.contains("Mobile")) {
+            request.addParameter("deviceType", "mobile");
+        } else {
+            request.addParameter("deviceType", "desktop");
+        }
+    }
+
+    @Override
+    public void destroy() {
+        // 娓呯悊閫昏緫
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1