2026-04-07 10:09:25.960 INFO 73288 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 10:09:25.975 INFO 73288 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 73288 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 10:09:25.975 DEBUG 73288 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 10:09:25.975 INFO 73288 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 10:09:26.427 INFO 73288 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 10:09:26.428 INFO 73288 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 10:09:26.442 INFO 73288 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 10:09:26.480 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 10:09:26.480 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 10:09:26.480 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 10:09:26.480 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 10:09:26.480 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 10:09:26.480 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 10:09:26.481 DEBUG 73288 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 10:09:26.747 INFO 73288 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 10:09:26.751 INFO 73288 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:09:26.751 INFO 73288 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 10:09:26.751 INFO 73288 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 10:09:26.771 INFO 73288 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 10:09:26.771 INFO 73288 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 781 ms traceId= tenantId=2026-04-07 10:09:26.804 DEBUG 73288 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 10:09:26.804 INFO 73288 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 10:09:26.804 DEBUG 73288 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 10:09:26.829 INFO 73288 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 10:09:26.859 INFO 73288 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 10:09:27.130 INFO 73288 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 10:09:27.149 INFO 73288 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 10:09:27.158 INFO 73288 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 10:09:27.208 DEBUG 73288 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 10:09:27.271 DEBUG 73288 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 10:09:27.287 INFO 73288 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:09:27.287 INFO 73288 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:09:27.294 DEBUG 73288 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 10:09:27.315 INFO 73288 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@342dc040, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a8ead9, org.springframework.security.web.context.SecurityContextHolderFilter@62ee1c89, org.springframework.security.web.header.HeaderWriterFilter@81dfdee, org.springframework.web.filter.CorsFilter@281ca256, org.springframework.security.web.authentication.logout.LogoutFilter@2d3eb1ea, com.yuxin.finrep.web.security.TenantContextFilter@6e9a10cd, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@52a74328, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3093b9ff, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@26feccf7, org.springframework.security.web.session.SessionManagementFilter@3d2eb7fa, org.springframework.security.web.access.ExceptionTranslationFilter@57df09a7, org.springframework.security.web.access.intercept.AuthorizationFilter@3c68e82] traceId= tenantId=2026-04-07 10:09:27.491 DEBUG 73288 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:09:27.505 DEBUG 73288 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:09:27.674 INFO 73288 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:09:27.678 INFO 73288 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 10:09:27.683 INFO 73288 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.942 seconds (process running for 2.197) traceId= tenantId=2026-04-07 10:09:33.191 INFO 73288 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 10:09:33.191 INFO 73288 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 10:09:33.192 INFO 73288 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 10:25:05.006 INFO 73862 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 10:25:05.024 INFO 73862 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 73862 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 10:25:05.024 DEBUG 73862 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 10:25:05.025 INFO 73862 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 10:25:05.432 INFO 73862 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 10:25:05.433 INFO 73862 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 10:25:05.445 INFO 73862 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 10:25:05.480 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 10:25:05.481 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 10:25:05.481 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 10:25:05.481 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 10:25:05.481 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 10:25:05.481 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 10:25:05.482 DEBUG 73862 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 10:25:05.738 INFO 73862 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 10:25:05.743 INFO 73862 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:25:05.743 INFO 73862 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 10:25:05.743 INFO 73862 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 10:25:05.763 INFO 73862 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 10:25:05.763 INFO 73862 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 720 ms traceId= tenantId=2026-04-07 10:25:05.792 DEBUG 73862 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 10:25:05.792 INFO 73862 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 10:25:05.792 DEBUG 73862 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 10:25:05.822 INFO 73862 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 10:25:05.852 INFO 73862 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 10:25:06.101 INFO 73862 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 10:25:06.120 INFO 73862 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 10:25:06.130 INFO 73862 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 10:25:06.178 DEBUG 73862 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 10:25:06.242 DEBUG 73862 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 10:25:06.257 INFO 73862 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:25:06.257 INFO 73862 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:25:06.263 DEBUG 73862 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 10:25:06.284 INFO 73862 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3c68e82, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1e66bf2d, org.springframework.security.web.context.SecurityContextHolderFilter@3d2eb7fa, org.springframework.security.web.header.HeaderWriterFilter@18209303, org.springframework.web.filter.CorsFilter@7112fa5, org.springframework.security.web.authentication.logout.LogoutFilter@44f23927, com.yuxin.finrep.web.security.TenantContextFilter@3ed7dd70, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5e278e25, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@62ee1c89, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@342dc040, org.springframework.security.web.session.SessionManagementFilter@2573b149, org.springframework.security.web.access.ExceptionTranslationFilter@7474196, org.springframework.security.web.access.intercept.AuthorizationFilter@671f545b] traceId= tenantId=2026-04-07 10:25:06.457 DEBUG 73862 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:25:06.470 DEBUG 73862 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:25:06.631 INFO 73862 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:25:06.636 INFO 73862 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 10:25:06.640 INFO 73862 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.807 seconds (process running for 1.998) traceId= tenantId=2026-04-07 10:30:59.864 INFO 73862 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:30:59.865 INFO 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:30:59.865 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 10:30:59.865 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 10:30:59.865 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 10:30:59.867 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@55e805e7 traceId= tenantId=2026-04-07 10:30:59.867 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@5571c50d traceId= tenantId=2026-04-07 10:30:59.867 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 10:30:59.867 INFO 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms traceId= tenantId=2026-04-07 10:30:59.871 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=34b338c6faa340ab9852f90bf8023cb2, tenantId=null, userId=null traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.881 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.889 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.890 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.890 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.891 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.892 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.893 DEBUG 73862 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.893 DEBUG 73862 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: f2946f5ebb84416a86506e8c03b94145 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.925 DEBUG 73862 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.945 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:30:59.945 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:32:14.983 ERROR 73862 --- [Druid-ConnectionPool-Create-1415887228] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://10.192.72.13:7289/finrep?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true, errorCode 0, state 08S01 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:175) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:446) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1690) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1811) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2793) Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:150) at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:166) at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89) at com.mysql.cj.NativeSession.connect(NativeSession.java:121) at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:945) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) ... 6 common frames omitted Caused by: java.net.ConnectException: Operation timed out at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Net.java:591) at java.base/sun.nio.ch.Net.connect(Net.java:580) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:633) at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ... 9 common frames omitted traceId= tenantId=2026-04-07 10:33:29.988 ERROR 73862 --- [Druid-ConnectionPool-Create-1415887228] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://10.192.72.13:7289/finrep?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true, errorCode 0, state 08S01 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:175) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:446) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1690) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1811) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2793) Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:150) at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:166) at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89) at com.mysql.cj.NativeSession.connect(NativeSession.java:121) at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:945) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) ... 6 common frames omitted Caused by: java.net.ConnectException: Operation timed out at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Net.java:591) at java.base/sun.nio.ch.Net.connect(Net.java:580) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:633) at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ... 9 common frames omitted traceId= tenantId=2026-04-07 10:33:29.988 INFO 73862 --- [Druid-ConnectionPool-Create-1415887228] c.a.druid.pool.DruidAbstractDataSource : {dataSource-1} failContinuous is true traceId= tenantId=2026-04-07 10:34:41.578 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=aeb5039d70ad46d192a18d99702c4b0d, tenantId=null, userId=null traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.580 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.581 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.581 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.581 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.581 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.581 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.582 DEBUG 73862 --- [http-nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.582 DEBUG 73862 --- [http-nio-8080-exec-2] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 7c659bcc3c634ce9af121a3b51b93808 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.584 DEBUG 73862 --- [http-nio-8080-exec-2] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.584 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:41.584 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:45.502 ERROR 73862 --- [Druid-ConnectionPool-Create-1415887228] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://10.192.72.13:7289/finrep?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true, errorCode 0, state 08S01 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:175) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:446) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1690) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1811) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2793) Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:150) at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:166) at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89) at com.mysql.cj.NativeSession.connect(NativeSession.java:121) at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:945) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) ... 6 common frames omitted Caused by: java.net.ConnectException: Operation timed out at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Net.java:591) at java.base/sun.nio.ch.Net.connect(Net.java:580) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:633) at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ... 9 common frames omitted traceId= tenantId=2026-04-07 10:34:46.427 INFO 73862 --- [Druid-ConnectionPool-Create-1415887228] c.a.druid.pool.DruidAbstractDataSource : {dataSource-1} failContinuous is false traceId= tenantId=2026-04-07 10:34:46.591 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.597 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.603 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.607 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.618 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.670 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.671 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.671 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] from current transaction traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.688 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.688 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:30:59.945994(LocalDateTime), 2026-04-07T10:30:59.945994(LocalDateTime), 1(Integer) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.781 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.782 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.782 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.782 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.782 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3a37d53b] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.920 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=609ae1f3f31840cfab3d28d2ba75e4df traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.920 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=609ae1f3f31840cfab3d28d2ba75e4df traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.921 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.922 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e979ce1] was not registered for synchronization because synchronization is not active traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.965 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:46.965 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:46.965 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:46.965 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:46.965 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:46.970 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will not be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.970 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:46.970 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.011 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.012 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.012 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] from current transaction traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.013 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.014 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:34:41.585074(LocalDateTime), 2026-04-07T10:34:41.585074(LocalDateTime), 1(Integer) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.018 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.019 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e979ce1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.067 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.067 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.068 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.068 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.069 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.105 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.106 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.106 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.106 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.106 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f12ea1] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.116 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.117 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.118 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] from current transaction traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.131 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.132 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:31(LocalDateTime), 2026-04-07T10:34:47.020618(LocalDateTime), 2026-04-07T10:34:47.020615(LocalDateTime), 1(Integer), 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.197 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=736a8dafab0446f491feed20e44bcbaf traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.197 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=736a8dafab0446f491feed20e44bcbaf traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.197 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.197 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@46d06192] was not registered for synchronization because synchronization is not active traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.197 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.197 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.197 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.225 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.225 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.225 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.225 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.225 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3056d8e1] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.243 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.244 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@46d06192] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.291 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.291 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.292 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.292 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.292 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.317 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=609ae1f3f31840cfab3d28d2ba75e4df traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.318 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=609ae1f3f31840cfab3d28d2ba75e4df traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.318 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.318 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2f3f00f2] was not registered for synchronization because synchronization is not active traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.319 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will not be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.319 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.319 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.341 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.341 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.342 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] from current transaction traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.343 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.343 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:34:42(LocalDateTime), 2026-04-07T10:34:47.244479(LocalDateTime), 2026-04-07T10:34:47.244475(LocalDateTime), 1(Integer), 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.365 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.365 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2f3f00f2] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.433 INFO 73862 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8000/v1/outline/l1, body={"task_id":"609ae1f3f31840cfab3d28d2ba75e4df","tenant_id":"default","report_type":"test"} traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.438 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8000/v1/outline/l1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.442 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.442 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"609ae1f3f31840cfab3d28d2ba75e4df","tenant_id":"default","report_type":"test"}] as "application/json" traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.442 INFO 73862 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8000/v1/outline/l1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.446 ERROR 73862 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent连接超时: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:538) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:164) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.net.ConnectException: Connection refused at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:684) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638) at java.base/sun.net.www.http.HttpClient.(HttpClient.java:283) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1329) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1262) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1148) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1077) at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79) at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:112) at com.yuxin.finrep.infrastructure.config.RestTemplateConfig$LoggingClientInterceptor.intercept(RestTemplateConfig.java:83) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:88) at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:72) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) ... 117 common frames omitted traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.446 ERROR 73862 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成失败: taskId=609ae1f3f31840cfab3d28d2ba75e4df, error=AI模型不可用 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.447 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.447 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1584e0ba] was not registered for synchronization because synchronization is not active traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.447 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will not be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.447 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.447 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.459 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.459 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.459 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.459 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.459 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3e6942e2] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.493 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.493 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1584e0ba] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.538 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.538 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.538 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.538 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.539 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.576 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=736a8dafab0446f491feed20e44bcbaf traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.576 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=736a8dafab0446f491feed20e44bcbaf traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.576 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.576 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@29ea149a] was not registered for synchronization because synchronization is not active traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.576 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.576 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.576 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.582 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.582 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.582 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] from current transaction traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.583 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.583 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), AI模型不可用(String), 2026-04-07T10:31(LocalDateTime), 2026-04-07T10:34:47.493219(LocalDateTime), 2026-04-07T10:34:47(LocalDateTime), 2026-04-07T10:34:47.493217(LocalDateTime), 1(Integer), 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.621 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.621 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@29ea149a] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 INFO 73862 --- [http-nio-8080-exec-2] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8000/v1/outline/l1, body={"task_id":"736a8dafab0446f491feed20e44bcbaf","tenant_id":"default","report_type":"test"} traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.web.client.RestTemplate : HTTP POST http://localhost:8000/v1/outline/l1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.web.client.RestTemplate : Writing [{"task_id":"736a8dafab0446f491feed20e44bcbaf","tenant_id":"default","report_type":"test"}] as "application/json" traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 INFO 73862 --- [http-nio-8080-exec-2] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8000/v1/outline/l1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 ERROR 73862 --- [http-nio-8080-exec-2] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent连接超时: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:538) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:164) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.net.ConnectException: Connection refused at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:684) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638) at java.base/sun.net.www.http.HttpClient.(HttpClient.java:283) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1329) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1262) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1148) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1077) at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79) at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:112) at com.yuxin.finrep.infrastructure.config.RestTemplateConfig$LoggingClientInterceptor.intercept(RestTemplateConfig.java:83) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:88) at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:72) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) ... 117 common frames omitted traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 ERROR 73862 --- [http-nio-8080-exec-2] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成失败: taskId=736a8dafab0446f491feed20e44bcbaf, error=AI模型不可用 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.622 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3bc8cd01] was not registered for synchronization because synchronization is not active traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.623 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.623 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.623 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.668 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.668 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3bc8cd01] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.676 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.676 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.676 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.676 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.676 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f02b005] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.713 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.713 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.713 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.713 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.713 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.758 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.758 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.758 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] from current transaction traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.758 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.759 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), AI模型不可用(String), 2026-04-07T10:34:42(LocalDateTime), 2026-04-07T10:34:47.669027(LocalDateTime), 2026-04-07T10:34:47(LocalDateTime), 2026-04-07T10:34:47.669026(LocalDateTime), 1(Integer), 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.768 ERROR 73862 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=609ae1f3f31840cfab3d28d2ba75e4df, error=AI模型不可用 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.768 ERROR 73862 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=609ae1f3f31840cfab3d28d2ba75e4df, error=AI模型不可用 com.yuxin.finrep.common.exception.BusinessException: AI模型不可用 at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:180) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.768 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.769 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7e9ef75a] was not registered for synchronization because synchronization is not active traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.769 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will not be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.769 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.769 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.813 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.813 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7e9ef75a] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.852 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.852 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.852 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.852 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.852 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1e5e894c] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.858 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.858 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.858 DEBUG 73862 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5755f2a5] will be managed by Spring traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.858 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.858 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.901 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.901 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.901 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] from current transaction traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.902 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.903 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: AI模型不可用(String), 2026-04-07T10:31(LocalDateTime), 2026-04-07T10:34:47.813520(LocalDateTime), 2026-04-07T10:34:47(LocalDateTime), 2026-04-07T10:34:47.813519(LocalDateTime), 1(Integer), 609ae1f3f31840cfab3d28d2ba75e4df(String) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.946 ERROR 73862 --- [http-nio-8080-exec-2] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=736a8dafab0446f491feed20e44bcbaf, error=AI模型不可用 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.946 ERROR 73862 --- [http-nio-8080-exec-2] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=736a8dafab0446f491feed20e44bcbaf, error=AI模型不可用 com.yuxin.finrep.common.exception.BusinessException: AI模型不可用 at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:180) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.946 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.946 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32163acb] was not registered for synchronization because synchronization is not active traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.946 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.946 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.946 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.991 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.991 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32163acb] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:47.992 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.992 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.992 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.992 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:47.992 DEBUG 73862 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c526cb7] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.035 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.035 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.035 DEBUG 73862 --- [http-nio-8080-exec-2] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.035 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.035 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.081 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.081 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.081 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] from current transaction traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.082 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.082 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: AI模型不可用(String), 2026-04-07T10:34:42(LocalDateTime), 2026-04-07T10:34:47.991544(LocalDateTime), 2026-04-07T10:34:47(LocalDateTime), 2026-04-07T10:34:47.991541(LocalDateTime), 1(Integer), 736a8dafab0446f491feed20e44bcbaf(String) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.083 ERROR 73862 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=609ae1f3f31840cfab3d28d2ba75e4df, error=任务启动失败: AI模型不可用 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.087 DEBUG 73862 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.087 WARN 73862 --- [http-nio-8080-exec-1] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.100 DEBUG 73862 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.101 DEBUG 73862 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:34:48.087 (truncated)...] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.106 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.DisconnectedClient : Looks like the client has gone away: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe (For a full stack trace, set the log category 'org.apache.commons.logging.LogAdapter$Slf4jLocationAwareLog@1423284b' to TRACE level.) traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.106 DEBUG 73862 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.106 DEBUG 73862 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=34b338c6faa340ab9852f90bf8023cb2 tenantId=2026-04-07 10:34:48.106 DEBUG 73862 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:34:48.174 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.175 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.175 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.175 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.175 DEBUG 73862 --- [http-nio-8080-exec-2] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17fd8032] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.267 ERROR 73862 --- [http-nio-8080-exec-2] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=736a8dafab0446f491feed20e44bcbaf, error=任务启动失败: AI模型不可用 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.267 DEBUG 73862 --- [http-nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.267 WARN 73862 --- [http-nio-8080-exec-2] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.267 DEBUG 73862 --- [http-nio-8080-exec-2] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.268 DEBUG 73862 --- [http-nio-8080-exec-2] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:34:48.267 (truncated)...] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.268 DEBUG 73862 --- [http-nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.268 DEBUG 73862 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=aeb5039d70ad46d192a18d99702c4b0d tenantId=2026-04-07 10:34:48.269 DEBUG 73862 --- [http-nio-8080-exec-2] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:35:03.517 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=2bb4b10900774251ae76aef54ce9ce85, tenantId=null, userId=null traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.518 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.519 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.519 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.519 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.519 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.519 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.520 DEBUG 73862 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.520 DEBUG 73862 --- [http-nio-8080-exec-3] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 0037e1fa8c9744c2b4b33c8e40fd9585 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.520 DEBUG 73862 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.521 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.521 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.568 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.568 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.568 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.568 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.569 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.615 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.616 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.616 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] from current transaction traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.618 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.619 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:35:03.521261(LocalDateTime), 2026-04-07T10:35:03.521261(LocalDateTime), 1(Integer) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.714 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.714 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.715 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.715 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.715 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@74335937] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.811 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=0a44004087994af7b39cf3357560e3e0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.811 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=0a44004087994af7b39cf3357560e3e0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.811 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.811 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63f9f79b] was not registered for synchronization because synchronization is not active traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.811 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.811 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.812 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.857 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.857 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63f9f79b] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.904 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.904 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.904 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.904 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.905 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.953 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.953 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.953 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] from current transaction traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.955 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:03.955 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:35:04(LocalDateTime), 2026-04-07T10:35:03.857325(LocalDateTime), 2026-04-07T10:35:03.857322(LocalDateTime), 1(Integer), 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.051 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.051 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.051 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.051 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.051 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@36c28273] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.144 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=0a44004087994af7b39cf3357560e3e0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.144 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=0a44004087994af7b39cf3357560e3e0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.144 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.144 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7d5f0ea3] was not registered for synchronization because synchronization is not active traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.145 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.145 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.145 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.193 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.193 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7d5f0ea3] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.193 INFO 73862 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8000/v1/outline/l1, body={"task_id":"0a44004087994af7b39cf3357560e3e0","tenant_id":"default","report_type":"test"} traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.194 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : HTTP POST http://localhost:8000/v1/outline/l1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.194 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.194 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Writing [{"task_id":"0a44004087994af7b39cf3357560e3e0","tenant_id":"default","report_type":"test"}] as "application/json" traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.194 INFO 73862 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8000/v1/outline/l1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.195 ERROR 73862 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent连接超时: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:538) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:164) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.net.ConnectException: Connection refused at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:684) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638) at java.base/sun.net.www.http.HttpClient.(HttpClient.java:283) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1329) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1262) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1148) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1077) at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79) at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:112) at com.yuxin.finrep.infrastructure.config.RestTemplateConfig$LoggingClientInterceptor.intercept(RestTemplateConfig.java:83) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:88) at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:72) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) ... 117 common frames omitted traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.196 ERROR 73862 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成失败: taskId=0a44004087994af7b39cf3357560e3e0, error=AI模型不可用 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.196 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.196 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4606b3c3] was not registered for synchronization because synchronization is not active traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.196 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.196 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.197 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.244 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.244 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4606b3c3] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.293 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.293 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.294 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.294 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.294 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.636 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.637 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.637 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] from current transaction traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.638 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.638 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), AI模型不可用(String), 2026-04-07T10:35:04(LocalDateTime), 2026-04-07T10:35:04.244899(LocalDateTime), 2026-04-07T10:35:04(LocalDateTime), 2026-04-07T10:35:04.244877(LocalDateTime), 1(Integer), 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.737 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.737 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.737 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.738 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.738 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@398ce4bc] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.846 ERROR 73862 --- [http-nio-8080-exec-3] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=0a44004087994af7b39cf3357560e3e0, error=AI模型不可用 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.846 ERROR 73862 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=0a44004087994af7b39cf3357560e3e0, error=AI模型不可用 com.yuxin.finrep.common.exception.BusinessException: AI模型不可用 at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:180) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.847 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.847 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@178d80d2] was not registered for synchronization because synchronization is not active traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.848 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.848 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.848 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.898 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.898 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@178d80d2] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.943 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.943 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.943 DEBUG 73862 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.943 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.944 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.991 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.991 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.991 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] from current transaction traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.992 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:04.992 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: AI模型不可用(String), 2026-04-07T10:35:04(LocalDateTime), 2026-04-07T10:35:04.898869(LocalDateTime), 2026-04-07T10:35:04(LocalDateTime), 2026-04-07T10:35:04.898867(LocalDateTime), 1(Integer), 0a44004087994af7b39cf3357560e3e0(String) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.084 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.084 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.084 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.084 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.084 DEBUG 73862 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@701e5bf6] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.178 ERROR 73862 --- [http-nio-8080-exec-3] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=0a44004087994af7b39cf3357560e3e0, error=任务启动失败: AI模型不可用 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.178 DEBUG 73862 --- [http-nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.178 WARN 73862 --- [http-nio-8080-exec-3] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.178 DEBUG 73862 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.178 DEBUG 73862 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:35:05.178 (truncated)...] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.179 DEBUG 73862 --- [http-nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.179 DEBUG 73862 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=2bb4b10900774251ae76aef54ce9ce85 tenantId=2026-04-07 10:35:05.179 DEBUG 73862 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:36:13.148 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=6517874e379949b0928e457639ca4984, tenantId=null, userId=null traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.152 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.154 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.154 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.154 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.154 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.154 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.155 DEBUG 73862 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.155 DEBUG 73862 --- [http-nio-8080-exec-5] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 1ecf9346cba04e9880a7e7510c7e82ce traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.158 DEBUG 73862 --- [http-nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.160 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.160 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.272 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.272 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.272 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.272 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.273 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.323 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.323 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.323 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] from current transaction traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.327 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.327 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:36:13.160534(LocalDateTime), 2026-04-07T10:36:13.160534(LocalDateTime), 1(Integer) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.423 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.423 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.423 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.423 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.423 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56f470bb] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.518 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=e7d7224b842c431b9cf277289906a89e traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.518 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=e7d7224b842c431b9cf277289906a89e traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.519 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.519 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1687ff5f] was not registered for synchronization because synchronization is not active traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.519 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.519 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.519 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.580 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.580 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1687ff5f] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.634 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.634 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.634 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.635 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.635 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.683 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.684 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.684 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] from current transaction traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.685 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.686 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:36:13(LocalDateTime), 2026-04-07T10:36:13.580928(LocalDateTime), 2026-04-07T10:36:13.580924(LocalDateTime), 1(Integer), e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.783 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.783 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.783 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.783 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.783 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f1b77b9] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.879 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=e7d7224b842c431b9cf277289906a89e traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.879 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=e7d7224b842c431b9cf277289906a89e traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.879 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.879 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@44446c99] was not registered for synchronization because synchronization is not active traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.880 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.880 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.880 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.931 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.932 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@44446c99] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.932 INFO 73862 --- [http-nio-8080-exec-5] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8000/v1/outline/l1, body={"task_id":"e7d7224b842c431b9cf277289906a89e","tenant_id":"default","report_type":"test"} traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.933 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : HTTP POST http://localhost:8000/v1/outline/l1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.934 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.934 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Writing [{"task_id":"e7d7224b842c431b9cf277289906a89e","tenant_id":"default","report_type":"test"}] as "application/json" traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.934 INFO 73862 --- [http-nio-8080-exec-5] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8000/v1/outline/l1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.936 ERROR 73862 --- [http-nio-8080-exec-5] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent连接超时: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:8000/v1/outline/l1": Connection refused at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:538) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:164) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.net.ConnectException: Connection refused at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:684) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638) at java.base/sun.net.www.http.HttpClient.(HttpClient.java:283) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1329) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1262) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1148) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1077) at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79) at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:112) at com.yuxin.finrep.infrastructure.config.RestTemplateConfig$LoggingClientInterceptor.intercept(RestTemplateConfig.java:83) at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:88) at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:72) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) ... 117 common frames omitted traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.937 ERROR 73862 --- [http-nio-8080-exec-5] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成失败: taskId=e7d7224b842c431b9cf277289906a89e, error=AI模型不可用 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.938 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.938 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6ae105bc] was not registered for synchronization because synchronization is not active traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.938 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.938 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.939 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.990 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:13.990 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6ae105bc] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.041 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.041 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.042 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.042 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.042 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.096 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.097 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.097 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] from current transaction traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.098 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.099 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), AI模型不可用(String), 2026-04-07T10:36:13(LocalDateTime), 2026-04-07T10:36:13.990662(LocalDateTime), 2026-04-07T10:36:14(LocalDateTime), 2026-04-07T10:36:13.990657(LocalDateTime), 1(Integer), e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.196 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.197 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.197 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.197 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.197 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@33d2d91d] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.389 ERROR 73862 --- [http-nio-8080-exec-5] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=e7d7224b842c431b9cf277289906a89e, error=AI模型不可用 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.389 ERROR 73862 --- [http-nio-8080-exec-5] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=e7d7224b842c431b9cf277289906a89e, error=AI模型不可用 com.yuxin.finrep.common.exception.BusinessException: AI模型不可用 at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:180) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel1Outline(PythonAgentClientImpl.java:78) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:56) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.390 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.391 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@563b1223] was not registered for synchronization because synchronization is not active traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.391 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will not be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.391 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.391 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.438 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.438 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@563b1223] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.485 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.485 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.485 DEBUG 73862 --- [http-nio-8080-exec-5] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@54beb2b0] will be managed by Spring traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.485 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.486 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.533 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.533 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.533 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] from current transaction traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.534 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.535 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: AI模型不可用(String), 2026-04-07T10:36:13(LocalDateTime), 2026-04-07T10:36:14.438664(LocalDateTime), 2026-04-07T10:36:14(LocalDateTime), 2026-04-07T10:36:14.438662(LocalDateTime), 1(Integer), e7d7224b842c431b9cf277289906a89e(String) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.630 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.630 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.630 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.630 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.630 DEBUG 73862 --- [http-nio-8080-exec-5] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@54f9c81c] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.724 ERROR 73862 --- [http-nio-8080-exec-5] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=e7d7224b842c431b9cf277289906a89e, error=任务启动失败: AI模型不可用 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.725 DEBUG 73862 --- [http-nio-8080-exec-5] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.725 WARN 73862 --- [http-nio-8080-exec-5] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.725 DEBUG 73862 --- [http-nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.725 DEBUG 73862 --- [http-nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:36:14.725 (truncated)...] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.726 DEBUG 73862 --- [http-nio-8080-exec-5] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.726 DEBUG 73862 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=6517874e379949b0928e457639ca4984 tenantId=2026-04-07 10:36:14.727 DEBUG 73862 --- [http-nio-8080-exec-5] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:37:09.696 INFO 73862 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 10:37:09.699 INFO 73862 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 10:37:09.700 INFO 73862 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 10:37:14.877 INFO 77188 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 10:37:14.892 INFO 77188 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 77188 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 10:37:14.892 DEBUG 77188 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 10:37:14.893 INFO 77188 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 10:37:15.345 INFO 77188 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 10:37:15.346 INFO 77188 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 10:37:15.359 INFO 77188 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 10:37:15.396 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 10:37:15.396 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 10:37:15.396 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 10:37:15.396 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 10:37:15.397 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 10:37:15.397 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 10:37:15.398 DEBUG 77188 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 10:37:15.656 INFO 77188 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 10:37:15.660 INFO 77188 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:37:15.660 INFO 77188 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 10:37:15.660 INFO 77188 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 10:37:15.679 INFO 77188 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 10:37:15.679 INFO 77188 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 769 ms traceId= tenantId=2026-04-07 10:37:15.709 DEBUG 77188 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 10:37:15.709 INFO 77188 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 10:37:15.709 DEBUG 77188 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 10:37:15.737 INFO 77188 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 10:37:15.765 INFO 77188 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 10:37:16.036 INFO 77188 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 10:37:16.055 INFO 77188 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 10:37:16.066 INFO 77188 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 10:37:16.122 DEBUG 77188 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 10:37:16.195 DEBUG 77188 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 10:37:16.212 INFO 77188 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:37:16.212 INFO 77188 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:37:16.222 DEBUG 77188 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 10:37:16.245 INFO 77188 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@87fc0fc, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@671f545b, org.springframework.security.web.context.SecurityContextHolderFilter@759f45f1, org.springframework.security.web.header.HeaderWriterFilter@744fb110, org.springframework.web.filter.CorsFilter@c335b9, org.springframework.security.web.authentication.logout.LogoutFilter@54d2f5d3, com.yuxin.finrep.web.security.TenantContextFilter@701d2b59, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1479ed5a, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3211cc84, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@75c8d8e7, org.springframework.security.web.session.SessionManagementFilter@21ce2e4d, org.springframework.security.web.access.ExceptionTranslationFilter@5bba9949, org.springframework.security.web.access.intercept.AuthorizationFilter@1bde9a22] traceId= tenantId=2026-04-07 10:37:16.419 DEBUG 77188 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:37:16.434 DEBUG 77188 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:37:16.624 INFO 77188 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:37:16.628 INFO 77188 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 10:37:16.633 INFO 77188 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.937 seconds (process running for 2.149) traceId= tenantId=2026-04-07 10:37:23.984 INFO 77188 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:37:23.984 INFO 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:37:23.985 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 10:37:23.985 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 10:37:23.985 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 10:37:23.985 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@548d6c79 traceId= tenantId=2026-04-07 10:37:23.986 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@282a6889 traceId= tenantId=2026-04-07 10:37:23.986 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 10:37:23.986 INFO 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms traceId= tenantId=2026-04-07 10:37:23.989 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=bfa31a37820b410b8fd4cf339f90a0e3, tenantId=null, userId=null traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:23.996 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.004 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.005 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.005 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.006 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.007 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.007 DEBUG 77188 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.008 DEBUG 77188 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 61c9e249632242c9b199e6d4ee8d354a traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.039 DEBUG 77188 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.060 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.060 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.658 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.665 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.669 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.672 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.680 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.737 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.739 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.739 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] from current transaction traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.760 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.760 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:37:24.061245(LocalDateTime), 2026-04-07T10:37:24.061245(LocalDateTime), 1(Integer) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.858 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.858 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.859 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.860 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.860 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@30fa3301] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.956 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=407394ff9c304f10b2d55827351f8b1e traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.957 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=407394ff9c304f10b2d55827351f8b1e traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.957 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.958 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@15ce9c71] was not registered for synchronization because synchronization is not active traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.958 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will not be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.958 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:24.959 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.012 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.013 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@15ce9c71] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.061 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.062 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.062 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.062 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.063 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.112 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.112 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.114 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] from current transaction traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.128 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.130 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:37:24(LocalDateTime), 2026-04-07T10:37:25.013927(LocalDateTime), 2026-04-07T10:37:25.013918(LocalDateTime), 1(Integer), 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.226 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.226 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.227 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.227 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.227 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a379873] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.322 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=407394ff9c304f10b2d55827351f8b1e traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.322 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=407394ff9c304f10b2d55827351f8b1e traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.322 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.323 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3953aa35] was not registered for synchronization because synchronization is not active traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.323 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will not be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.323 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.323 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.372 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.372 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3953aa35] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.437 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"407394ff9c304f10b2d55827351f8b1e","tenant_id":"default","report_type":"test"} traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.442 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.445 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.445 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"407394ff9c304f10b2d55827351f8b1e","tenant_id":"default","report_type":"test"}] as "application/json" traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:25.445 INFO 77188 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.324 INFO 77188 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=4ms traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.324 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Response 200 OK traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.326 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.355 INFO 77188 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为核心章节,需提供基础分析与论证"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低,且无独立报告支撑,不单独呈现"}],"overall_logic":"报告以核心分析章节为起点,围绕融资/交易方案展开论证,后续章节根据逻辑递进进行衔接,确保结构清晰、重点突出,服务于整体方案的可行性与可执行性。"} traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.427 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.427 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b921ab3] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.427 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.427 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.427 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 7ded62011bf9426d9818c81e0371c262(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.482 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b921ab3] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.542 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b921ab3] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.542 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6b921ab3] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.637 ERROR 77188 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成异常: taskId=407394ff9c304f10b2d55827351f8b1e, error= ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.selectById(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy135.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy133.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy132.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.639 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.639 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e075465] was not registered for synchronization because synchronization is not active traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.639 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will not be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.639 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.640 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.688 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.688 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e075465] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.737 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.738 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.738 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.738 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.738 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.788 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.788 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.788 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] from current transaction traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.789 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.789 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 大纲生成异常: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [](String), 2026-04-07T10:37:24(LocalDateTime), 2026-04-07T10:37:27.688830(LocalDateTime), 2026-04-07T10:37:25(LocalDateTime), 2026-04-07T10:37:27.688824(LocalDateTime), 1(Integer), 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.887 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.887 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.887 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.887 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.887 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@405eaa87] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.981 ERROR 77188 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=407394ff9c304f10b2d55827351f8b1e, error=大纲生成异常: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.985 ERROR 77188 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=407394ff9c304f10b2d55827351f8b1e, error=大纲生成失败 com.yuxin.finrep.common.exception.BusinessException: 大纲生成失败 at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:118) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.selectById(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) ... 112 common frames omitted Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy135.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy133.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy132.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.986 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.986 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@37f88f5] was not registered for synchronization because synchronization is not active traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.987 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will not be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.987 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:27.987 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.039 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.039 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@37f88f5] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.087 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.087 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.087 DEBUG 77188 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@48101d81] will be managed by Spring traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.087 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.088 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.139 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.139 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.139 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] from current transaction traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.140 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.140 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: 大纲生成失败(String), 2026-04-07T10:37:24(LocalDateTime), 2026-04-07T10:37:28.039353(LocalDateTime), 2026-04-07T10:37:25(LocalDateTime), 2026-04-07T10:37:28.039352(LocalDateTime), 1(Integer), 407394ff9c304f10b2d55827351f8b1e(String) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.236 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.236 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.236 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.237 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.237 DEBUG 77188 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac6cbe2] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.334 ERROR 77188 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=407394ff9c304f10b2d55827351f8b1e, error=任务启动失败: 大纲生成失败 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.338 DEBUG 77188 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.339 WARN 77188 --- [http-nio-8080-exec-1] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.360 DEBUG 77188 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.360 DEBUG 77188 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:37:28.340 (truncated)...] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.367 DEBUG 77188 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.367 DEBUG 77188 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=bfa31a37820b410b8fd4cf339f90a0e3 tenantId=2026-04-07 10:37:28.367 DEBUG 77188 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:38:37.667 INFO 77188 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 10:38:37.669 INFO 77188 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 10:38:37.670 INFO 77188 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 10:42:09.707 INFO 77624 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 10:42:09.721 INFO 77624 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 77624 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 10:42:09.721 DEBUG 77624 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 10:42:09.721 INFO 77624 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 10:42:10.139 INFO 77624 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 10:42:10.140 INFO 77624 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 10:42:10.154 INFO 77624 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 7 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 10:42:10.191 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 10:42:10.191 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 10:42:10.191 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 10:42:10.191 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 10:42:10.191 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 10:42:10.191 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 10:42:10.192 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 10:42:10.193 DEBUG 77624 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 10:42:10.445 INFO 77624 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 10:42:10.448 INFO 77624 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:42:10.449 INFO 77624 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 10:42:10.449 INFO 77624 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 10:42:10.468 INFO 77624 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 10:42:10.468 INFO 77624 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 720 ms traceId= tenantId=2026-04-07 10:42:10.496 DEBUG 77624 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 10:42:10.496 INFO 77624 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 10:42:10.496 DEBUG 77624 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 10:42:10.521 INFO 77624 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 10:42:10.550 INFO 77624 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 10:42:10.797 INFO 77624 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 10:42:10.817 INFO 77624 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 10:42:10.827 INFO 77624 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 10:42:10.880 DEBUG 77624 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 10:42:10.947 DEBUG 77624 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 10:42:10.964 INFO 77624 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:42:10.964 INFO 77624 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:42:10.971 DEBUG 77624 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 10:42:10.994 INFO 77624 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@78508e6b, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1bde9a22, org.springframework.security.web.context.SecurityContextHolderFilter@7bd694a5, org.springframework.security.web.header.HeaderWriterFilter@49353d43, org.springframework.web.filter.CorsFilter@2cc97e47, org.springframework.security.web.authentication.logout.LogoutFilter@5c9e6d95, com.yuxin.finrep.web.security.TenantContextFilter@1570cad0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3921135e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3a239dac, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@74a03bd5, org.springframework.security.web.session.SessionManagementFilter@14b9df65, org.springframework.security.web.access.ExceptionTranslationFilter@4679554d, org.springframework.security.web.access.intercept.AuthorizationFilter@59cde35] traceId= tenantId=2026-04-07 10:42:11.179 DEBUG 77624 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:42:11.194 DEBUG 77624 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:42:11.361 INFO 77624 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:42:11.367 INFO 77624 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 10:42:11.372 INFO 77624 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.828 seconds (process running for 2.016) traceId= tenantId=2026-04-07 10:42:17.067 INFO 77624 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:42:17.067 INFO 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:42:17.067 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 10:42:17.067 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 10:42:17.067 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 10:42:17.068 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@5ea2eb0c traceId= tenantId=2026-04-07 10:42:17.069 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@76014927 traceId= tenantId=2026-04-07 10:42:17.069 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 10:42:17.069 INFO 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms traceId= tenantId=2026-04-07 10:42:17.072 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=4c4547faf62b48dfa1751870c5c2d022, tenantId=null, userId=null traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.079 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.087 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.088 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.088 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.089 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.089 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.090 DEBUG 77624 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.090 DEBUG 77624 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 482e1b7eaf4d45af8bd59fedfb1b0792 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.134 DEBUG 77624 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.170 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.170 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.763 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.772 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.779 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.783 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.796 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.852 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.853 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.853 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] from current transaction traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.874 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.874 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:42:17.170827(LocalDateTime), 2026-04-07T10:42:17.170827(LocalDateTime), 1(Integer) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.972 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.973 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.973 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.974 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:17.974 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5e2d6f79] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.070 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=0c87210f2e05441f9aee1727a11f3bb3 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.071 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=0c87210f2e05441f9aee1727a11f3bb3 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.071 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.072 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ddef928] was not registered for synchronization because synchronization is not active traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.072 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.072 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.073 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.125 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.126 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ddef928] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.174 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.175 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.175 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.175 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.176 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.224 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.225 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.226 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] from current transaction traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.238 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.239 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:42:17(LocalDateTime), 2026-04-07T10:42:18.127778(LocalDateTime), 2026-04-07T10:42:18.127767(LocalDateTime), 1(Integer), 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.335 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.335 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.335 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.335 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.335 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6c78396b] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.430 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=0c87210f2e05441f9aee1727a11f3bb3 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.430 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=0c87210f2e05441f9aee1727a11f3bb3 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.430 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.430 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63fc32ad] was not registered for synchronization because synchronization is not active traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.430 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.430 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.431 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.478 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.478 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63fc32ad] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.540 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"0c87210f2e05441f9aee1727a11f3bb3","tenant_id":"default","report_type":"test"} traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.545 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.548 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.548 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"0c87210f2e05441f9aee1727a11f3bb3","tenant_id":"default","report_type":"test"}] as "application/json" traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:18.548 INFO 77624 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.677 INFO 77624 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=2ms traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.680 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Response 200 OK traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.682 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.708 INFO 77624 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为核心分析部分,需提供中等篇幅内容支撑论证"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低且无独立报告支持,不单独呈现"}],"overall_logic":"报告以核心分析章节为逻辑主线,围绕融资/交易方案展开论证,通过关键要素的系统性梳理与对比,形成完整的方案建议基础。次要章节根据必要性进行取舍,确保结构紧凑且重点突出。"} traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.785 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.785 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9fdbbab] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.786 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.786 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.786 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 6335dcbccb764b8fad6a817e9ca9db66(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.841 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9fdbbab] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.886 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9fdbbab] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.886 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9fdbbab] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.980 ERROR 77624 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成异常: taskId=0c87210f2e05441f9aee1727a11f3bb3, error= ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.selectById(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy135.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy133.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy132.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.983 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.983 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c3f1aa4] was not registered for synchronization because synchronization is not active traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.983 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.983 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:20.983 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.031 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.031 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2c3f1aa4] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.079 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.079 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.080 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.080 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.080 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.127 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.128 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.128 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] from current transaction traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.128 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.128 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 大纲生成异常: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [](String), 2026-04-07T10:42:17(LocalDateTime), 2026-04-07T10:42:21.031810(LocalDateTime), 2026-04-07T10:42:18(LocalDateTime), 2026-04-07T10:42:21.031804(LocalDateTime), 1(Integer), 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.224 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.224 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.224 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.224 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.224 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f6bce95] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.320 ERROR 77624 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=0c87210f2e05441f9aee1727a11f3bb3, error=大纲生成异常: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.323 ERROR 77624 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=0c87210f2e05441f9aee1727a11f3bb3, error=大纲生成失败 com.yuxin.finrep.common.exception.BusinessException: 大纲生成失败 at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:118) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.selectById(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) ... 112 common frames omitted Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy135.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy133.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy132.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.325 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.325 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17eb631c] was not registered for synchronization because synchronization is not active traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.325 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.326 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.326 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.374 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.374 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17eb631c] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.420 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.420 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.420 DEBUG 77624 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.420 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.421 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.470 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.471 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.471 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] from current transaction traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.472 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.472 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: 大纲生成失败(String), 2026-04-07T10:42:17(LocalDateTime), 2026-04-07T10:42:21.374598(LocalDateTime), 2026-04-07T10:42:18(LocalDateTime), 2026-04-07T10:42:21.374597(LocalDateTime), 1(Integer), 0c87210f2e05441f9aee1727a11f3bb3(String) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.567 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.567 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.567 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.567 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.567 DEBUG 77624 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3518d195] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.663 ERROR 77624 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=0c87210f2e05441f9aee1727a11f3bb3, error=任务启动失败: 大纲生成失败 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.666 DEBUG 77624 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.667 WARN 77624 --- [http-nio-8080-exec-1] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.692 DEBUG 77624 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.693 DEBUG 77624 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:42:21.668 (truncated)...] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.699 DEBUG 77624 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.699 DEBUG 77624 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=4c4547faf62b48dfa1751870c5c2d022 tenantId=2026-04-07 10:42:21.700 DEBUG 77624 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:42:49.247 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=a42ec17ecff547eab386963702d11ad9, tenantId=null, userId=null traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.248 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.249 DEBUG 77624 --- [http-nio-8080-exec-3] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 80722ca2b70242e5841513a8be4bb822 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.251 DEBUG 77624 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.251 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.251 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.298 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.298 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.299 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.299 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.299 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.348 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.349 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.349 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] from current transaction traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.350 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.351 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:42:49.251460(LocalDateTime), 2026-04-07T10:42:49.251460(LocalDateTime), 1(Integer) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.445 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.446 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.446 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.446 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.446 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6fdfc3d2] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.540 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=5ba129e1a4fe4f38beaec496ade22738 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.540 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=5ba129e1a4fe4f38beaec496ade22738 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.540 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.540 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5c845b4f] was not registered for synchronization because synchronization is not active traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.541 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.541 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.542 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.590 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.590 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5c845b4f] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.638 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.639 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.639 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.639 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.640 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.687 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.687 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.687 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] from current transaction traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.688 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.689 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:42:49(LocalDateTime), 2026-04-07T10:42:49.591052(LocalDateTime), 2026-04-07T10:42:49.591048(LocalDateTime), 1(Integer), 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.784 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.784 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.784 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.785 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.785 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1903e0f9] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.878 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=5ba129e1a4fe4f38beaec496ade22738 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.878 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=5ba129e1a4fe4f38beaec496ade22738 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.879 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.879 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2ea82ba7] was not registered for synchronization because synchronization is not active traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.879 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.879 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.880 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.929 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.930 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2ea82ba7] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.930 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"5ba129e1a4fe4f38beaec496ade22738","tenant_id":"default","report_type":"test"} traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.931 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.931 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.931 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Writing [{"task_id":"5ba129e1a4fe4f38beaec496ade22738","tenant_id":"default","report_type":"test"}] as "application/json" traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:49.931 INFO 77624 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.554 INFO 77624 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=2ms traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.554 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Response 200 OK traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.554 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.555 INFO 77624 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为核心分析章节,需提供基础信息与分析框架。"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"内容可整合至其他章节,无需独立呈现。"}],"overall_logic":"报告以核心分析章节为起点,构建基础逻辑框架,后续章节围绕其展开论证与方案设计,确保结构清晰、重点突出,并服务于融资/交易方案的系统性论证。"} traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.604 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.604 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63b6ca46] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.604 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.604 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.605 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 987c3e134bb545ecad6badb98cd49cb7(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.651 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63b6ca46] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.652 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63b6ca46] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.652 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63b6ca46] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.746 ERROR 77624 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成异常: taskId=5ba129e1a4fe4f38beaec496ade22738, error= ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.selectById(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy135.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy133.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy132.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.747 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.758 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7674fc75] was not registered for synchronization because synchronization is not active traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.759 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.759 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.759 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.807 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.807 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7674fc75] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.853 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.854 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.854 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.854 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.854 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.900 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.900 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.900 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] from current transaction traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.901 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.901 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 大纲生成异常: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [](String), 2026-04-07T10:42:49(LocalDateTime), 2026-04-07T10:42:51.807713(LocalDateTime), 2026-04-07T10:42:50(LocalDateTime), 2026-04-07T10:42:51.807709(LocalDateTime), 1(Integer), 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.995 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.996 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.996 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.996 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:51.996 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@68155cb0] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.092 ERROR 77624 --- [http-nio-8080-exec-3] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=5ba129e1a4fe4f38beaec496ade22738, error=大纲生成异常: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.092 ERROR 77624 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=5ba129e1a4fe4f38beaec496ade22738, error=大纲生成失败 com.yuxin.finrep.common.exception.BusinessException: 大纲生成失败 at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:118) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,report_type,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 ### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.selectById(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:35) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) ... 112 common frames omitted Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'report_type' in 'field list' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at jdk.internal.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy135.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy133.query(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy132.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.093 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.093 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f7c432e] was not registered for synchronization because synchronization is not active traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.093 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will not be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.093 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.093 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.140 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.140 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f7c432e] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.188 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.188 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.188 DEBUG 77624 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@232f9ce0] will be managed by Spring traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.188 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.189 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.238 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.238 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.238 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] from current transaction traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.239 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.240 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: 大纲生成失败(String), 2026-04-07T10:42:49(LocalDateTime), 2026-04-07T10:42:52.140914(LocalDateTime), 2026-04-07T10:42:50(LocalDateTime), 2026-04-07T10:42:52.140910(LocalDateTime), 1(Integer), 5ba129e1a4fe4f38beaec496ade22738(String) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.334 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.334 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.334 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.334 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.334 DEBUG 77624 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d7b8c11] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.428 ERROR 77624 --- [http-nio-8080-exec-3] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=5ba129e1a4fe4f38beaec496ade22738, error=任务启动失败: 大纲生成失败 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.428 DEBUG 77624 --- [http-nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.428 WARN 77624 --- [http-nio-8080-exec-3] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.429 DEBUG 77624 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.429 DEBUG 77624 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:42:52.428 (truncated)...] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.430 DEBUG 77624 --- [http-nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.430 DEBUG 77624 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=a42ec17ecff547eab386963702d11ad9 tenantId=2026-04-07 10:42:52.431 DEBUG 77624 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:43:44.602 INFO 77624 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 10:43:44.604 INFO 77624 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 10:43:44.605 INFO 77624 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 10:43:47.539 INFO 77786 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 10:43:47.555 INFO 77786 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 77786 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 10:43:47.555 DEBUG 77786 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 10:43:47.555 INFO 77786 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 10:43:47.930 INFO 77786 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 10:43:47.931 INFO 77786 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 10:43:47.941 INFO 77786 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 10:43:47.975 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 10:43:47.976 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 10:43:47.976 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 10:43:47.976 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 10:43:47.976 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 10:43:47.976 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 10:43:47.977 DEBUG 77786 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 10:43:48.214 INFO 77786 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 10:43:48.219 INFO 77786 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:43:48.219 INFO 77786 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 10:43:48.219 INFO 77786 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 10:43:48.240 INFO 77786 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 10:43:48.241 INFO 77786 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 667 ms traceId= tenantId=2026-04-07 10:43:48.270 DEBUG 77786 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 10:43:48.270 INFO 77786 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 10:43:48.270 DEBUG 77786 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 10:43:48.299 INFO 77786 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 10:43:48.327 INFO 77786 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 10:43:48.574 INFO 77786 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 10:43:48.591 INFO 77786 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 10:43:48.601 INFO 77786 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 10:43:48.649 DEBUG 77786 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 10:43:48.712 DEBUG 77786 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 10:43:48.727 INFO 77786 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:43:48.727 INFO 77786 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 10:43:48.734 DEBUG 77786 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 10:43:48.758 INFO 77786 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3c68e82, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1e66bf2d, org.springframework.security.web.context.SecurityContextHolderFilter@3d2eb7fa, org.springframework.security.web.header.HeaderWriterFilter@18209303, org.springframework.web.filter.CorsFilter@7112fa5, org.springframework.security.web.authentication.logout.LogoutFilter@44f23927, com.yuxin.finrep.web.security.TenantContextFilter@3ed7dd70, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5e278e25, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@62ee1c89, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@342dc040, org.springframework.security.web.session.SessionManagementFilter@2573b149, org.springframework.security.web.access.ExceptionTranslationFilter@7474196, org.springframework.security.web.access.intercept.AuthorizationFilter@671f545b] traceId= tenantId=2026-04-07 10:43:48.921 DEBUG 77786 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:43:48.935 DEBUG 77786 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 10:43:49.101 INFO 77786 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 10:43:49.104 INFO 77786 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 10:43:49.109 INFO 77786 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.743 seconds (process running for 1.92) traceId= tenantId=2026-04-07 10:54:08.211 INFO 77786 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:54:08.212 INFO 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 10:54:08.212 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 10:54:08.212 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 10:54:08.212 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 10:54:08.213 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@1c4f1e7e traceId= tenantId=2026-04-07 10:54:08.214 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@3f51e2a8 traceId= tenantId=2026-04-07 10:54:08.214 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 10:54:08.214 INFO 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms traceId= tenantId=2026-04-07 10:54:08.217 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=7f3e690478ce455faa87107a2cea3584, tenantId=null, userId=null traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.225 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.233 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.233 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.234 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.235 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.235 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.236 DEBUG 77786 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.236 DEBUG 77786 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 171a2e71f9df4b15b5a2d816afbd08df traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.265 DEBUG 77786 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.285 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.285 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.897 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.904 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.910 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.914 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.932 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.990 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.992 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:08.993 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] from current transaction traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.019 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.019 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:54:08.285487(LocalDateTime), 2026-04-07T10:54:08.285487(LocalDateTime), 1(Integer) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.118 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.118 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.119 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.119 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.119 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4eefa122] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.216 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=18892722bb9842abb4b8d29f9ff73d0e traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.216 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=18892722bb9842abb4b8d29f9ff73d0e traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.216 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.217 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@582085e1] was not registered for synchronization because synchronization is not active traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.217 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.217 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.217 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.264 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.264 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@582085e1] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.311 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.311 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.311 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.311 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.311 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.356 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.356 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.357 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] from current transaction traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.362 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.363 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:54:08(LocalDateTime), 2026-04-07T10:54:09.265003(LocalDateTime), 2026-04-07T10:54:09.264998(LocalDateTime), 1(Integer), 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.458 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.458 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.458 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.458 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.458 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@32603a77] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.551 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=18892722bb9842abb4b8d29f9ff73d0e traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.551 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=18892722bb9842abb4b8d29f9ff73d0e traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.552 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.552 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@22e4a309] was not registered for synchronization because synchronization is not active traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.552 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.552 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.553 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.603 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.603 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@22e4a309] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.681 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"18892722bb9842abb4b8d29f9ff73d0e","tenant_id":"default","report_type":"test"} traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.686 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.689 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.689 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"18892722bb9842abb4b8d29f9ff73d0e","tenant_id":"default","report_type":"test"}] as "application/json" traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:09.689 INFO 77786 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.565 INFO 77786 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=4ms traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.565 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Response 200 OK traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.567 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.589 INFO 77786 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为核心章节,需提供基础分析与论证"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低且无独立报告支撑,不单独呈现"}],"overall_logic":"报告以核心分析章节为起点,围绕融资/交易方案展开论证,后续章节根据必要性进行承接与补充,确保结构清晰、重点突出并符合服务定位。"} traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.655 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.655 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@23dd999f] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.655 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.655 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.655 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: fbd4246cec0b45849192e3da971cbfbc(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.702 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.702 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@23dd999f] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.702 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@23dd999f] from current transaction traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.704 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Preparing: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.704 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Parameters: fbd4246cec0b45849192e3da971cbfbc(String), 18892722bb9842abb4b8d29f9ff73d0e(String), default(String), LEVEL1(String), {"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为核心章节,需提供基础分析与论证"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低且无独立报告支撑,不单独呈现"}],"overall_logic":"报告以核心分析章节为起点,围绕融资/交易方案展开论证,后续章节根据必要性进行承接与补充,确保结构清晰、重点突出并符合服务定位。"}(String), 报告以核心分析章节为起点,围绕融资/交易方案展开论证,后续章节根据必要性进行承接与补充,确保结构清晰、重点突出并符合服务定位。(String), false(Boolean), 1(Integer), 2026-04-07T10:54:11.592143(LocalDateTime), 2026-04-07T10:54:11.592169(LocalDateTime) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.808 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@23dd999f] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.865 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@23dd999f] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.865 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@23dd999f] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.959 ERROR 77786 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成异常: taskId=18892722bb9842abb4b8d29f9ff73d0e, error= ### Error updating database. Cause: java.sql.SQLException: Field 'title' doesn't have a default value ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLException: Field 'title' doesn't have a default value ; Field 'title' doesn't have a default value org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: Field 'title' doesn't have a default value ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLException: Field 'title' doesn't have a default value ; Field 'title' doesn't have a default value at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:258) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.insert(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:224) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.insert(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:36) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.sql.SQLException: Field 'title' doesn't have a default value at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy150.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy148.update(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy147.update(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.962 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.962 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7e77ddf3] was not registered for synchronization because synchronization is not active traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.962 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.962 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:11.963 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.011 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.011 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7e77ddf3] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.059 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.060 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.060 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.060 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.060 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.109 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.109 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.109 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] from current transaction traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.110 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.110 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 大纲生成异常: ### Error updating database. Cause: java.sql.SQLException: Field 'title' doesn't have a default value ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLException: Field 'title' doesn't have a default value ; Field 'title' doesn't have a default value(String), 2026-04-07T10:54:08(LocalDateTime), 2026-04-07T10:54:12.011380(LocalDateTime), 2026-04-07T10:54:09(LocalDateTime), 2026-04-07T10:54:12.011376(LocalDateTime), 1(Integer), 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.206 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.207 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.207 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.207 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.207 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@461354ba] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.303 ERROR 77786 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=18892722bb9842abb4b8d29f9ff73d0e, error=大纲生成异常: ### Error updating database. Cause: java.sql.SQLException: Field 'title' doesn't have a default value ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLException: Field 'title' doesn't have a default value ; Field 'title' doesn't have a default value traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.305 ERROR 77786 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行失败: taskId=18892722bb9842abb4b8d29f9ff73d0e, error=大纲生成失败 com.yuxin.finrep.common.exception.BusinessException: 大纲生成失败 at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:118) at com.yuxin.finrep.application.service.TaskApplicationServiceImpl.startTask(TaskApplicationServiceImpl.java:137) at com.yuxin.finrep.web.rest.controller.TaskController.createTask(TaskController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: Field 'title' doesn't have a default value ### The error may exist in com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.java (best guess) ### The error may involve com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLException: Field 'title' doesn't have a default value ; Field 'title' doesn't have a default value at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:258) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) at jdk.proxy2/jdk.proxy2.$Proxy103.insert(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:224) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy2/jdk.proxy2.$Proxy109.insert(Unknown Source) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl.save(OutlineRepositoryImpl.java:36) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:392) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) at com.yuxin.finrep.infrastructure.persistence.repository.OutlineRepositoryImpl$$SpringCGLIB$$0.save() at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel1Outline(OutlineGenerationOrchestrator.java:102) ... 112 common frames omitted Caused by: java.sql.SQLException: Field 'title' doesn't have a default value at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy3/jdk.proxy3.$Proxy150.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy148.update(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy147.update(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ... 138 common frames omitted traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.305 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.305 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@45cfdc64] was not registered for synchronization because synchronization is not active traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.306 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.306 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.306 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.353 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.354 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@45cfdc64] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.400 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.400 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.400 DEBUG 77786 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.401 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.401 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.451 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.451 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.451 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] from current transaction traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.452 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.452 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline(String), default(String), 0(Integer), 任务启动失败: 大纲生成失败(String), 2026-04-07T10:54:08(LocalDateTime), 2026-04-07T10:54:12.354183(LocalDateTime), 2026-04-07T10:54:09(LocalDateTime), 2026-04-07T10:54:12.354182(LocalDateTime), 1(Integer), 18892722bb9842abb4b8d29f9ff73d0e(String) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.544 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.544 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.545 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.545 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.545 DEBUG 77786 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@48ad154e] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.641 ERROR 77786 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=18892722bb9842abb4b8d29f9ff73d0e, error=任务启动失败: 大纲生成失败 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.643 DEBUG 77786 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.643 WARN 77786 --- [http-nio-8080-exec-1] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=3006, message=任务更新失败 traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.654 DEBUG 77786 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.655 DEBUG 77786 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=3006, message=任务更新失败, data=null, traceId=null, timestamp=2026-04-07T10:54:12.643 (truncated)...] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.659 DEBUG 77786 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 任务更新失败] traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.659 DEBUG 77786 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=7f3e690478ce455faa87107a2cea3584 tenantId=2026-04-07 10:54:12.659 DEBUG 77786 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:56:25.096 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=ea3d5cfcf29746a895ef1f813100d8ab, tenantId=null, userId=null traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.100 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.101 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.101 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.102 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.102 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.102 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.102 DEBUG 77786 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.102 DEBUG 77786 --- [http-nio-8080-exec-3] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 6e74b5ebb74446848d57aeb96f904c70 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.106 DEBUG 77786 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters=null)] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.108 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.108 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.213 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.213 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.214 DEBUG 77786 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.214 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.214 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.261 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.261 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.261 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] from current transaction traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.262 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.263 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), 2026-04-07T10:56:25.108348(LocalDateTime), 2026-04-07T10:56:25.108348(LocalDateTime), 1(Integer) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.358 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.358 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.358 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.358 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.358 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b074638] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.453 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=ae09bd58a2af4faab184e01af2c4fd9e traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.453 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=ae09bd58a2af4faab184e01af2c4fd9e traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.453 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.453 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3b01ad41] was not registered for synchronization because synchronization is not active traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.453 DEBUG 77786 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.453 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.454 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.504 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.504 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3b01ad41] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.554 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.554 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.554 DEBUG 77786 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.554 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.555 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.604 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.604 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.604 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] from current transaction traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.605 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.606 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), 2026-04-07T10:56:25(LocalDateTime), 2026-04-07T10:56:25.504748(LocalDateTime), 2026-04-07T10:56:25.504746(LocalDateTime), 1(Integer), ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.703 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.704 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.704 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.704 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.704 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@9e98e6d] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.798 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=ae09bd58a2af4faab184e01af2c4fd9e traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.798 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=ae09bd58a2af4faab184e01af2c4fd9e traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.798 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.799 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@431f8df9] was not registered for synchronization because synchronization is not active traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.799 DEBUG 77786 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.799 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.799 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.848 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.849 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@431f8df9] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.849 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","report_type":"test"} traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.850 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.851 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.851 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Writing [{"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","report_type":"test"}] as "application/json" traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:25.851 INFO 77786 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.519 INFO 77786 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=2ms traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.519 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Response 200 OK traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.519 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.520 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"核心内容需展开分析,段落数量适中。"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低,且无独立报告支撑,不单独呈现。"}],"overall_logic":"本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。"} traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.568 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.569 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.569 DEBUG 77786 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.569 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.570 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 3e642b58f136468491691ca3000aef84(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.618 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.618 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.618 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] from current transaction traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.620 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Preparing: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.621 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Parameters: 3e642b58f136468491691ca3000aef84(String), ae09bd58a2af4faab184e01af2c4fd9e(String), default(String), LEVEL1(String), {"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"核心内容需展开分析,段落数量适中。"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低,且无独立报告支撑,不单独呈现。"}],"overall_logic":"本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。"}(String), 本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。(String), false(Boolean), 1(Integer), 2026-04-07T10:56:27.521087(LocalDateTime), 2026-04-07T10:56:27.521089(LocalDateTime) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.716 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.OutlineMapper.insert : <== Updates: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.716 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.716 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.717 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.717 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@53db873e] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.859 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.859 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.860 DEBUG 77786 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.860 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.860 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.909 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.910 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.910 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] from current transaction traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.911 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:27.914 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline_confirm(String), default(String), 20(Integer), 2026-04-07T10:56:25(LocalDateTime), 2026-04-07T10:56:27.812191(LocalDateTime), 2026-04-07T10:56:26(LocalDateTime), 1(Integer), ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.007 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.007 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.008 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.008 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.008 DEBUG 77786 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ad205cc] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.175 INFO 77786 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成成功: taskId=ae09bd58a2af4faab184e01af2c4fd9e, outlineId=3e642b58f136468491691ca3000aef84 traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.181 DEBUG 77786 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.193 DEBUG 77786 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=0000, message=操作成功, data=Outline(outlineId=3e642b58f136468491691ca3000aef84, tas (truncated)...] traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.210 DEBUG 77786 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=ea3d5cfcf29746a895ef1f813100d8ab tenantId=2026-04-07 10:56:28.210 DEBUG 77786 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:59:21.022 DEBUG 77786 --- [http-nio-8080-exec-5] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=bcc51a1ec6e8495caec070d398ea71a8, tenantId=null, userId=null traceId=bcc51a1ec6e8495caec070d398ea71a8 tenantId=2026-04-07 10:59:21.028 DEBUG 77786 --- [http-nio-8080-exec-5] s.s.w.f.HttpStatusRequestRejectedHandler : Rejecting request due to: The request was rejected because the URL contained a potentially malicious String "//" org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String "//" at org.springframework.security.web.firewall.StrictHttpFirewall.rejectedBlocklistedUrls(StrictHttpFirewall.java:539) at org.springframework.security.web.firewall.StrictHttpFirewall.getFirewalledRequest(StrictHttpFirewall.java:509) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=bcc51a1ec6e8495caec070d398ea71a8 tenantId=2026-04-07 10:59:21.029 DEBUG 77786 --- [http-nio-8080-exec-5] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 10:59:21.038 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.security.web.FilterChainProxy : Securing POST /error traceId= tenantId=2026-04-07 10:59:21.038 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId= tenantId=2026-04-07 10:59:21.038 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.security.web.FilterChainProxy : Secured POST /error traceId= tenantId=2026-04-07 10:59:21.038 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for POST "/error", parameters={} traceId= tenantId=2026-04-07 10:59:21.039 DEBUG 77786 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest) traceId= tenantId=2026-04-07 10:59:21.039 DEBUG 77786 --- [http-nio-8080-exec-5] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 01bfd5d675e34093a04068955317e5f7 traceId= tenantId=2026-04-07 10:59:21.041 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId= tenantId=2026-04-07 10:59:21.042 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Tue Apr 07 10:59:21 CST 2026, status=400, error=Bad Request, path=/api/v1/outlines/level1 (truncated)...] traceId= tenantId=2026-04-07 10:59:21.044 DEBUG 77786 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 400 traceId= tenantId=2026-04-07 10:59:41.989 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=210e2d2eb13a4e1d98f183c0296db821, tenantId=null, userId=null traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.991 DEBUG 77786 --- [http-nio-8080-exec-6] o.s.security.web.FilterChainProxy : Securing POST /api/v1/outlines/level1/3e642b58f136468491691ca3000aef84/confirm traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] o.s.security.web.FilterChainProxy : Secured POST /api/v1/outlines/level1/3e642b58f136468491691ca3000aef84/confirm traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : POST "/api/v1/outlines/level1/3e642b58f136468491691ca3000aef84/confirm", parameters={} traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.OutlineController#confirmLevel1Outline(String) traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:41.992 DEBUG 77786 --- [http-nio-8080-exec-6] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 32544bab0bca4c9c8819d1affabec922 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.005 INFO 77786 --- [http-nio-8080-exec-6] c.y.f.w.r.controller.OutlineController : 确认一级大纲: outlineId=3e642b58f136468491691ca3000aef84, confirmerId=null traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.005 INFO 77786 --- [http-nio-8080-exec-6] c.y.f.a.s.OutlineApplicationServiceImpl : 确认大纲: outlineId=3e642b58f136468491691ca3000aef84, confirmerId=null traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.005 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.006 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@59e552d6] was not registered for synchronization because synchronization is not active traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.055 DEBUG 77786 --- [http-nio-8080-exec-6] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.055 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.056 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 3e642b58f136468491691ca3000aef84(String) traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.106 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.107 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@59e552d6] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.108 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.108 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a54d358] was not registered for synchronization because synchronization is not active traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.108 DEBUG 77786 --- [http-nio-8080-exec-6] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will not be managed by Spring traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.108 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.109 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.159 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.160 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a54d358] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.161 INFO 77786 --- [http-nio-8080-exec-6] c.y.f.a.s.OutlineApplicationServiceImpl : 状态转换验证通过: taskId=ae09bd58a2af4faab184e01af2c4fd9e, operation: 确认一级大纲, PENDING_OUTLINE_CONFIRM -> PENDING_DATA_PREPARE traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.208 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.208 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.208 DEBUG 77786 --- [http-nio-8080-exec-6] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@5e2b4463] will be managed by Spring traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.208 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.208 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 3e642b58f136468491691ca3000aef84(String) traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.256 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.257 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.257 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] from current transaction traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.261 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.updateById : ==> Preparing: UPDATE finrep_outline SET task_id=?, tenant_id=?, type=?, raw_content=?, writing_logic=?, confirmed=?, confirm_time=?, version=?, create_time=?, update_time=? WHERE outline_id=? AND deleted=0 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.263 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.updateById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String), default(String), LEVEL1(String), {"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"核心内容需展开分析,段落数量适中。"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低,且无独立报告支撑,不单独呈现。"}],"overall_logic":"本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。"}(String), 本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。(String), true(Boolean), 2026-04-07T10:59:42.161781(LocalDateTime), 2(Integer), 2026-04-07T10:56:28(LocalDateTime), 2026-04-07T10:59:42.161790(LocalDateTime), 3e642b58f136468491691ca3000aef84(String) traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.365 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.p.m.OutlineMapper.updateById : <== Updates: 1 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.365 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.365 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.365 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.365 DEBUG 77786 --- [http-nio-8080-exec-6] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4e864ff7] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.459 INFO 77786 --- [http-nio-8080-exec-6] c.y.f.a.s.OutlineApplicationServiceImpl : 大纲确认成功: outlineId=3e642b58f136468491691ca3000aef84 traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.463 DEBUG 77786 --- [http-nio-8080-exec-6] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.471 DEBUG 77786 --- [http-nio-8080-exec-6] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=0000, message=操作成功, data=Level1OutlineResponse(taskId=ae09bd58a2af4faab184e01af2 (truncated)...] traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.478 DEBUG 77786 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=210e2d2eb13a4e1d98f183c0296db821 tenantId=2026-04-07 10:59:42.478 DEBUG 77786 --- [http-nio-8080-exec-6] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 11:15:19.177 INFO 77786 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 11:15:19.181 INFO 77786 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 11:15:19.182 INFO 77786 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 11:19:01.471 INFO 80359 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 11:19:01.488 INFO 80359 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 80359 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 11:19:01.488 DEBUG 80359 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 11:19:01.489 INFO 80359 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 11:19:01.911 INFO 80359 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 11:19:01.912 INFO 80359 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 11:19:01.925 INFO 80359 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 11:19:01.963 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 11:19:01.963 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 11:19:01.963 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 11:19:01.963 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 11:19:01.963 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 11:19:01.964 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 11:19:01.965 DEBUG 80359 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 11:19:02.230 INFO 80359 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 11:19:02.235 INFO 80359 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 11:19:02.235 INFO 80359 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 11:19:02.235 INFO 80359 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 11:19:02.258 INFO 80359 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 11:19:02.258 INFO 80359 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 753 ms traceId= tenantId=2026-04-07 11:19:02.287 DEBUG 80359 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 11:19:02.287 INFO 80359 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 11:19:02.287 DEBUG 80359 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 11:19:02.314 INFO 80359 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 11:19:02.342 INFO 80359 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 11:19:02.611 INFO 80359 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 11:19:02.629 INFO 80359 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 11:19:02.639 INFO 80359 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 11:19:02.691 DEBUG 80359 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 11:19:02.759 DEBUG 80359 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 11:19:02.775 INFO 80359 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 11:19:02.775 INFO 80359 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 11:19:02.781 DEBUG 80359 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 11:19:02.802 INFO 80359 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@342dc040, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a8ead9, org.springframework.security.web.context.SecurityContextHolderFilter@62ee1c89, org.springframework.security.web.header.HeaderWriterFilter@81dfdee, org.springframework.web.filter.CorsFilter@281ca256, org.springframework.security.web.authentication.logout.LogoutFilter@2d3eb1ea, com.yuxin.finrep.web.security.TenantContextFilter@6e9a10cd, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@52a74328, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3093b9ff, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@26feccf7, org.springframework.security.web.session.SessionManagementFilter@3d2eb7fa, org.springframework.security.web.access.ExceptionTranslationFilter@57df09a7, org.springframework.security.web.access.intercept.AuthorizationFilter@3c68e82] traceId= tenantId=2026-04-07 11:19:02.972 DEBUG 80359 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 11:19:02.986 DEBUG 80359 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 11:19:03.151 INFO 80359 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 11:19:03.156 INFO 80359 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 11:19:03.161 INFO 80359 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.887 seconds (process running for 2.074) traceId= tenantId=2026-04-07 11:19:25.387 INFO 80359 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 11:19:25.387 INFO 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 11:19:25.387 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 11:19:25.387 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 11:19:25.387 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 11:19:25.388 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@74d7c280 traceId= tenantId=2026-04-07 11:19:25.388 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@4ce485a1 traceId= tenantId=2026-04-07 11:19:25.388 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 11:19:25.388 INFO 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms traceId= tenantId=2026-04-07 11:19:25.392 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=d81db2fd808c4576896d0b54756be3e7, tenantId=null, userId=null traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.400 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/outlines/3e642b58f136468491691ca3000aef84/confirm-level1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.408 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.409 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.409 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.410 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/outlines/3e642b58f136468491691ca3000aef84/confirm-level1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.411 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/outlines/3e642b58f136468491691ca3000aef84/confirm-level1", parameters={} traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.412 DEBUG 80359 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.OutlineController#confirmOutlineAndGenerateLevel2(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.412 DEBUG 80359 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 6fa06536cdb142b8a44ef3e5e62f2469 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.423 INFO 80359 --- [http-nio-8080-exec-1] c.y.f.w.r.controller.OutlineController : 确认大纲并生成二级大纲: outlineId=3e642b58f136468491691ca3000aef84, confirmerId=null traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.423 INFO 80359 --- [http-nio-8080-exec-1] c.y.f.a.s.OutlineApplicationServiceImpl : 确认大纲并生成二级大纲: outlineId=3e642b58f136468491691ca3000aef84, confirmerId=null traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.427 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.429 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@71a5938c] was not registered for synchronization because synchronization is not active traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.947 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.953 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:25.968 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 3e642b58f136468491691ca3000aef84(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.024 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.026 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@71a5938c] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.029 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.029 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@ea8cac8] was not registered for synchronization because synchronization is not active traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.029 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.029 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.029 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.076 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.076 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@ea8cac8] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.077 INFO 80359 --- [http-nio-8080-exec-1] c.y.f.a.s.OutlineApplicationServiceImpl : 状态转换验证通过: taskId=ae09bd58a2af4faab184e01af2c4fd9e, operation: 确认一级大纲并生成二级大纲, PENDING_OUTLINE_CONFIRM -> PENDING_DATA_PREPARE traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.126 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.127 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.128 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.128 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.129 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 3e642b58f136468491691ca3000aef84(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.174 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.175 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.176 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] from current transaction traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.210 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.updateById : ==> Preparing: UPDATE finrep_outline SET task_id=?, tenant_id=?, type=?, raw_content=?, writing_logic=?, confirmed=?, confirm_time=?, version=?, create_time=?, update_time=? WHERE outline_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.210 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.updateById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String), default(String), LEVEL1(String), {"chapter_results":[{"chapter_id":"demo-l1-01","chapter_name":"示例一级章节A","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"核心内容需展开分析,段落数量适中。"},{"chapter_id":"demo-l1-02","chapter_name":"示例一级章节B","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"重要性较低,且无独立报告支撑,不单独呈现。"}],"overall_logic":"本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。"}(String), 本报告以核心分析章节为论证主线,围绕关键要素展开逻辑推导,后续章节作为补充与承接,确保结构清晰、重点突出,服务于融资方案的可行性与优化建议。(String), true(Boolean), 2026-04-07T11:19:26.077652(LocalDateTime), 3(Integer), 2026-04-07T10:56:28(LocalDateTime), 2026-04-07T11:19:26.077673(LocalDateTime), 3e642b58f136468491691ca3000aef84(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.302 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.updateById : <== Updates: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.302 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.302 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.302 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.302 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7a6e3000] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.396 INFO 80359 --- [http-nio-8080-exec-1] c.y.f.a.s.OutlineApplicationServiceImpl : 大纲确认成功: outlineId=3e642b58f136468491691ca3000aef84 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.396 INFO 80359 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成二级大纲: taskId=ae09bd58a2af4faab184e01af2c4fd9e, level1OutlineId=3e642b58f136468491691ca3000aef84 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.396 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.397 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@324d43af] was not registered for synchronization because synchronization is not active traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.397 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.397 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.397 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.447 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.448 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@324d43af] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.449 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.449 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f4a32dd] was not registered for synchronization because synchronization is not active traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.449 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.449 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.450 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 3e642b58f136468491691ca3000aef84(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.498 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.498 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@f4a32dd] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.572 INFO 80359 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l2, body={"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","l1_chapter_id":"3e642b58f136468491691ca3000aef84"} traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.577 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l2 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.580 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.580 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","l1_chapter_id":"3e642b58f136468491691ca3000aef84"}] as "application/json" traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.581 INFO 80359 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l2 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.595 INFO 80359 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=422 UNPROCESSABLE_ENTITY, duration=3ms traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.595 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Response 422 UNPROCESSABLE_ENTITY traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.597 ERROR 80359 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用失败: 422 Unprocessable Entity: "{"detail":[{"type":"missing","loc":["body","chapter_name"],"msg":"Field required","input":{"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","l1_chapter_id":"3e642b58f136468491691ca3000aef84"}},{"type":"missing","loc":["body","chapter_no"],"msg":"Field required","input":{"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","l1_chapter_id":"3e642b58f136468491691ca3000aef84"}}]}" org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"detail":[{"type":"missing","loc":["body","chapter_name"],"msg":"Field required","input":{"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","l1_chapter_id":"3e642b58f136468491691ca3000aef84"}},{"type":"missing","loc":["body","chapter_no"],"msg":"Field required","input":{"task_id":"ae09bd58a2af4faab184e01af2c4fd9e","tenant_id":"default","l1_chapter_id":"3e642b58f136468491691ca3000aef84"}}]}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:942) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:891) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:538) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:164) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel2Outline(PythonAgentClientImpl.java:106) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel2Outline(OutlineGenerationOrchestrator.java:144) at com.yuxin.finrep.application.service.OutlineApplicationServiceImpl.confirmOutlineAndGenerateLevel2(OutlineApplicationServiceImpl.java:320) at com.yuxin.finrep.web.rest.controller.OutlineController.confirmOutlineAndGenerateLevel2(OutlineController.java:264) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.599 ERROR 80359 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 二级大纲生成失败: taskId=ae09bd58a2af4faab184e01af2c4fd9e, error=AI调用失败 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.599 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.599 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5329016e] was not registered for synchronization because synchronization is not active traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.599 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.599 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.599 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.644 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.644 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5329016e] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.689 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.689 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.689 DEBUG 80359 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will be managed by Spring traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.689 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.690 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.733 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.734 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.734 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] from current transaction traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.736 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.737 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline_confirm(String), default(String), 20(Integer), AI调用失败(String), 2026-04-07T10:56:25(LocalDateTime), 2026-04-07T11:19:26.645062(LocalDateTime), 2026-04-07T10:56:26(LocalDateTime), 2026-04-07T11:19:26.645057(LocalDateTime), 1(Integer), ae09bd58a2af4faab184e01af2c4fd9e(String) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.825 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.825 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.826 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.826 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.826 DEBUG 80359 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6369db6d] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.916 ERROR 80359 --- [http-nio-8080-exec-1] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=ae09bd58a2af4faab184e01af2c4fd9e, error=AI调用失败 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.916 ERROR 80359 --- [http-nio-8080-exec-1] c.y.f.a.s.OutlineApplicationServiceImpl : 确认大纲并生成二级大纲失败: outlineId=3e642b58f136468491691ca3000aef84, error=AI调用失败 com.yuxin.finrep.common.exception.BusinessException: AI调用失败 at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:177) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel2Outline(PythonAgentClientImpl.java:106) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel2Outline(OutlineGenerationOrchestrator.java:144) at com.yuxin.finrep.application.service.OutlineApplicationServiceImpl.confirmOutlineAndGenerateLevel2(OutlineApplicationServiceImpl.java:320) at com.yuxin.finrep.web.rest.controller.OutlineController.confirmOutlineAndGenerateLevel2(OutlineController.java:264) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.918 DEBUG 80359 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.919 WARN 80359 --- [http-nio-8080-exec-1] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=4002, message=大纲生成失败 traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.942 DEBUG 80359 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.942 DEBUG 80359 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=4002, message=大纲生成失败, data=null, traceId=null, timestamp=2026-04-07T11:19:26.920 (truncated)...] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.948 DEBUG 80359 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 大纲生成失败] traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.948 DEBUG 80359 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=d81db2fd808c4576896d0b54756be3e7 tenantId=2026-04-07 11:19:26.948 DEBUG 80359 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 11:34:41.938 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=da4dc96d870546f48dd456478e8ddeaa, tenantId=null, userId=null traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.941 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.943 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.943 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.943 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.943 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.944 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.944 DEBUG 80359 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.944 DEBUG 80359 --- [http-nio-8080-exec-3] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: 69f984e1af804a7d90f28fb025539aec traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:41.977 DEBUG 80359 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters={report_type=项目融资, (truncated)...] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.001 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.001 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.103 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.104 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.104 DEBUG 80359 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will be managed by Spring traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.104 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.104 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.151 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.151 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.152 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] from current transaction traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.154 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, parameters, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.154 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 25cde0c2391948acb5a534f4dd87061c(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), {"report_type":"项目融资","agreement_amount":"35","enterprise_type":"单一企业","group_business_segments":[],"industry_type":"制造业","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"candidate_financing_tools":["流动资金贷款"],"recommended_financing_tools":["流动资金贷款"],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","重要性(无独立报告)":"必定","重要性(有独立报告)":"低","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","重要性(无独立报告)":"必定","重要性(有独立报告)":"低","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略"}]}(String), 2026-04-07T11:34:42.001590(LocalDateTime), 2026-04-07T11:34:42.001590(LocalDateTime), 1(Integer) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.245 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.245 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.260 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.261 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.261 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4f71618] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.355 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=25cde0c2391948acb5a534f4dd87061c traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.355 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=25cde0c2391948acb5a534f4dd87061c traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.355 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.356 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6e87f54f] was not registered for synchronization because synchronization is not active traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.356 DEBUG 80359 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.356 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.356 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.403 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.403 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6e87f54f] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.448 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.449 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.449 DEBUG 80359 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will be managed by Spring traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.449 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.450 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.500 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.500 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.500 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] from current transaction traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.502 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, parameters=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.503 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:34:42(LocalDateTime), 2026-04-07T11:34:42.404619(LocalDateTime), 2026-04-07T11:34:42.404614(LocalDateTime), 1(Integer), 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.594 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.595 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.595 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.595 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.595 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2d785ad8] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=25cde0c2391948acb5a534f4dd87061c traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=25cde0c2391948acb5a534f4dd87061c traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@df92e02] was not registered for synchronization because synchronization is not active traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 DEBUG 80359 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will not be managed by Spring traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.684 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.729 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.730 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@df92e02] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.731 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"25cde0c2391948acb5a534f4dd87061c","tenant_id":"default","other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]} traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.732 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.733 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.733 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Writing [{"task_id":"25cde0c2391948acb5a534f4dd87061c","tenant_id":"default","other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}] as "application/json" traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:42.733 INFO 80359 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.113 INFO 80359 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=2ms traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.113 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Response 200 OK traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.117 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.121 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独成章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独成章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为项目融资主报告核心输出,需独立呈现并展开论证"}],"overall_logic":"本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦流动资金贷款方案的可行性、结构设计及实施路径,确保论证逻辑清晰且具备可执行性。"} traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.189 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.189 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.189 DEBUG 80359 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will be managed by Spring traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.190 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.191 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: ae83902c651d40bf810479b9dd538b29(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.236 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.237 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.238 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] from current transaction traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.240 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Preparing: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.241 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Parameters: ae83902c651d40bf810479b9dd538b29(String), 25cde0c2391948acb5a534f4dd87061c(String), default(String), LEVEL1(String), {"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独成章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独成章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P2","reason":"作为项目融资主报告核心输出,需独立呈现并展开论证"}],"overall_logic":"本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦流动资金贷款方案的可行性、结构设计及实施路径,确保论证逻辑清晰且具备可执行性。"}(String), 本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦流动资金贷款方案的可行性、结构设计及实施路径,确保论证逻辑清晰且具备可执行性。(String), false(Boolean), 1(Integer), 2026-04-07T11:34:45.123327(LocalDateTime), 2026-04-07T11:34:45.123331(LocalDateTime) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.330 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.OutlineMapper.insert : <== Updates: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.330 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.330 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.330 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.330 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1516181a] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.466 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.466 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.466 DEBUG 80359 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2856c53e] will be managed by Spring traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.467 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.467 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.512 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.512 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.513 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] from current transaction traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.514 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, parameters=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.515 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline_confirm(String), default(String), 20(Integer), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:34:42(LocalDateTime), 2026-04-07T11:34:45.421178(LocalDateTime), 2026-04-07T11:34:42(LocalDateTime), 1(Integer), 25cde0c2391948acb5a534f4dd87061c(String) traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.605 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.605 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.606 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.606 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.606 DEBUG 80359 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@746f9afd] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.696 INFO 80359 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成成功: taskId=25cde0c2391948acb5a534f4dd87061c, outlineId=ae83902c651d40bf810479b9dd538b29 traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.700 DEBUG 80359 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.712 DEBUG 80359 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=0000, message=操作成功, data=Outline(outlineId=ae83902c651d40bf810479b9dd538b29, tas (truncated)...] traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.726 DEBUG 80359 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=da4dc96d870546f48dd456478e8ddeaa tenantId=2026-04-07 11:34:45.727 DEBUG 80359 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 11:39:43.840 INFO 80359 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 11:39:43.844 INFO 80359 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 11:39:43.845 INFO 80359 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 11:39:46.418 INFO 81941 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 11:39:46.432 INFO 81941 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 81941 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 11:39:46.432 DEBUG 81941 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 11:39:46.433 INFO 81941 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 11:39:46.831 INFO 81941 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 11:39:46.833 INFO 81941 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 11:39:46.843 INFO 81941 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 11:39:46.878 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 11:39:46.878 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 11:39:46.879 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 11:39:46.879 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 11:39:46.879 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 11:39:46.879 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 11:39:46.879 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 11:39:46.879 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 11:39:46.880 DEBUG 81941 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 11:39:47.121 INFO 81941 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 11:39:47.126 INFO 81941 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 11:39:47.127 INFO 81941 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 11:39:47.127 INFO 81941 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 11:39:47.149 INFO 81941 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 11:39:47.149 INFO 81941 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 699 ms traceId= tenantId=2026-04-07 11:39:47.177 DEBUG 81941 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 11:39:47.177 INFO 81941 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 11:39:47.177 DEBUG 81941 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 11:39:47.205 INFO 81941 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 11:39:47.233 INFO 81941 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 11:39:47.483 INFO 81941 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 11:39:47.500 INFO 81941 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 11:39:47.511 INFO 81941 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 11:39:47.560 DEBUG 81941 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 11:39:47.625 DEBUG 81941 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 11:39:47.641 INFO 81941 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 11:39:47.641 INFO 81941 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 11:39:47.647 DEBUG 81941 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 11:39:47.669 INFO 81941 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3c68e82, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1e66bf2d, org.springframework.security.web.context.SecurityContextHolderFilter@3d2eb7fa, org.springframework.security.web.header.HeaderWriterFilter@18209303, org.springframework.web.filter.CorsFilter@7112fa5, org.springframework.security.web.authentication.logout.LogoutFilter@44f23927, com.yuxin.finrep.web.security.TenantContextFilter@3ed7dd70, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5e278e25, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@62ee1c89, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@342dc040, org.springframework.security.web.session.SessionManagementFilter@2573b149, org.springframework.security.web.access.ExceptionTranslationFilter@7474196, org.springframework.security.web.access.intercept.AuthorizationFilter@671f545b] traceId= tenantId=2026-04-07 11:39:47.845 DEBUG 81941 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 11:39:47.859 DEBUG 81941 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 11:39:48.023 INFO 81941 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 11:39:48.027 INFO 81941 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 11:39:48.032 INFO 81941 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.775 seconds (process running for 1.956) traceId= tenantId=2026-04-07 11:39:55.653 INFO 81941 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 11:39:55.653 INFO 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 11:39:55.653 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 11:39:55.653 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 11:39:55.653 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 11:39:55.655 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6003f6de traceId= tenantId=2026-04-07 11:39:55.655 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@2aff013f traceId= tenantId=2026-04-07 11:39:55.655 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 11:39:55.655 INFO 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms traceId= tenantId=2026-04-07 11:39:55.659 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=760b6b05134a4c1bb776aac22148d845, tenantId=null, userId=null traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.666 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.674 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.675 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.676 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.676 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.677 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.678 DEBUG 81941 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.678 DEBUG 81941 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: de2cc0e14f3d435f950a40b530c157d2 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.713 DEBUG 81941 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters={report_type=项目融资, (truncated)...] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.734 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:55.734 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.376 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.379 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.381 DEBUG 81941 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2740fafe] will be managed by Spring traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.383 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.389 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.439 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.440 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.440 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] from current transaction traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.454 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, parameters, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.455 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: bed14b25c0a94e94b0c6b5e8c34c7a39(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), {"report_type":"项目融资","agreement_amount":"35","enterprise_type":"单一企业","group_business_segments":[],"industry_type":"制造业","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"candidate_financing_tools":["流动资金贷款"],"recommended_financing_tools":["流动资金贷款"],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","重要性(无独立报告)":"必定","重要性(有独立报告)":"低","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","重要性(无独立报告)":"必定","重要性(有独立报告)":"低","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略"}]}(String), 2026-04-07T11:39:55.734844(LocalDateTime), 2026-04-07T11:39:55.734844(LocalDateTime), 1(Integer) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.545 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.545 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.553 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.553 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.553 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@408487d] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.644 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=bed14b25c0a94e94b0c6b5e8c34c7a39 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.644 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=bed14b25c0a94e94b0c6b5e8c34c7a39 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.644 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.645 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7625c493] was not registered for synchronization because synchronization is not active traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.645 DEBUG 81941 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2740fafe] will not be managed by Spring traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.645 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.645 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.693 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.694 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7625c493] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.739 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.740 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.740 DEBUG 81941 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2740fafe] will be managed by Spring traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.740 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.741 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.789 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.789 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.791 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] from current transaction traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.807 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, parameters=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.808 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:39:56(LocalDateTime), 2026-04-07T11:39:56.695398(LocalDateTime), 2026-04-07T11:39:56.695389(LocalDateTime), 1(Integer), bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.900 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.900 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.900 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.900 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.900 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@65cbe158] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.989 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=bed14b25c0a94e94b0c6b5e8c34c7a39 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.989 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=bed14b25c0a94e94b0c6b5e8c34c7a39 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.989 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.990 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@247e4165] was not registered for synchronization because synchronization is not active traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.990 DEBUG 81941 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2740fafe] will not be managed by Spring traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.990 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:56.990 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.039 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.040 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@247e4165] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.041 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"bed14b25c0a94e94b0c6b5e8c34c7a39","tenant_id":"default","other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]} traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.055 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.063 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.063 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"bed14b25c0a94e94b0c6b5e8c34c7a39","tenant_id":"default","other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}] as "application/json" traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:57.064 INFO 81941 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.357 INFO 81941 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=5ms traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.357 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Response 200 OK traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.359 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.367 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独呈现本章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独呈现本章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P3","reason":"作为项目融资主报告核心输出,需详细展开融资结构与方案"}],"overall_logic":"报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案设计,确保逻辑清晰、重点突出且具备可执行性。"} traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.440 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.441 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.441 DEBUG 81941 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2740fafe] will be managed by Spring traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.441 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.441 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 188a43ea494a4402a5baa50754daa026(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.486 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.486 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.487 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] from current transaction traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.489 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Preparing: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.490 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Parameters: 188a43ea494a4402a5baa50754daa026(String), bed14b25c0a94e94b0c6b5e8c34c7a39(String), default(String), LEVEL1(String), {"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独呈现本章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独呈现本章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P3","reason":"作为项目融资主报告核心输出,需详细展开融资结构与方案"}],"overall_logic":"报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案设计,确保逻辑清晰、重点突出且具备可执行性。"}(String), 报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案设计,确保逻辑清晰、重点突出且具备可执行性。(String), false(Boolean), 1(Integer), 2026-04-07T11:39:59.370874(LocalDateTime), 2026-04-07T11:39:59.370894(LocalDateTime) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.581 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : <== Updates: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.582 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.582 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.582 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.582 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bf9a270] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.718 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.719 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.719 DEBUG 81941 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@2740fafe] will be managed by Spring traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.719 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.720 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.767 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.767 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.767 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] from current transaction traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.769 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, parameters=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.769 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline_confirm(String), default(String), 20(Integer), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:39:56(LocalDateTime), 2026-04-07T11:39:59.673901(LocalDateTime), 2026-04-07T11:39:57(LocalDateTime), 1(Integer), bed14b25c0a94e94b0c6b5e8c34c7a39(String) traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.859 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.860 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.860 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.860 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.860 DEBUG 81941 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6cc57a90] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.949 INFO 81941 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成成功: taskId=bed14b25c0a94e94b0c6b5e8c34c7a39, outlineId=188a43ea494a4402a5baa50754daa026 traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.975 DEBUG 81941 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.982 DEBUG 81941 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=0000, message=操作成功, data=Outline(outlineId=188a43ea494a4402a5baa50754daa026, tas (truncated)...] traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.994 DEBUG 81941 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=760b6b05134a4c1bb776aac22148d845 tenantId=2026-04-07 11:39:59.995 DEBUG 81941 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 11:41:19.648 INFO 81941 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 11:41:19.651 INFO 81941 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 11:41:19.652 INFO 81941 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 11:51:51.815 INFO 83020 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 11:51:51.831 INFO 83020 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 83020 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 11:51:51.831 DEBUG 83020 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 11:51:51.832 INFO 83020 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 11:51:52.223 INFO 83020 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 11:51:52.224 INFO 83020 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 11:51:52.235 INFO 83020 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 11:51:52.271 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 11:51:52.271 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 11:51:52.271 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 11:51:52.271 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 11:51:52.272 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 11:51:52.272 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 11:51:52.272 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 11:51:52.272 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 11:51:52.273 DEBUG 83020 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 11:51:52.525 INFO 83020 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 11:51:52.530 INFO 83020 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 11:51:52.530 INFO 83020 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 11:51:52.531 INFO 83020 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 11:51:52.550 INFO 83020 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 11:51:52.550 INFO 83020 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 702 ms traceId= tenantId=2026-04-07 11:51:52.579 DEBUG 83020 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 11:51:52.579 INFO 83020 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 11:51:52.579 DEBUG 83020 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 11:51:52.604 INFO 83020 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 11:51:52.632 INFO 83020 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 11:51:52.879 INFO 83020 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 11:51:52.897 INFO 83020 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 11:51:52.906 INFO 83020 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 11:51:52.957 DEBUG 83020 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 11:51:53.022 DEBUG 83020 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 11:51:53.039 INFO 83020 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 11:51:53.039 INFO 83020 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 11:51:53.046 DEBUG 83020 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 11:51:53.068 INFO 83020 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@342dc040, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a8ead9, org.springframework.security.web.context.SecurityContextHolderFilter@62ee1c89, org.springframework.security.web.header.HeaderWriterFilter@81dfdee, org.springframework.web.filter.CorsFilter@281ca256, org.springframework.security.web.authentication.logout.LogoutFilter@2d3eb1ea, com.yuxin.finrep.web.security.TenantContextFilter@6e9a10cd, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@52a74328, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3093b9ff, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@26feccf7, org.springframework.security.web.session.SessionManagementFilter@3d2eb7fa, org.springframework.security.web.access.ExceptionTranslationFilter@57df09a7, org.springframework.security.web.access.intercept.AuthorizationFilter@3c68e82] traceId= tenantId=2026-04-07 11:51:53.248 DEBUG 83020 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 11:51:53.262 DEBUG 83020 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 11:51:53.428 INFO 83020 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 11:51:53.433 INFO 83020 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 11:51:53.437 INFO 83020 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.79 seconds (process running for 1.973) traceId= tenantId=2026-04-07 11:51:59.001 INFO 83020 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' traceId= tenantId=2026-04-07 11:51:59.002 INFO 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' traceId= tenantId=2026-04-07 11:51:59.002 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver traceId= tenantId=2026-04-07 11:51:59.002 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver traceId= tenantId=2026-04-07 11:51:59.002 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver traceId= tenantId=2026-04-07 11:51:59.002 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@1ea3fc03 traceId= tenantId=2026-04-07 11:51:59.003 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7d504557 traceId= tenantId=2026-04-07 11:51:59.003 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data traceId= tenantId=2026-04-07 11:51:59.003 INFO 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms traceId= tenantId=2026-04-07 11:51:59.006 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=fe690a9c7977460796d941ab6992c5f1, tenantId=null, userId=null traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.013 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing POST /api/v1/tasks traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.021 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.021 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.022 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.022 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured POST /api/v1/tasks traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.023 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : POST "/api/v1/tasks", parameters={} traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.024 DEBUG 83020 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.TaskController#createTask(TaskCreateRequest) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.024 DEBUG 83020 --- [http-nio-8080-exec-1] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: fe80a8e751f24775aca8751e5e4f2dab traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.058 DEBUG 83020 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json;charset=UTF-8" to [TaskCreateRequest(taskName=test, description=null, modelConfigId=null, parameters={report_type=项目融资, (truncated)...] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.079 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.w.rest.controller.TaskController : 创建任务: tenantId=default, taskName=test traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.079 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 创建任务: tenantId=default, orgId=default, taskName=test, creator=null traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.732 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.735 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.737 DEBUG 83020 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will be managed by Spring traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.739 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.745 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.795 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.796 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.796 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] from current transaction traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.811 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Preparing: INSERT INTO finrep_task ( task_id, tenant_id, org_id, task_name, status, current_stage, progress, parameters, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.812 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String), default(String), default(String), test(String), PENDING_OUTLINE(String), outline(String), 0(Integer), {"report_type":"项目融资","agreement_amount":"35","enterprise_type":"单一企业","group_business_segments":[],"industry_type":"制造业","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"candidate_financing_tools":["流动资金贷款"],"recommended_financing_tools":["流动资金贷款"],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","重要性(无独立报告)":"必定","重要性(有独立报告)":"低","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","重要性(无独立报告)":"必定","重要性(有独立报告)":"低","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略"}]}(String), 2026-04-07T11:51:59.080312(LocalDateTime), 2026-04-07T11:51:59.080312(LocalDateTime), 1(Integer) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.902 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.insert : <== Updates: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.902 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.909 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.910 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:51:59.910 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6eb70b6] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.001 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务创建成功: taskId=8bbcb817fba44a7da1d3c95773e99199 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.001 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 开始任务执行: taskId=8bbcb817fba44a7da1d3c95773e99199 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.002 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.002 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1931910d] was not registered for synchronization because synchronization is not active traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.002 DEBUG 83020 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.002 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.002 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.049 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.049 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1931910d] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.094 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.094 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.094 DEBUG 83020 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will be managed by Spring traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.094 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.095 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.139 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.139 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.140 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] from current transaction traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.151 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, parameters=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.152 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline(String), default(String), 0(Integer), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:51:59(LocalDateTime), 2026-04-07T11:52:00.050446(LocalDateTime), 2026-04-07T11:52:00.050439(LocalDateTime), 1(Integer), 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.242 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.242 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.243 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.243 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.243 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@47a52af4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.332 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.a.s.TaskApplicationServiceImpl : 任务开始执行: taskId=8bbcb817fba44a7da1d3c95773e99199 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.332 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成一级大纲: taskId=8bbcb817fba44a7da1d3c95773e99199 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.332 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.333 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ed676d4] was not registered for synchronization because synchronization is not active traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.333 DEBUG 83020 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.333 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.333 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.377 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.378 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ed676d4] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.378 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l1, body={"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]} traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.383 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.386 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.386 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Writing [{"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}] as "application/json" traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:00.387 INFO 83020 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.063 INFO 83020 --- [http-nio-8080-exec-1] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=200 OK, duration=2ms traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.064 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Response 200 OK traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.064 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.client.RestTemplate : Reading to [java.lang.String] as "application/json" traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.067 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用成功: url=http://localhost:8002/v1/outline/l1, result={"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独成章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独成章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P3","reason":"作为项目融资主报告核心输出,需详细阐述融资结构与方案"}],"overall_logic":"本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案,确保逻辑清晰、重点突出,服务于融资交易方案的论证与执行。"} traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.124 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.125 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.125 DEBUG 83020 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will be managed by Spring traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.125 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.125 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 527edcf25250497d89e6e021562fd4a1(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.167 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.167 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.168 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] from current transaction traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.169 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Preparing: INSERT INTO finrep_outline ( outline_id, task_id, tenant_id, type, sections, raw_content, writing_logic, confirmed, version, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.170 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : ==> Parameters: 527edcf25250497d89e6e021562fd4a1(String), 8bbcb817fba44a7da1d3c95773e99199(String), default(String), LEVEL1(String), [{"attributes":{"paragraph_count_enum":"P0","presentation_enum":"S2"},"description":"因存在独立企业调查报告,主报告不单独成章","sectionId":"pf-l1-01","sortOrder":0,"title":"企业基本情况分析"},{"attributes":{"paragraph_count_enum":"P0","presentation_enum":"S2"},"description":"因存在独立财务分析报告,主报告不单独成章","sectionId":"pf-l1-02","sortOrder":1,"title":"企业财务情况分析"},{"attributes":{"paragraph_count_enum":"P3","presentation_enum":"S1"},"description":"作为项目融资主报告核心输出,需详细阐述融资结构与方案","sectionId":"pf-l1-03","sortOrder":2,"title":"融资方案设计"}](String), {"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独成章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独成章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P3","reason":"作为项目融资主报告核心输出,需详细阐述融资结构与方案"}],"overall_logic":"本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案,确保逻辑清晰、重点突出,服务于融资交易方案的论证与执行。"}(String), 本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案,确保逻辑清晰、重点突出,服务于融资交易方案的论证与执行。(String), false(Boolean), 1(Integer), 2026-04-07T11:52:03.068382(LocalDateTime), 2026-04-07T11:52:03.068389(LocalDateTime) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.259 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.OutlineMapper.insert : <== Updates: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.259 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.259 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.259 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.259 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@56e74d40] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.390 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.390 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.390 DEBUG 83020 --- [http-nio-8080-exec-1] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will be managed by Spring traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.390 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.390 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.434 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.434 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.434 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] from current transaction traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.434 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, parameters=?, create_time=?, update_time=?, start_time=?, version=? WHERE task_id=? AND deleted=0 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.435 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), PENDING_OUTLINE_CONFIRM(String), outline_confirm(String), default(String), 20(Integer), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:51:59(LocalDateTime), 2026-04-07T11:52:03.346391(LocalDateTime), 2026-04-07T11:52(LocalDateTime), 1(Integer), 8bbcb817fba44a7da1d3c95773e99199(String) traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.523 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.523 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.523 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.524 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.524 DEBUG 83020 --- [http-nio-8080-exec-1] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@721543b2] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.614 INFO 83020 --- [http-nio-8080-exec-1] c.y.f.a.o.OutlineGenerationOrchestrator : 一级大纲生成成功: taskId=8bbcb817fba44a7da1d3c95773e99199, outlineId=527edcf25250497d89e6e021562fd4a1 traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.623 DEBUG 83020 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.627 DEBUG 83020 --- [http-nio-8080-exec-1] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=0000, message=操作成功, data=Outline(outlineId=527edcf25250497d89e6e021562fd4a1, tas (truncated)...] traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.635 DEBUG 83020 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=fe690a9c7977460796d941ab6992c5f1 tenantId=2026-04-07 11:52:03.635 DEBUG 83020 --- [http-nio-8080-exec-1] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 11:52:38.415 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC设置完成: traceId=04378b225c9349439f6924c4f286bb14, tenantId=null, userId=null traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.417 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Securing POST /api/v1/outlines/527edcf25250497d89e6e021562fd4a1/confirm-level1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.418 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 请求头中没有租户ID,使用默认租户ID: default traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.418 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.web.security.TenantContextFilter : 设置租户上下文: tenantId=default, orgId=default traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.418 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.418 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.security.web.FilterChainProxy : Secured POST /api/v1/outlines/527edcf25250497d89e6e021562fd4a1/confirm-level1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.419 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : POST "/api/v1/outlines/527edcf25250497d89e6e021562fd4a1/confirm-level1", parameters={} traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.419 DEBUG 83020 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.yuxin.finrep.web.rest.controller.OutlineController#confirmOutlineAndGenerateLevel2(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.419 DEBUG 83020 --- [http-nio-8080-exec-3] c.yuxin.finrep.web.config.WebMvcConfig : 设置追踪ID: abcfb73bb6124664b2f915ff4f4d18a2 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 INFO 83020 --- [http-nio-8080-exec-3] c.y.f.w.r.controller.OutlineController : 确认大纲并生成二级大纲: outlineId=527edcf25250497d89e6e021562fd4a1, confirmerId=null traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 INFO 83020 --- [http-nio-8080-exec-3] c.y.f.a.s.OutlineApplicationServiceImpl : 确认大纲并生成二级大纲: outlineId=527edcf25250497d89e6e021562fd4a1, confirmerId=null traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c3ced36] was not registered for synchronization because synchronization is not active traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.435 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 527edcf25250497d89e6e021562fd4a1(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.482 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.483 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c3ced36] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.483 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.483 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@35ae9821] was not registered for synchronization because synchronization is not active traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.484 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.484 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.484 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.531 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.531 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@35ae9821] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.532 INFO 83020 --- [http-nio-8080-exec-3] c.y.f.a.s.OutlineApplicationServiceImpl : 状态转换验证通过: taskId=8bbcb817fba44a7da1d3c95773e99199, operation: 确认一级大纲并生成二级大纲, PENDING_OUTLINE_CONFIRM -> PENDING_DATA_PREPARE traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.577 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.578 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.578 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.578 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.578 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 527edcf25250497d89e6e021562fd4a1(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.628 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.629 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.629 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] from current transaction traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.633 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.updateById : ==> Preparing: UPDATE finrep_outline SET task_id=?, tenant_id=?, type=?, sections=?, raw_content=?, writing_logic=?, confirmed=?, confirm_time=?, version=?, create_time=?, update_time=? WHERE outline_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.635 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.updateById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String), default(String), LEVEL1(String), [{"title": "企业基本情况分析", "sectionId": "pf-l1-01", "sortOrder": 0, "attributes": {"presentation_enum": "S2", "paragraph_count_enum": "P0"}, "description": "因存在独立企业调查报告,主报告不单独成章"}, {"title": "企业财务情况分析", "sectionId": "pf-l1-02", "sortOrder": 1, "attributes": {"presentation_enum": "S2", "paragraph_count_enum": "P0"}, "description": "因存在独立财务分析报告,主报告不单独成章"}, {"title": "融资方案设计", "sectionId": "pf-l1-03", "sortOrder": 2, "attributes": {"presentation_enum": "S1", "paragraph_count_enum": "P3"}, "description": "作为项目融资主报告核心输出,需详细阐述融资结构与方案"}](String), {"chapter_results":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立企业调查报告,主报告不单独成章"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","presentation_enum":"S2","paragraph_count_enum":"P0","reason":"因存在独立财务分析报告,主报告不单独成章"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","presentation_enum":"S1","paragraph_count_enum":"P3","reason":"作为项目融资主报告核心输出,需详细阐述融资结构与方案"}],"overall_logic":"本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案,确保逻辑清晰、重点突出,服务于融资交易方案的论证与执行。"}(String), 本报告以融资方案设计为核心主线,承接企业基本情况与财务状况的专项分析成果,聚焦于流动资金贷款的可行性论证与具体实施方案,确保逻辑清晰、重点突出,服务于融资交易方案的论证与执行。(String), true(Boolean), 2026-04-07T11:52:38.532752(LocalDateTime), 2(Integer), 2026-04-07T11:52:03(LocalDateTime), 2026-04-07T11:52:38.532764(LocalDateTime), 527edcf25250497d89e6e021562fd4a1(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.726 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.updateById : <== Updates: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.726 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.726 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.726 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.726 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42bc44f4] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.817 INFO 83020 --- [http-nio-8080-exec-3] c.y.f.a.s.OutlineApplicationServiceImpl : 大纲确认成功: outlineId=527edcf25250497d89e6e021562fd4a1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.817 INFO 83020 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 开始生成二级大纲: taskId=8bbcb817fba44a7da1d3c95773e99199, level1OutlineId=527edcf25250497d89e6e021562fd4a1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.817 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.817 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@19970e98] was not registered for synchronization because synchronization is not active traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.817 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.817 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.818 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.865 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.866 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@19970e98] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.867 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.867 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@50464d02] was not registered for synchronization because synchronization is not active traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.867 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.868 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Preparing: SELECT outline_id,task_id,tenant_id,title,type,root_node,sections,knowledge_unit_ids,model_config_id,raw_content,writing_logic,confirmed,confirmer_id,confirmer_name,confirm_time,version,create_time,update_time,deleted FROM finrep_outline WHERE outline_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.869 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : ==> Parameters: 527edcf25250497d89e6e021562fd4a1(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.916 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.m.OutlineMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.917 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@50464d02] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.918 INFO 83020 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : 调用Python Agent: url=http://localhost:8002/v1/outline/l2, body={"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","l1_chapter_id":"527edcf25250497d89e6e021562fd4a1","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]} traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.918 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : HTTP POST http://localhost:8002/v1/outline/l2 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.919 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Accept=[text/plain, application/json, application/*+json, */*] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.919 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Writing [{"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","l1_chapter_id":"527edcf25250497d89e6e021562fd4a1","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}] as "application/json" traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.919 INFO 83020 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP请求: method=POST, uri=http://localhost:8002/v1/outline/l2 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.924 INFO 83020 --- [http-nio-8080-exec-3] tTemplateConfig$LoggingClientInterceptor : HTTP响应: status=422 UNPROCESSABLE_ENTITY, duration=2ms traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.925 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.web.client.RestTemplate : Response 422 UNPROCESSABLE_ENTITY traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.934 ERROR 83020 --- [http-nio-8080-exec-3] c.y.f.i.i.p.PythonAgentClientImpl : Python Agent调用失败: 422 Unprocessable Entity: "{"detail":[{"type":"missing","loc":["body","chapter_name"],"msg":"Field required","input":{"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","l1_chapter_id":"527edcf25250497d89e6e021562fd4a1","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}},{"type":"missing","loc":["body","chapter_no"],"msg":"Field required","input":{"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","l1_chapter_id":"527edcf25250497d89e6e021562fd4a1","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}}]}" org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"detail":[{"type":"missing","loc":["body","chapter_name"],"msg":"Field required","input":{"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","l1_chapter_id":"527edcf25250497d89e6e021562fd4a1","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}},{"type":"missing","loc":["body","chapter_no"],"msg":"Field required","input":{"task_id":"8bbcb817fba44a7da1d3c95773e99199","tenant_id":"default","l1_chapter_id":"527edcf25250497d89e6e021562fd4a1","enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}}]}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:942) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:891) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:538) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:164) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel2Outline(PythonAgentClientImpl.java:106) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel2Outline(OutlineGenerationOrchestrator.java:146) at com.yuxin.finrep.application.service.OutlineApplicationServiceImpl.confirmOutlineAndGenerateLevel2(OutlineApplicationServiceImpl.java:320) at com.yuxin.finrep.web.rest.controller.OutlineController.confirmOutlineAndGenerateLevel2(OutlineController.java:264) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.940 ERROR 83020 --- [http-nio-8080-exec-3] c.y.f.a.o.OutlineGenerationOrchestrator : 二级大纲生成失败: taskId=8bbcb817fba44a7da1d3c95773e99199, error=AI调用失败 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.940 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.940 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5f18572b] was not registered for synchronization because synchronization is not active traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.940 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will not be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.940 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.941 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.989 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:38.990 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5f18572b] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.036 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Creating a new SqlSession traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.036 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.036 DEBUG 83020 --- [http-nio-8080-exec-3] o.m.s.t.SpringManagedTransaction : JDBC Connection [com.alibaba.druid.pool.DruidStatementConnection@3c013309] will be managed by Spring traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.036 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Preparing: SELECT task_id,tenant_id,org_id,task_name,description,status,current_stage,model_config_id,creator_id,creator_name,progress,failure_reason,parameters,attributes,create_time,update_time,start_time,end_time,version,deleted FROM finrep_task WHERE task_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.037 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : ==> Parameters: 8bbcb817fba44a7da1d3c95773e99199(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.084 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.selectById : <== Total: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.084 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.084 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] from current transaction traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.085 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Preparing: UPDATE finrep_task SET tenant_id=?, org_id=?, task_name=?, status=?, current_stage=?, creator_id=?, progress=?, failure_reason=?, parameters=?, create_time=?, update_time=?, start_time=?, end_time=?, version=? WHERE task_id=? AND deleted=0 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.086 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : ==> Parameters: default(String), default(String), test(String), FAILED(String), outline_confirm(String), default(String), 20(Integer), AI调用失败(String), {"enterprise_type":"单一企业","recommended_financing_tools":["流动资金贷款"],"agreement_amount":"35","has_independent_report":true,"independent_report_types":["企业调查报告","财务分析报告"],"industry_type":"制造业","report_type":"项目融资","group_business_segments":[],"other_requirements":"主报告从简承接:企业基本面与财务状况已在专项报告中完整披露,主报告不再单独成章重复论述;仅保留融资方案主线。","chapter_candidates":[{"chapter_id":"pf-l1-01","chapter_name":"企业基本情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立企业调查报告,主服务报告可仅在后文必要时点到为止,不必设独立一级章","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-02","chapter_name":"企业财务情况分析","适用条件":"无独立报告时必选;有独立报告时主报告可不单独呈现本一级章","知识边界说明":"若存在独立财务分析报告,财务论证已在专项报告中完成,主报告避免整章重复","重要性(无独立报告)":"必定","重要性(有独立报告)":"低"},{"chapter_id":"pf-l1-03","chapter_name":"融资方案设计","适用条件":"项目融资主报告核心输出,须保留为独立一级章","知识边界说明":"综合前述结论形成可执行融资结构,不可省略","重要性(无独立报告)":"必定","重要性(有独立报告)":"必定"}],"candidate_financing_tools":["流动资金贷款"]}(String), 2026-04-07T11:51:59(LocalDateTime), 2026-04-07T11:52:38.991066(LocalDateTime), 2026-04-07T11:52(LocalDateTime), 2026-04-07T11:52:38.991059(LocalDateTime), 1(Integer), 8bbcb817fba44a7da1d3c95773e99199(String) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.176 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.p.mapper.TaskMapper.updateById : <== Updates: 1 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.176 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.176 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.176 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.176 DEBUG 83020 --- [http-nio-8080-exec-3] org.mybatis.spring.SqlSessionUtils : Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3de6a0da] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.267 ERROR 83020 --- [http-nio-8080-exec-3] c.y.f.a.orchestration.TaskOrchestrator : 任务已标记失败: taskId=8bbcb817fba44a7da1d3c95773e99199, error=AI调用失败 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.267 ERROR 83020 --- [http-nio-8080-exec-3] c.y.f.a.s.OutlineApplicationServiceImpl : 确认大纲并生成二级大纲失败: outlineId=527edcf25250497d89e6e021562fd4a1, error=AI调用失败 com.yuxin.finrep.common.exception.BusinessException: AI调用失败 at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.doPost(PythonAgentClientImpl.java:177) at com.yuxin.finrep.infrastructure.integration.pythonagent.PythonAgentClientImpl.generateLevel2Outline(PythonAgentClientImpl.java:106) at com.yuxin.finrep.application.orchestration.OutlineGenerationOrchestrator.generateLevel2Outline(OutlineGenerationOrchestrator.java:146) at com.yuxin.finrep.application.service.OutlineApplicationServiceImpl.confirmOutlineAndGenerateLevel2(OutlineApplicationServiceImpl.java:320) at com.yuxin.finrep.web.rest.controller.OutlineController.confirmOutlineAndGenerateLevel2(OutlineController.java:264) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.web.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:76) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at com.yuxin.finrep.web.security.TenantContextFilter.doFilterInternal(TenantContextFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at com.yuxin.finrep.infrastructure.observability.MdcConfig$MdcFilter.doFilter(MdcConfig.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:840) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.269 DEBUG 83020 --- [http-nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.yuxin.finrep.web.rest.advice.GlobalExceptionHandler#handleBusinessException(BusinessException) traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.269 WARN 83020 --- [http-nio-8080-exec-3] c.y.f.w.r.advice.GlobalExceptionHandler : 业务异常: code=4002, message=大纲生成失败 traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.270 DEBUG 83020 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.270 DEBUG 83020 --- [http-nio-8080-exec-3] m.m.a.RequestResponseBodyMethodProcessor : Writing [CommonResponse(code=4002, message=大纲生成失败, data=null, traceId=null, timestamp=2026-04-07T11:52:39.269 (truncated)...] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.271 DEBUG 83020 --- [http-nio-8080-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.yuxin.finrep.common.exception.BusinessException: 大纲生成失败] traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.271 DEBUG 83020 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK traceId=04378b225c9349439f6924c4f286bb14 tenantId=2026-04-07 11:52:39.271 DEBUG 83020 --- [http-nio-8080-exec-3] c.y.f.i.observability.MdcConfig : MDC清理完成 traceId= tenantId=2026-04-07 14:07:24.459 INFO 83020 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 14:07:24.459 INFO 83020 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 14:07:24.461 INFO 83020 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=2026-04-07 14:35:05.327 INFO 92808 --- [background-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 8.0.1.Final traceId= tenantId=2026-04-07 14:35:05.341 INFO 92808 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Starting FinrepWebApplication using Java 17.0.18 with PID 92808 (/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-web/target/classes started by zsh in /Users/zsh/Documents/yusys/智能报告生成/finrep-report) traceId= tenantId=2026-04-07 14:35:05.341 DEBUG 92808 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Running with Spring Boot v3.2.5, Spring v6.1.6 traceId= tenantId=2026-04-07 14:35:05.342 INFO 92808 --- [main] c.yuxin.finrep.web.FinrepWebApplication : No active profile set, falling back to 1 default profile: "default" traceId= tenantId=2026-04-07 14:35:05.734 INFO 92808 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode traceId= tenantId=2026-04-07 14:35:05.736 INFO 92808 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. traceId= tenantId=2026-04-07 14:35:05.748 INFO 92808 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 0 Redis repository interfaces. traceId= tenantId=2026-04-07 14:35:05.787 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/DataPackageMapper.class] traceId= tenantId=2026-04-07 14:35:05.788 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/KnowledgeUnitMapper.class] traceId= tenantId=2026-04-07 14:35:05.788 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/OutlineMapper.class] traceId= tenantId=2026-04-07 14:35:05.788 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/ReportMapper.class] traceId= tenantId=2026-04-07 14:35:05.788 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Identified candidate component class: file [/Users/zsh/Documents/yusys/智能报告生成/finrep-report/backend/finrep-infrastructure/target/classes/com/yuxin/finrep/infrastructure/persistence/mapper/TaskMapper.class] traceId= tenantId=2026-04-07 14:35:05.788 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'dataPackageMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.DataPackageMapper' mapperInterface traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'dataPackageMapper'. traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'knowledgeUnitMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.KnowledgeUnitMapper' mapperInterface traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'knowledgeUnitMapper'. traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'outlineMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.OutlineMapper' mapperInterface traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'outlineMapper'. traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'reportMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.ReportMapper' mapperInterface traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'reportMapper'. traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Creating MapperFactoryBean with name 'taskMapper' and 'com.yuxin.finrep.infrastructure.persistence.mapper.TaskMapper' mapperInterface traceId= tenantId=2026-04-07 14:35:05.789 DEBUG 92808 --- [main] o.m.s.mapper.ClassPathMapperScanner : Enabling autowire by type for MapperFactoryBean with name 'taskMapper'. traceId= tenantId=2026-04-07 14:35:06.046 INFO 92808 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) traceId= tenantId=2026-04-07 14:35:06.050 INFO 92808 --- [main] o.a.coyote.http11.Http11NioProtocol : Initializing ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 14:35:06.051 INFO 92808 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] traceId= tenantId=2026-04-07 14:35:06.051 INFO 92808 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] traceId= tenantId=2026-04-07 14:35:06.069 INFO 92808 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext traceId= tenantId=2026-04-07 14:35:06.070 INFO 92808 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 713 ms traceId= tenantId=2026-04-07 14:35:06.098 DEBUG 92808 --- [main] c.y.f.w.s.JwtAuthenticationFilter : Filter 'jwtAuthenticationFilter' configured for use traceId= tenantId=2026-04-07 14:35:06.098 INFO 92808 --- [main] c.y.f.i.observability.MdcConfig : MDC过滤器初始化 traceId= tenantId=2026-04-07 14:35:06.098 DEBUG 92808 --- [main] c.y.f.web.security.TenantContextFilter : Filter 'tenantContextFilter' configured for use traceId= tenantId=2026-04-07 14:35:06.122 INFO 92808 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource traceId= tenantId=2026-04-07 14:35:06.151 INFO 92808 --- [main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited traceId= tenantId=2026-04-07 14:35:06.410 INFO 92808 --- [main] c.y.f.i.observability.MetricsConfig : Metrics配置未启用 - MeterRegistry不可用 traceId= tenantId=2026-04-07 14:35:06.427 INFO 92808 --- [main] c.yuxin.finrep.web.config.JacksonConfig : Jackson ObjectMapper配置完成 traceId= tenantId=2026-04-07 14:35:06.437 INFO 92808 --- [main] c.yuxin.finrep.web.config.OpenApiConfig : OpenAPI配置完成: title=FinRep报告生成系统API, version=1.0.0 traceId= tenantId=2026-04-07 14:35:06.488 DEBUG 92808 --- [main] swordEncoderAuthenticationManagerBuilder : No authenticationProviders and no parentAuthenticationManager defined. Returning null. traceId= tenantId=2026-04-07 14:35:06.552 DEBUG 92808 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 49 mappings in 'requestMappingHandlerMapping' traceId= tenantId=2026-04-07 14:35:06.568 INFO 92808 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 14:35:06.568 INFO 92808 --- [main] c.yuxin.finrep.web.config.WebMvcConfig : 配置Jackson消息转换器 traceId= tenantId=2026-04-07 14:35:06.574 DEBUG 92808 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**, /swagger-ui*/*swagger-initializer.js, /swagger-ui*/**] in 'resourceHandlerMapping' traceId= tenantId=2026-04-07 14:35:06.596 INFO 92808 --- [main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@44f23927, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@59cde35, org.springframework.security.web.context.SecurityContextHolderFilter@81dfdee, org.springframework.security.web.header.HeaderWriterFilter@96075c0, org.springframework.web.filter.CorsFilter@43de9fc9, org.springframework.security.web.authentication.logout.LogoutFilter@17dbca0a, com.yuxin.finrep.web.security.TenantContextFilter@44bbb7c6, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3b046e64, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1c43e84e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2d3eb1ea, org.springframework.security.web.session.SessionManagementFilter@18209303, org.springframework.security.web.access.ExceptionTranslationFilter@69419d59, org.springframework.security.web.access.intercept.AuthorizationFilter@c29b0dc] traceId= tenantId=2026-04-07 14:35:06.777 DEBUG 92808 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 14:35:06.791 DEBUG 92808 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 3 @ExceptionHandler, 1 ResponseBodyAdvice traceId= tenantId=2026-04-07 14:35:06.963 INFO 92808 --- [main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-8080"] traceId= tenantId=2026-04-07 14:35:06.967 INFO 92808 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' traceId= tenantId=2026-04-07 14:35:06.972 INFO 92808 --- [main] c.yuxin.finrep.web.FinrepWebApplication : Started FinrepWebApplication in 1.819 seconds (process running for 2.051) traceId= tenantId=2026-04-07 14:35:09.492 INFO 92808 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closing ... traceId= tenantId=2026-04-07 14:35:09.492 INFO 92808 --- [SpringApplicationShutdownHook] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed traceId= tenantId=2026-04-07 14:35:09.493 INFO 92808 --- [SpringApplicationShutdownHook] c.y.f.i.observability.MdcConfig : MDC过滤器销毁 traceId= tenantId=