rsf-admin/.env
@@ -1,3 +1,3 @@ VITE_BASE_IP=192.168.4.56 VITE_BASE_IP=127.0.0.1 # VITE_BASE_IP=47.76.147.249 VITE_BASE_PORT=8080 rsf-server/src/main/java/com/vincent/rsf/server/common/config/WebMvcConfig.java
@@ -1,7 +1,7 @@ package com.vincent.rsf.server.common.config; import com.vincent.rsf.server.common.constant.Constants; import com.vincent.rsf.server.common.interceptor.DynamicFieldsInterceptor; import com.vincent.rsf.server.common.interceptor.severlet.DynamicFieldsInterceptor; import com.vincent.rsf.server.common.utils.Http; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/DynamicFieldsInterceptor.java
File was deleted rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/CustomParameterFilter.java
New file @@ -0,0 +1,37 @@ package com.vincent.rsf.server.common.interceptor.severlet; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Component public class CustomParameterFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { ParameterAddableRequest wrappedRequest = new ParameterAddableRequest(request); // 添加系统级参数 wrappedRequest.addParameter("systemVersion", "1.0.0"); wrappedRequest.addParameter("environment", System.getProperty("spring.profiles.active", "default")); // 添加请求追踪信息 addTraceInfo(wrappedRequest); filterChain.doFilter(wrappedRequest, response); } private void addTraceInfo(ParameterAddableRequest request) { String traceId = request.getHeader("X-Trace-Id"); // if (traceId == null || traceId.isEmpty()) { // traceId = UUID.randomUUID().toString(); // } request.addParameter("traceId", "traceId"); } } rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/DynamicFieldsInterceptor.java
New file @@ -0,0 +1,66 @@ package com.vincent.rsf.server.common.interceptor.severlet; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author Ryan * @version 1.0 * @title DynamicFieldsInterceptor * @description * @create 2025/4/16 16:10 */ @Slf4j public class DynamicFieldsInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // if (request instanceof ParameterAddableRequest) { // ParameterAddableRequest wrappedRequest = (ParameterAddableRequest) request; // // // 添加业务参数 // wrappedRequest.addParameter("processedBy", "CustomParameterInterceptor"); // // // 可以从Session或其他地方获取数据 // Object userId = request.getSession().getAttribute("userId"); // if (userId != null) { // wrappedRequest.addParameter("currentUserId", userId.toString()); // } // } // // return true; // List<Fields> fields = FieldsUtils.getFieldsSta(); // List<String> fieldsKey = fields.stream().filter(item -> item.getFlagEnable() == 1).map(Fields::getFields).collect(Collectors.toList()); // fieldsKey.forEach(key -> { // if (request.getParameterMap().keySet().contains(key)) { // request.setAttribute(key, request.getParameterMap().get(key)); // } // }) // if (request instanceof ParameterAddableRequest) { // ParameterAddableRequest wrappedRequest = (ParameterAddableRequest) request; // wrappedRequest.addParameter("DynamicFields", "springValue"); // } // return true; return HandlerInterceptor.super.preHandle(request, response, handler); } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { HandlerInterceptor.super.postHandle(request, response, handler, modelAndView); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println(response.getOutputStream().toString()); HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } } rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddableRequest.java
New file @@ -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); } } rsf-server/src/main/java/com/vincent/rsf/server/common/interceptor/severlet/ParameterAddingFilter.java
New file @@ -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() { // 清理逻辑 } } rsf-server/src/main/java/order.sql
File was deleted rsf-server/src/main/java/orderItem.sql
File was deleted rsf-server/src/main/java/stockItem.sql
File was deleted rsf-server/src/main/java/wave.sql
File was deleted rsf-server/src/main/java/waveItem.sql
File was deleted