From f7e46d204be81fd2ebb9e5a90728e945700a2c23 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期五, 17 四月 2026 17:27:10 +0800
Subject: [PATCH] 配置

---
 rsf-http-audit/src/main/java/com/vincent/rsf/httpaudit/config/HttpAuditAutoConfiguration.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/rsf-http-audit/src/main/java/com/vincent/rsf/httpaudit/config/HttpAuditAutoConfiguration.java b/rsf-http-audit/src/main/java/com/vincent/rsf/httpaudit/config/HttpAuditAutoConfiguration.java
index b33ef9d..effc825 100644
--- a/rsf-http-audit/src/main/java/com/vincent/rsf/httpaudit/config/HttpAuditAutoConfiguration.java
+++ b/rsf-http-audit/src/main/java/com/vincent/rsf/httpaudit/config/HttpAuditAutoConfiguration.java
@@ -1,9 +1,17 @@
 package com.vincent.rsf.httpaudit.config;
 
 import com.vincent.rsf.httpaudit.mapper.HttpAuditLogMapper;
+import com.vincent.rsf.httpaudit.mapper.HttpAuditConfigMapper;
+import com.vincent.rsf.httpaudit.mapper.HttpAuditRuleMapper;
 import com.vincent.rsf.httpaudit.props.HttpAuditProperties;
 import com.vincent.rsf.httpaudit.service.HttpAuditAsyncRecorder;
+import com.vincent.rsf.httpaudit.service.HttpAuditCleanupService;
+import com.vincent.rsf.httpaudit.service.HttpAuditDbConfigService;
+import com.vincent.rsf.httpaudit.service.HttpAuditOutboundRecorder;
+import com.vincent.rsf.httpaudit.service.HttpAuditRuleService;
+import com.vincent.rsf.httpaudit.service.HttpAuditRuleServiceImpl;
 import com.vincent.rsf.httpaudit.web.HttpAuditFilter;
+import com.vincent.rsf.httpaudit.web.OutboundHttpAuditInterceptor;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -13,6 +21,7 @@
 import org.springframework.core.Ordered;
 import org.springframework.core.env.Environment;
 import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 
 import java.util.concurrent.Executor;
@@ -22,14 +31,50 @@
  */
 @Configuration
 @EnableAsync
+@EnableScheduling
 @EnableConfigurationProperties(HttpAuditProperties.class)
 @ConditionalOnProperty(prefix = "http-audit", name = "enabled", havingValue = "true", matchIfMissing = true)
 @MapperScan("com.vincent.rsf.httpaudit.mapper")
 public class HttpAuditAutoConfiguration {
 
     @Bean
+    public HttpAuditRuleService httpAuditRuleService(HttpAuditRuleMapper mapper, HttpAuditProperties props) {
+        return new HttpAuditRuleServiceImpl(mapper, props);
+    }
+
+    @Bean
     public HttpAuditAsyncRecorder httpAuditAsyncRecorder(HttpAuditLogMapper httpAuditLogMapper) {
         return new HttpAuditAsyncRecorder(httpAuditLogMapper);
+    }
+
+    @Bean
+    public HttpAuditCleanupService httpAuditCleanupService(HttpAuditLogMapper httpAuditLogMapper, HttpAuditProperties props) {
+        return new HttpAuditCleanupService(httpAuditLogMapper, props);
+    }
+
+    @Bean
+    public HttpAuditDbConfigService httpAuditDbConfigService(HttpAuditConfigMapper httpAuditConfigMapper) {
+        return new HttpAuditDbConfigService(httpAuditConfigMapper);
+    }
+
+    @Bean
+    public HttpAuditOutboundRecorder httpAuditOutboundRecorder(
+            HttpAuditAsyncRecorder recorder,
+            HttpAuditProperties props,
+            Environment env,
+            HttpAuditRuleService httpAuditRuleService) {
+        return new HttpAuditOutboundRecorder(recorder, props, env, httpAuditRuleService);
+    }
+
+    @Bean
+    public OutboundHttpAuditInterceptor outboundHttpAuditInterceptor(HttpAuditOutboundRecorder httpAuditOutboundRecorder) {
+        return new OutboundHttpAuditInterceptor(httpAuditOutboundRecorder);
+    }
+
+    @Bean
+    public HttpAuditRestTemplateBeanPostProcessor httpAuditRestTemplateBeanPostProcessor(
+            OutboundHttpAuditInterceptor outboundHttpAuditInterceptor) {
+        return new HttpAuditRestTemplateBeanPostProcessor(outboundHttpAuditInterceptor);
     }
 
     @Bean(name = "httpAuditExecutor")
@@ -45,8 +90,9 @@
 
     @Bean
     public FilterRegistrationBean<HttpAuditFilter> httpAuditFilterRegistration(
-            HttpAuditAsyncRecorder recorder, HttpAuditProperties props, Environment env) {
-        HttpAuditFilter filter = new HttpAuditFilter(recorder, props, env);
+            HttpAuditAsyncRecorder recorder, HttpAuditProperties props, Environment env,
+            HttpAuditRuleService httpAuditRuleService) {
+        HttpAuditFilter filter = new HttpAuditFilter(recorder, props, env, httpAuditRuleService);
         FilterRegistrationBean<HttpAuditFilter> reg = new FilterRegistrationBean<>();
         reg.setFilter(filter);
         reg.addUrlPatterns("/*");

--
Gitblit v1.9.1