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