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/ParameterAddableRequest.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java
new file mode 100644
index 0000000..1283b6a
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java
@@ -0,0 +1,61 @@
+package com.vincent.rsf.server.common.interceptor.severlet;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.util.*;
+
+public class ParameterAddableRequest extends HttpServletRequestWrapper {
+    private final Map<String, String[]> additionalParams = new HashMap<>();
+
+    public ParameterAddableRequest(HttpServletRequest request) {
+        super(request);
+    }
+
+    /**
+     * 娣诲姞鏂板弬鏁�
+     * @param name 鍙傛暟鍚�
+     * @param value 鍙傛暟鍊�
+     */
+    public void addParameter(String name, String value) {
+        additionalParams.put(name, new String[]{value});
+    }
+
+    /**
+     * 娣诲姞鏂板弬鏁帮紙澶氬�硷級
+     * @param name 鍙傛暟鍚�
+     * @param values 鍙傛暟鍊兼暟缁�
+     */
+    public void addParameter(String name, String[] values) {
+        additionalParams.put(name, values);
+    }
+
+    @Override
+    public String getParameter(String name) {
+        if (additionalParams.containsKey(name)) {
+            return additionalParams.get(name)[0];
+        }
+        return super.getParameter(name);
+    }
+
+    @Override
+    public Map<String, String[]> getParameterMap() {
+        Map<String, String[]> combinedMap = new HashMap<>(super.getParameterMap());
+        combinedMap.putAll(additionalParams);
+        return Collections.unmodifiableMap(combinedMap);
+    }
+
+    @Override
+    public Enumeration<String> getParameterNames() {
+        Set<String> names = new HashSet<>(Collections.list(super.getParameterNames()));
+        names.addAll(additionalParams.keySet());
+        return Collections.enumeration(names);
+    }
+
+    @Override
+    public String[] getParameterValues(String name) {
+        if (additionalParams.containsKey(name)) {
+            return additionalParams.get(name);
+        }
+        return super.getParameterValues(name);
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1