1111
This commit is contained in:
649
logs/webssh.log
Normal file
649
logs/webssh.log
Normal file
@@ -0,0 +1,649 @@
|
|||||||
|
2025-09-05 14:55:59 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 16156 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 14:55:59 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 14:55:59 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 14:55:59 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 14:56:00 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 14:56:00 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 14:56:00 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 14:56:00 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 14:56:00 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1503 ms
|
||||||
|
2025-09-05 14:56:00 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 14:56:00 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:56:00 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 14:56:00 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 14:56:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:56:02 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 14:56:02 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 14:56:03 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@430aae8e
|
||||||
|
2025-09-05 14:56:03 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 14:56:03 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 14:56:03 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.896 seconds (process running for 5.514)
|
||||||
|
2025-09-05 14:56:05 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 14:56:05 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 14:56:05 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 14:57:48 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 14:57:48 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 14:57:48 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 14:57:48 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 14:57:58 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 15900 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 14:57:58 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 14:57:58 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 14:57:58 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 40 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 14:57:59 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 14:57:59 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 14:57:59 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 14:57:59 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 14:57:59 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1142 ms
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 14:57:59 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:58:00 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 14:58:01 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 14:58:01 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@430aae8e
|
||||||
|
2025-09-05 14:58:01 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 14:58:01 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 14:58:01 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.314 seconds (process running for 5.118)
|
||||||
|
2025-09-05 14:58:19 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 14:58:19 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 14:58:19 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 14:59:48 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 14:59:48 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 14:59:48 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 14:59:48 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 14:59:52 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 25404 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 14:59:52 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 14:59:53 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1149 ms
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 14:59:54 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 14:59:55 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 14:59:56 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 14:59:56 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@ce19c86
|
||||||
|
2025-09-05 14:59:56 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 14:59:56 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 14:59:56 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.457 seconds (process running for 4.915)
|
||||||
|
2025-09-05 15:00:54 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:00:54 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:00:54 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 15:01:15 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 15:01:15 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 15:01:15 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 15:01:15 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 15:01:18 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 21756 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 15:01:18 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 38 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 15:01:19 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1111 ms
|
||||||
|
2025-09-05 15:01:19 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 15:01:19 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:01:19 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 15:01:19 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:01:19 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 15:01:19 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:01:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 15:01:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:01:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 15:01:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:01:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 15:01:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:01:21 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 15:01:21 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 15:01:22 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1c792107
|
||||||
|
2025-09-05 15:01:22 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 15:01:22 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 15:01:22 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.589 seconds (process running for 5.092)
|
||||||
|
2025-09-05 15:01:30 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:01:30 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:01:30 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 15:02:15 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 15:02:15 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 15:02:15 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 15:02:15 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 15:02:18 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 25192 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 15:02:18 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 15:02:19 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1092 ms
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 15:02:20 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:02:21 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 15:02:21 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 15:02:22 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1c792107
|
||||||
|
2025-09-05 15:02:22 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 15:02:22 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 15:02:22 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.157 seconds (process running for 4.608)
|
||||||
|
2025-09-05 15:02:24 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:02:24 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:02:24 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 15:03:05 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 15:03:05 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 15:03:05 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 15:03:05 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 15:03:09 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 25232 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 15:03:09 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 15:03:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 15:03:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 15:03:10 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 15:03:10 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 15:03:10 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 15:03:10 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 15:03:10 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1155 ms
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 15:03:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:03:11 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 15:03:11 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:03:12 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 15:03:12 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 15:03:12 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@d0fabc8
|
||||||
|
2025-09-05 15:03:12 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 15:03:13 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 15:03:13 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.375 seconds (process running for 4.827)
|
||||||
|
2025-09-05 15:03:13 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:03:13 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:03:13 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 15:05:07 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 15:05:07 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 15:05:07 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 15:05:07 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 15:05:10 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 8124 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 15:05:10 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 36 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 15:05:11 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1128 ms
|
||||||
|
2025-09-05 15:05:11 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 15:05:11 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:05:11 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 15:05:11 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:05:11 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 15:05:11 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:05:12 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 15:05:12 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:05:12 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 15:05:12 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:05:12 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 15:05:12 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:05:13 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 15:05:13 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 15:05:14 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6ca33187
|
||||||
|
2025-09-05 15:05:14 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 15:05:14 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 15:05:14 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.14 seconds (process running for 4.581)
|
||||||
|
2025-09-05 15:09:25 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:09:25 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:09:25 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 15:09:26 [http-nio-31001-exec-1] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 288 ms
|
||||||
|
2025-09-05 15:51:03 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 15:51:03 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 15:51:03 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 15:51:03 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 15:51:09 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 25984 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 15:51:09 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 15:51:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 15:51:09 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 30 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 15:51:10 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 15:51:10 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 15:51:10 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 15:51:10 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 15:51:10 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1123 ms
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 15:51:10 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:51:11 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 15:51:11 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 15:51:12 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 15:51:12 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 15:51:12 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@7be3abaa
|
||||||
|
2025-09-05 15:51:12 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 15:51:13 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 15:51:13 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.331 seconds (process running for 4.776)
|
||||||
|
2025-09-05 15:51:23 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:51:23 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 15:51:23 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 15:51:23 [http-nio-31001-exec-6] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 276 ms
|
||||||
|
2025-09-05 16:23:38 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:23:38 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:23:38 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:23:38 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:23:44 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 18816 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:23:44 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 41 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:23:45 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1391 ms
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:23:46 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:23:47 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:23:47 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:23:48 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@4407b042
|
||||||
|
2025-09-05 16:23:48 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:23:48 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:23:48 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.801 seconds (process running for 5.331)
|
||||||
|
2025-09-05 16:24:06 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:24:06 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:24:06 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 16:24:06 [http-nio-31001-exec-5] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 267 ms
|
||||||
|
2025-09-05 16:31:21 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:31:21 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:31:22 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:31:22 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:31:25 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 11500 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:31:25 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:31:26 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1133 ms
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:31:27 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:31:28 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:31:29 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:31:29 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@12266084
|
||||||
|
2025-09-05 16:31:29 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:31:30 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:31:30 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.887 seconds (process running for 5.348)
|
||||||
|
2025-09-05 16:31:48 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:31:48 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:31:48 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms
|
||||||
|
2025-09-05 16:31:48 [http-nio-31001-exec-4] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 257 ms
|
||||||
|
2025-09-05 16:38:11 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:38:11 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:38:11 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:38:11 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:38:15 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 19856 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:38:15 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:38:16 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1128 ms
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:38:17 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:38:18 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:38:18 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:38:19 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@41f686af
|
||||||
|
2025-09-05 16:38:19 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:38:19 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:38:19 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.412 seconds (process running for 4.89)
|
||||||
|
2025-09-05 16:38:21 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:38:21 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:38:21 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 16:38:22 [http-nio-31001-exec-7] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 250 ms
|
||||||
|
2025-09-05 16:39:20 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:39:20 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:39:20 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:39:20 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:39:23 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 27080 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:39:23 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 31 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:39:24 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1108 ms
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:39:25 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:39:26 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:39:26 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:39:27 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@41f686af
|
||||||
|
2025-09-05 16:39:27 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:39:27 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:39:27 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.195 seconds (process running for 4.679)
|
||||||
|
2025-09-05 16:39:29 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:39:29 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:39:29 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 3 ms
|
||||||
|
2025-09-05 16:39:29 [http-nio-31001-exec-3] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 258 ms
|
||||||
|
2025-09-05 16:41:21 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:41:21 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:41:21 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:41:21 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:41:24 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 28472 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:41:24 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:41:25 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:41:25 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:41:26 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:41:26 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:41:26 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:41:26 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:41:26 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1213 ms
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:41:26 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:41:27 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:41:28 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:41:28 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@3dded90a
|
||||||
|
2025-09-05 16:41:28 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:41:28 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:41:28 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.348 seconds (process running for 4.793)
|
||||||
|
2025-09-05 16:42:42 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:42:42 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:42:42 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:42:42 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:42:46 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 28088 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:42:46 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 41 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:42:47 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1282 ms
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:42:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:42:49 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:42:49 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:42:50 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@4407b042
|
||||||
|
2025-09-05 16:42:50 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:42:50 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:42:50 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.501 seconds (process running for 4.975)
|
||||||
|
2025-09-05 16:47:49 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:47:49 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:47:49 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 16:47:49 [http-nio-31001-exec-4] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 288 ms
|
||||||
|
2025-09-05 16:49:01 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:49:01 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:49:01 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:49:01 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:49:04 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 12096 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:49:04 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 27 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:49:05 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1066 ms
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:49:06 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:49:07 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:49:07 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:49:08 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@7be3abaa
|
||||||
|
2025-09-05 16:49:08 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:49:08 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:49:08 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.182 seconds (process running for 4.624)
|
||||||
|
2025-09-05 16:49:56 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:49:56 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:49:56 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:49:56 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:49:59 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 26420 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:49:59 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:50:00 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:50:00 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:50:01 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:50:01 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:50:01 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:50:01 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:50:01 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1092 ms
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:50:01 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:02 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:50:02 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:50:03 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@41f686af
|
||||||
|
2025-09-05 16:50:03 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:50:03 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:50:03 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.112 seconds (process running for 4.547)
|
||||||
|
2025-09-05 16:50:06 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:50:06 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:50:06 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
|
||||||
|
2025-09-05 16:50:07 [http-nio-31001-exec-4] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 276 ms
|
||||||
|
2025-09-05 16:50:43 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:50:43 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:50:43 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:50:43 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:50:46 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 27544 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:50:46 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 37 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:50:47 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1105 ms
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:50:48 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:50:49 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:50:49 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:50:50 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@7be3abaa
|
||||||
|
2025-09-05 16:50:50 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:50:50 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:50:50 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.106 seconds (process running for 4.553)
|
||||||
|
2025-09-05 16:50:54 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:50:54 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:50:54 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 16:51:27 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:51:27 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:51:27 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:51:27 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:51:29 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 19632 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:51:29 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:51:29 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:51:29 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:51:30 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:51:30 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:51:30 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:51:30 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:51:30 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1119 ms
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:51:30 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:51:31 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:51:32 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:51:32 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@3dded90a
|
||||||
|
2025-09-05 16:51:32 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:51:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:51:32 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.18 seconds (process running for 4.637)
|
||||||
|
2025-09-05 16:51:35 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:51:35 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 16:51:35 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 16:59:50 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 16:59:50 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 16:59:50 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 16:59:50 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
|
2025-09-05 16:59:54 [main] INFO com.mini.capi.CApiApplication - Starting CApiApplication using Java 17.0.12 with PID 23364 (D:\www\c-api\target\classes started by BDA in D:\www\c-api)
|
||||||
|
2025-09-05 16:59:54 [main] INFO com.mini.capi.CApiApplication - No active profile set, falling back to 1 default profile: "default"
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 0 JDBC repository interfaces.
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 31001 (http)
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.44]
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring embedded WebApplicationContext
|
||||||
|
2025-09-05 16:59:55 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1128 ms
|
||||||
|
2025-09-05 16:59:55 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiMenus".
|
||||||
|
2025-09-05 16:59:55 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiMenus ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:59:55 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.ApiModule".
|
||||||
|
2025-09-05 16:59:55 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.ApiModule ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.CombinedSummaryView".
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.CombinedSummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.DailySummaryView".
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.DailySummaryView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.IncomesExpenseView".
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.IncomesExpenseView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.core.metadata.TableInfoHelper - Can not find table primary key in Class: "com.mini.capi.biz.domain.SyncTablesView".
|
||||||
|
2025-09-05 16:59:56 [main] WARN c.b.m.c.injector.DefaultSqlInjector - class com.mini.capi.biz.domain.SyncTablesView ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.
|
||||||
|
2025-09-05 16:59:57 [main] INFO o.s.v.b.OptionalValidatorFactoryBean - Failed to set up a Bean Validation provider: jakarta.validation.NoProviderFoundException: Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
|
||||||
|
2025-09-05 16:59:57 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
|
||||||
|
2025-09-05 16:59:58 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@41f686af
|
||||||
|
2025-09-05 16:59:58 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
|
||||||
|
2025-09-05 16:59:58 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 31001 (http) with context path '/cApi'
|
||||||
|
2025-09-05 16:59:58 [main] INFO com.mini.capi.CApiApplication - Started CApiApplication in 4.44 seconds (process running for 4.886)
|
||||||
|
2025-09-05 17:00:00 [http-nio-31001-exec-1] INFO o.a.c.c.C.[.[localhost].[/cApi] - Initializing Spring DispatcherServlet 'dispatcherServlet'
|
||||||
|
2025-09-05 17:00:00 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
|
||||||
|
2025-09-05 17:00:00 [http-nio-31001-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
|
||||||
|
2025-09-05 17:00:01 [http-nio-31001-exec-8] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 277 ms
|
||||||
|
2025-09-05 17:34:03 [SpringApplicationShutdownHook] INFO o.s.b.w.e.tomcat.GracefulShutdown - Commencing graceful shutdown. Waiting for active requests to complete
|
||||||
|
2025-09-05 17:34:03 [tomcat-shutdown] INFO o.s.b.w.e.tomcat.GracefulShutdown - Graceful shutdown complete
|
||||||
|
2025-09-05 17:34:03 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...
|
||||||
|
2025-09-05 17:34:03 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed.
|
||||||
13
pom.xml
13
pom.xml
@@ -32,6 +32,17 @@
|
|||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sun.mail</groupId>
|
||||||
|
<artifactId>javax.mail</artifactId>
|
||||||
|
<version>1.6.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.activation</groupId>
|
||||||
|
<artifactId>activation</artifactId>
|
||||||
|
<version>1.1.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springdoc</groupId>
|
<groupId>org.springdoc</groupId>
|
||||||
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
||||||
@@ -67,9 +78,11 @@
|
|||||||
<artifactId>mybatis-spring-boot-starter</artifactId>
|
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||||
<version>3.0.4</version>
|
<version>3.0.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.security</groupId>
|
<groupId>org.springframework.security</groupId>
|
||||||
<artifactId>spring-security-core</artifactId>
|
<artifactId>spring-security-core</artifactId>
|
||||||
|
<version>6.5.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.mini.capi.biz.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮件账户配置表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/biz/mailAccount")
|
||||||
|
public class MailAccountController {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.mini.capi.biz.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 附件表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/biz/mailAttachment")
|
||||||
|
public class MailAttachmentController {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.mini.capi.biz.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 接收邮件表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/biz/mailReceived")
|
||||||
|
public class MailReceivedController {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.mini.capi.biz.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 发送邮件表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/biz/mailSent")
|
||||||
|
public class MailSentController {
|
||||||
|
|
||||||
|
}
|
||||||
125
src/main/java/com/mini/capi/biz/domain/MailAccount.java
Normal file
125
src/main/java/com/mini/capi/biz/domain/MailAccount.java
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
package com.mini.capi.biz.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮件账户配置表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("biz_mail_account")
|
||||||
|
public class MailAccount implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField("create_time")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件服务器地址
|
||||||
|
*/
|
||||||
|
@TableField("host")
|
||||||
|
private String host;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SMTP端口
|
||||||
|
*/
|
||||||
|
@TableField("smtp_port")
|
||||||
|
private Integer smtpPort;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IMAP端口
|
||||||
|
*/
|
||||||
|
@TableField("imap_port")
|
||||||
|
private Integer imapPort;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户名
|
||||||
|
*/
|
||||||
|
@TableField("username")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 密码
|
||||||
|
*/
|
||||||
|
@TableField("password")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发件人地址
|
||||||
|
*/
|
||||||
|
@TableField("from_address")
|
||||||
|
private String fromAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否启用SSL
|
||||||
|
*/
|
||||||
|
@TableField("ssl_enable")
|
||||||
|
private Boolean sslEnable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:0-禁用,1-启用
|
||||||
|
*/
|
||||||
|
@TableField("status")
|
||||||
|
private Boolean status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@TableField("remark")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField("update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@TableField("f_tenant_id")
|
||||||
|
private String fTenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程id
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_id")
|
||||||
|
private String fFlowId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务主键
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_task_id")
|
||||||
|
private String fFlowTaskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务状态
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_state")
|
||||||
|
private Integer fFlowState;
|
||||||
|
}
|
||||||
122
src/main/java/com/mini/capi/biz/domain/MailAttachment.java
Normal file
122
src/main/java/com/mini/capi/biz/domain/MailAttachment.java
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
package com.mini.capi.biz.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 附件表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("biz_mail_attachment")
|
||||||
|
public class MailAttachment implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField("create_time")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件编号
|
||||||
|
*/
|
||||||
|
@TableField("file_no")
|
||||||
|
private String fileNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目录
|
||||||
|
*/
|
||||||
|
@TableField("directory")
|
||||||
|
private String directory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原始文件名
|
||||||
|
*/
|
||||||
|
@TableField("original_file_name")
|
||||||
|
private String originalFileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 存储地址(目录+32位随机字符+拓展名)
|
||||||
|
*/
|
||||||
|
@TableField("storage_path")
|
||||||
|
private String storagePath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件大小(字节)
|
||||||
|
*/
|
||||||
|
@TableField("file_size")
|
||||||
|
private Long fileSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类型:1-收件附件,2-发件附件
|
||||||
|
*/
|
||||||
|
@TableField("type")
|
||||||
|
private Boolean type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联的收件或发件ID
|
||||||
|
*/
|
||||||
|
@TableField("ref_id")
|
||||||
|
private Long refId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型
|
||||||
|
*/
|
||||||
|
@TableField("content_type")
|
||||||
|
private String contentType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载次数
|
||||||
|
*/
|
||||||
|
@TableField("download_count")
|
||||||
|
private Integer downloadCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField("update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@TableField("f_tenant_id")
|
||||||
|
private String fTenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程id
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_id")
|
||||||
|
private String fFlowId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务主键
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_task_id")
|
||||||
|
private String fFlowTaskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务状态
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_state")
|
||||||
|
private Integer fFlowState;
|
||||||
|
}
|
||||||
146
src/main/java/com/mini/capi/biz/domain/MailReceived.java
Normal file
146
src/main/java/com/mini/capi/biz/domain/MailReceived.java
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
package com.mini.capi.biz.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 接收邮件表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("biz_mail_received")
|
||||||
|
public class MailReceived implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField("create_time")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件服务器消息ID
|
||||||
|
*/
|
||||||
|
@TableField("message_id")
|
||||||
|
private String messageId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联的邮件账户ID
|
||||||
|
*/
|
||||||
|
@TableField("account_id")
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发件人地址
|
||||||
|
*/
|
||||||
|
@TableField("from_address")
|
||||||
|
private String fromAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发件人名称
|
||||||
|
*/
|
||||||
|
@TableField("from_name")
|
||||||
|
private String fromName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收件人地址,多个用逗号分隔
|
||||||
|
*/
|
||||||
|
@TableField("to_addresses")
|
||||||
|
private String toAddresses;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 抄送地址,多个用逗号分隔
|
||||||
|
*/
|
||||||
|
@TableField("cc_addresses")
|
||||||
|
private String ccAddresses;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件主题
|
||||||
|
*/
|
||||||
|
@TableField("subject")
|
||||||
|
private String subject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件内容
|
||||||
|
*/
|
||||||
|
@TableField("content")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送时间
|
||||||
|
*/
|
||||||
|
@TableField("send_time")
|
||||||
|
private LocalDateTime sendTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收时间
|
||||||
|
*/
|
||||||
|
@TableField("receive_time")
|
||||||
|
private LocalDateTime receiveTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已读:0-未读,1-已读
|
||||||
|
*/
|
||||||
|
@TableField("is_read")
|
||||||
|
private Boolean isRead;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否有附件:0-无,1-有
|
||||||
|
*/
|
||||||
|
@TableField("has_attachment")
|
||||||
|
private Boolean hasAttachment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件文件夹
|
||||||
|
*/
|
||||||
|
@TableField("folder")
|
||||||
|
private String folder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField("update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@TableField("f_tenant_id")
|
||||||
|
private String fTenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程id
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_id")
|
||||||
|
private String fFlowId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务主键
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_task_id")
|
||||||
|
private String fFlowTaskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务状态
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_state")
|
||||||
|
private Integer fFlowState;
|
||||||
|
}
|
||||||
134
src/main/java/com/mini/capi/biz/domain/MailSent.java
Normal file
134
src/main/java/com/mini/capi/biz/domain/MailSent.java
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
package com.mini.capi.biz.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 发送邮件表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@TableName("biz_mail_sent")
|
||||||
|
public class MailSent implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField("create_time")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件服务器消息ID
|
||||||
|
*/
|
||||||
|
@TableField("message_id")
|
||||||
|
private String messageId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联的邮件账户ID
|
||||||
|
*/
|
||||||
|
@TableField("account_id")
|
||||||
|
private Long accountId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发件人地址
|
||||||
|
*/
|
||||||
|
@TableField("from_address")
|
||||||
|
private String fromAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收件人地址,多个用逗号分隔
|
||||||
|
*/
|
||||||
|
@TableField("to_addresses")
|
||||||
|
private String toAddresses;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 抄送地址,多个用逗号分隔
|
||||||
|
*/
|
||||||
|
@TableField("cc_addresses")
|
||||||
|
private String ccAddresses;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件主题
|
||||||
|
*/
|
||||||
|
@TableField("subject")
|
||||||
|
private String subject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮件内容
|
||||||
|
*/
|
||||||
|
@TableField("content")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送时间
|
||||||
|
*/
|
||||||
|
@TableField("send_time")
|
||||||
|
private LocalDateTime sendTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送状态:0-待发送,1-发送成功,2-发送失败
|
||||||
|
*/
|
||||||
|
@TableField("send_status")
|
||||||
|
private Boolean sendStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错误信息
|
||||||
|
*/
|
||||||
|
@TableField("error_msg")
|
||||||
|
private String errorMsg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否有附件:0-无,1-有
|
||||||
|
*/
|
||||||
|
@TableField("has_attachment")
|
||||||
|
private Boolean hasAttachment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField("update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
@TableField("f_tenant_id")
|
||||||
|
private String fTenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程id
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_id")
|
||||||
|
private String fFlowId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务主键
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_task_id")
|
||||||
|
private String fFlowTaskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程任务状态
|
||||||
|
*/
|
||||||
|
@TableField("f_flow_state")
|
||||||
|
private Integer fFlowState;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.mapper;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailAccount;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮件账户配置表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailAccountMapper extends BaseMapper<MailAccount> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.mapper;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailAttachment;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 附件表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailAttachmentMapper extends BaseMapper<MailAttachment> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.mapper;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailReceived;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 接收邮件表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailReceivedMapper extends BaseMapper<MailReceived> {
|
||||||
|
|
||||||
|
}
|
||||||
16
src/main/java/com/mini/capi/biz/mapper/MailSentMapper.java
Normal file
16
src/main/java/com/mini/capi/biz/mapper/MailSentMapper.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.mapper;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailSent;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 发送邮件表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailSentMapper extends BaseMapper<MailSent> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.service;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailAccount;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮件账户配置表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailAccountService extends IService<MailAccount> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.service;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailAttachment;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 附件表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailAttachmentService extends IService<MailAttachment> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.service;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailReceived;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 接收邮件表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailReceivedService extends IService<MailReceived> {
|
||||||
|
|
||||||
|
}
|
||||||
16
src/main/java/com/mini/capi/biz/service/MailSentService.java
Normal file
16
src/main/java/com/mini/capi/biz/service/MailSentService.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mini.capi.biz.service;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailSent;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 发送邮件表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
public interface MailSentService extends IService<MailSent> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.mini.capi.biz.service.impl;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailAccount;
|
||||||
|
import com.mini.capi.biz.mapper.MailAccountMapper;
|
||||||
|
import com.mini.capi.biz.service.MailAccountService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 邮件账户配置表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MailAccountServiceImpl extends ServiceImpl<MailAccountMapper, MailAccount> implements MailAccountService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.mini.capi.biz.service.impl;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailAttachment;
|
||||||
|
import com.mini.capi.biz.mapper.MailAttachmentMapper;
|
||||||
|
import com.mini.capi.biz.service.MailAttachmentService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 附件表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MailAttachmentServiceImpl extends ServiceImpl<MailAttachmentMapper, MailAttachment> implements MailAttachmentService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.mini.capi.biz.service.impl;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailReceived;
|
||||||
|
import com.mini.capi.biz.mapper.MailReceivedMapper;
|
||||||
|
import com.mini.capi.biz.service.MailReceivedService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 接收邮件表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MailReceivedServiceImpl extends ServiceImpl<MailReceivedMapper, MailReceived> implements MailReceivedService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.mini.capi.biz.service.impl;
|
||||||
|
|
||||||
|
import com.mini.capi.biz.domain.MailSent;
|
||||||
|
import com.mini.capi.biz.mapper.MailSentMapper;
|
||||||
|
import com.mini.capi.biz.service.MailSentService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 发送邮件表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author gaoxq
|
||||||
|
* @since 2025-09-22
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MailSentServiceImpl extends ServiceImpl<MailSentMapper, MailSent> implements MailSentService {
|
||||||
|
|
||||||
|
}
|
||||||
57
src/main/java/com/mini/capi/mail/config/MailConfig.java
Normal file
57
src/main/java/com/mini/capi/mail/config/MailConfig.java
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
package com.mini.capi.mail.config;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class MailConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public JavaMailSenderImpl javaMailSender() {
|
||||||
|
return new JavaMailSenderImpl();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置SMTP属性
|
||||||
|
*/
|
||||||
|
public Properties getSmtpProperties(String host, int port, boolean ssl, boolean auth) {
|
||||||
|
Properties props = new Properties();
|
||||||
|
props.put("mail.smtp.host", host);
|
||||||
|
props.put("mail.smtp.port", port);
|
||||||
|
props.put("mail.smtp.auth", auth);
|
||||||
|
|
||||||
|
if (ssl) {
|
||||||
|
props.put("mail.smtp.ssl.enable", "true");
|
||||||
|
} else {
|
||||||
|
props.put("mail.smtp.starttls.enable", "true");
|
||||||
|
}
|
||||||
|
|
||||||
|
props.put("mail.smtp.connectiontimeout", 5000);
|
||||||
|
props.put("mail.smtp.timeout", 5000);
|
||||||
|
props.put("mail.smtp.writetimeout", 5000);
|
||||||
|
|
||||||
|
return props;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置IMAP属性
|
||||||
|
*/
|
||||||
|
public Properties getImapProperties(String host, int port, boolean ssl) {
|
||||||
|
Properties props = new Properties();
|
||||||
|
props.put("mail.imap.host", host);
|
||||||
|
props.put("mail.imap.port", port);
|
||||||
|
|
||||||
|
if (ssl) {
|
||||||
|
props.put("mail.imap.ssl.enable", "true");
|
||||||
|
}
|
||||||
|
|
||||||
|
props.put("mail.imap.connectiontimeout", 5000);
|
||||||
|
props.put("mail.imap.timeout", 5000);
|
||||||
|
|
||||||
|
return props;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.mini.capi.mail.config;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
|
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class ThreadPoolConfig {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 附件处理线程池
|
||||||
|
*/
|
||||||
|
@Bean(name = "attachmentExecutor")
|
||||||
|
public Executor attachmentExecutor() {
|
||||||
|
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
||||||
|
// 核心线程数
|
||||||
|
executor.setCorePoolSize(5);
|
||||||
|
// 最大线程数
|
||||||
|
executor.setMaxPoolSize(10);
|
||||||
|
// 队列容量
|
||||||
|
executor.setQueueCapacity(50);
|
||||||
|
// 线程名称前缀
|
||||||
|
executor.setThreadNamePrefix("attachment-");
|
||||||
|
// 拒绝策略:由调用线程处理
|
||||||
|
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
|
||||||
|
// 初始化
|
||||||
|
executor.initialize();
|
||||||
|
return executor;
|
||||||
|
}
|
||||||
|
}
|
||||||
102
src/main/java/com/mini/capi/mail/controller/MailController.java
Normal file
102
src/main/java/com/mini/capi/mail/controller/MailController.java
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
package com.mini.capi.mail.controller;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/mail")
|
||||||
|
public class MailController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailReceiveService mailReceiveService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailSendService mailSendService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailAccountMapper mailAccountMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailReceivedMapper mailReceivedMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailSentMapper mailSentMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收邮件
|
||||||
|
*/
|
||||||
|
@PostMapping("/receive/{accountId}")
|
||||||
|
public ResponseVO<Integer> receiveEmails(@PathVariable Long accountId) {
|
||||||
|
try {
|
||||||
|
int count = mailReceiveService.syncNewEmails(accountId);
|
||||||
|
return ResponseVO.success(count, "接收邮件成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseVO.error("接收邮件失败: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送邮件
|
||||||
|
*/
|
||||||
|
@PostMapping("/send/{accountId}")
|
||||||
|
public ResponseVO<Long> sendEmail(
|
||||||
|
@PathVariable Long accountId,
|
||||||
|
@ModelAttribute MailSendVO mailSendVO) {
|
||||||
|
try {
|
||||||
|
MailAccount account = mailAccountMapper.selectById(accountId);
|
||||||
|
if (account == null) {
|
||||||
|
return ResponseVO.error("未找到邮件账户");
|
||||||
|
}
|
||||||
|
|
||||||
|
Long mailId = mailSendService.sendEmail(account, mailSendVO);
|
||||||
|
return ResponseVO.success(mailId, "发送邮件成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseVO.error("发送邮件失败: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取收件箱邮件
|
||||||
|
*/
|
||||||
|
@GetMapping("/received/{accountId}")
|
||||||
|
public ResponseVO<List<MailReceived>> getReceivedEmails(
|
||||||
|
@PathVariable Long accountId,
|
||||||
|
@RequestParam(defaultValue = "0") int page,
|
||||||
|
@RequestParam(defaultValue = "20") int size) {
|
||||||
|
try {
|
||||||
|
QueryWrapper<MailReceived> query = new QueryWrapper<>();
|
||||||
|
query.eq("account_id", accountId)
|
||||||
|
.orderByDesc("received_date")
|
||||||
|
.last("LIMIT " + page * size + "," + size);
|
||||||
|
|
||||||
|
List<MailReceived> emails = mailReceivedMapper.selectList(query);
|
||||||
|
return ResponseVO.success(emails);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseVO.error("获取收件箱邮件失败: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取已发送邮件
|
||||||
|
*/
|
||||||
|
@GetMapping("/sent/{accountId}")
|
||||||
|
public ResponseVO<List<MailSent>> getSentEmails(
|
||||||
|
@PathVariable Long accountId,
|
||||||
|
@RequestParam(defaultValue = "0") int page,
|
||||||
|
@RequestParam(defaultValue = "20") int size) {
|
||||||
|
try {
|
||||||
|
QueryWrapper<MailSent> query = new QueryWrapper<>();
|
||||||
|
query.eq("account_id", accountId)
|
||||||
|
.orderByDesc("send_date")
|
||||||
|
.last("LIMIT " + page * size + "," + size);
|
||||||
|
|
||||||
|
List<MailSent> emails = mailSentMapper.selectList(query);
|
||||||
|
return ResponseVO.success(emails);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseVO.error("获取已发送邮件失败: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
4
src/main/java/com/mini/capi/mail/dc.java
Normal file
4
src/main/java/com/mini/capi/mail/dc.java
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
package com.mini.capi.mail;
|
||||||
|
|
||||||
|
public class dc {
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.mini.capi.mail.service;
|
||||||
|
|
||||||
|
public interface MailReceiveService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收邮件
|
||||||
|
* @param account 邮件账户
|
||||||
|
* @return 接收成功的邮件数量
|
||||||
|
*/
|
||||||
|
int receiveEmails(MailAccount account);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步接收最新的未读邮件
|
||||||
|
* @param accountId 邮件账户ID
|
||||||
|
* @return 接收成功的邮件数量
|
||||||
|
*/
|
||||||
|
int syncNewEmails(Long accountId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.mini.capi.mail.service;
|
||||||
|
|
||||||
|
public interface MailSendService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送邮件
|
||||||
|
* @param account 邮件账户
|
||||||
|
* @param mailSendVO 邮件发送参数
|
||||||
|
* @return 发送成功的邮件ID
|
||||||
|
*/
|
||||||
|
Long sendEmail(MailAccount account, MailSendVO mailSendVO);
|
||||||
|
}
|
||||||
@@ -0,0 +1,253 @@
|
|||||||
|
package com.mini.capi.mail.service.impl;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.mail.*;
|
||||||
|
import javax.mail.internet.InternetAddress;
|
||||||
|
import javax.mail.internet.MimeMessage;
|
||||||
|
import javax.mail.internet.MimeMultipart;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MailReceiveServiceImpl implements MailReceiveService {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(MailReceiveServiceImpl.class);
|
||||||
|
|
||||||
|
// 邮件存储目录
|
||||||
|
private static final String MAIL_FILES_DIR = "/ogsapp/mailfiles";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailAccountMapper mailAccountMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailReceivedMapper mailReceivedMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailAttachmentMapper mailAttachmentMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailConfig mailConfig;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private Executor attachmentExecutor;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public int receiveEmails(MailAccount account) {
|
||||||
|
if (account == null) {
|
||||||
|
logger.error("邮件账户不能为空");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Store store = null;
|
||||||
|
Folder inbox = null;
|
||||||
|
int receivedCount = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 初始化IMAP连接
|
||||||
|
Properties props = mailConfig.getImapProperties(
|
||||||
|
account.getImapHost(),
|
||||||
|
account.getImapPort(),
|
||||||
|
account.isImapSsl()
|
||||||
|
);
|
||||||
|
|
||||||
|
Session session = Session.getInstance(props);
|
||||||
|
store = session.getStore("imap");
|
||||||
|
store.connect(
|
||||||
|
account.getImapHost(),
|
||||||
|
account.getUsername(),
|
||||||
|
account.getPassword()
|
||||||
|
);
|
||||||
|
|
||||||
|
// 打开收件箱,只获取未读邮件
|
||||||
|
inbox = store.getFolder("INBOX");
|
||||||
|
inbox.open(Folder.READ_WRITE);
|
||||||
|
|
||||||
|
// 搜索未读邮件
|
||||||
|
Message[] messages = inbox.search(
|
||||||
|
new FlagTerm(new Flags(Flags.Flag.SEEN), false)
|
||||||
|
);
|
||||||
|
|
||||||
|
logger.info("找到 {} 封未读邮件", messages.length);
|
||||||
|
|
||||||
|
// 处理每封邮件
|
||||||
|
for (Message message : messages) {
|
||||||
|
if (message instanceof MimeMessage) {
|
||||||
|
// 保存邮件基本信息
|
||||||
|
MailReceived mailReceived = saveMailInfo((MimeMessage) message, account);
|
||||||
|
if (mailReceived != null) {
|
||||||
|
receivedCount++;
|
||||||
|
|
||||||
|
// 异步处理附件
|
||||||
|
attachmentExecutor.execute(() -> {
|
||||||
|
try {
|
||||||
|
handleAttachments((MimeMessage) message, mailReceived.getId());
|
||||||
|
// 标记为已读
|
||||||
|
message.setFlag(Flags.Flag.SEEN, true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("处理邮件附件失败", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("接收邮件失败", e);
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (inbox != null && inbox.isOpen()) {
|
||||||
|
inbox.close(false);
|
||||||
|
}
|
||||||
|
if (store != null && store.isConnected()) {
|
||||||
|
store.close();
|
||||||
|
}
|
||||||
|
} catch (MessagingException e) {
|
||||||
|
logger.error("关闭邮件连接失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return receivedCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int syncNewEmails(Long accountId) {
|
||||||
|
if (accountId == null) {
|
||||||
|
logger.error("账户ID不能为空");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
MailAccount account = mailAccountMapper.selectById(accountId);
|
||||||
|
if (account == null) {
|
||||||
|
logger.error("未找到ID为 {} 的邮件账户", accountId);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return receiveEmails(account);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存邮件基本信息到数据库
|
||||||
|
*/
|
||||||
|
private MailReceived saveMailInfo(MimeMessage message, MailAccount account) throws MessagingException {
|
||||||
|
try {
|
||||||
|
MailReceived mailReceived = new MailReceived();
|
||||||
|
|
||||||
|
// 设置邮件基本信息
|
||||||
|
mailReceived.setAccountId(account.getId());
|
||||||
|
mailReceived.setSubject(message.getSubject());
|
||||||
|
mailReceived.setSentDate(message.getSentDate());
|
||||||
|
mailReceived.setReceivedDate(new Date());
|
||||||
|
|
||||||
|
// 设置发件人
|
||||||
|
Address[] fromAddresses = message.getFrom();
|
||||||
|
if (fromAddresses != null && fromAddresses.length > 0) {
|
||||||
|
mailReceived.setFromAddress(((InternetAddress) fromAddresses[0]).getAddress());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置收件人
|
||||||
|
Address[] toAddresses = message.getRecipients(Message.RecipientType.TO);
|
||||||
|
if (toAddresses != null && toAddresses.length > 0) {
|
||||||
|
List<String> toList = new ArrayList<>();
|
||||||
|
for (Address addr : toAddresses) {
|
||||||
|
toList.add(((InternetAddress) addr).getAddress());
|
||||||
|
}
|
||||||
|
mailReceived.setToAddresses(String.join(",", toList));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置抄送人
|
||||||
|
Address[] ccAddresses = message.getRecipients(Message.RecipientType.CC);
|
||||||
|
if (ccAddresses != null && ccAddresses.length > 0) {
|
||||||
|
List<String> ccList = new ArrayList<>();
|
||||||
|
for (Address addr : ccAddresses) {
|
||||||
|
ccList.add(((InternetAddress) addr).getAddress());
|
||||||
|
}
|
||||||
|
mailReceived.setCcAddresses(String.join(",", ccList));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取邮件内容
|
||||||
|
String content = MailUtil.getEmailContent(message);
|
||||||
|
mailReceived.setContent(content);
|
||||||
|
|
||||||
|
// 保存到数据库
|
||||||
|
mailReceivedMapper.insert(mailReceived);
|
||||||
|
return mailReceived;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("保存邮件信息失败", e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理并保存邮件附件
|
||||||
|
*/
|
||||||
|
@Async("attachmentExecutor")
|
||||||
|
@Transactional
|
||||||
|
public void handleAttachments(MimeMessage message, Long mailReceivedId) throws MessagingException {
|
||||||
|
try {
|
||||||
|
Object content = message.getContent();
|
||||||
|
|
||||||
|
if (content instanceof MimeMultipart) {
|
||||||
|
MimeMultipart multipart = (MimeMultipart) content;
|
||||||
|
|
||||||
|
// 遍历所有部分寻找附件
|
||||||
|
for (int i = 0; i < multipart.getCount(); i++) {
|
||||||
|
BodyPart bodyPart = multipart.getBodyPart(i);
|
||||||
|
|
||||||
|
// 判断是否为附件
|
||||||
|
if (Part.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition()) ||
|
||||||
|
bodyPart.getFileName() != null) {
|
||||||
|
|
||||||
|
// 处理附件
|
||||||
|
String originalFileName = bodyPart.getFileName();
|
||||||
|
if (originalFileName != null) {
|
||||||
|
// 生成存储文件名(32位随机字符+扩展名)
|
||||||
|
String fileExt = originalFileName.contains(".") ?
|
||||||
|
originalFileName.substring(originalFileName.lastIndexOf(".")) : "";
|
||||||
|
String storedFileName = UUID.randomUUID().toString().replaceAll("-", "") + fileExt;
|
||||||
|
|
||||||
|
// 确保存储目录存在
|
||||||
|
File dir = new File(MAIL_FILES_DIR);
|
||||||
|
if (!dir.exists()) {
|
||||||
|
dir.mkdirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存附件
|
||||||
|
String filePath = MAIL_FILES_DIR + File.separator + storedFileName;
|
||||||
|
FileUtil.saveFile(bodyPart.getInputStream(), filePath);
|
||||||
|
|
||||||
|
// 获取文件大小
|
||||||
|
File savedFile = new File(filePath);
|
||||||
|
long fileSize = savedFile.length();
|
||||||
|
|
||||||
|
// 保存附件信息到数据库
|
||||||
|
MailAttachment attachment = new MailAttachment();
|
||||||
|
attachment.setFileNo(UUID.randomUUID().toString());
|
||||||
|
attachment.setDirectory(MAIL_FILES_DIR);
|
||||||
|
attachment.setFileName(originalFileName);
|
||||||
|
attachment.setStoredPath(filePath);
|
||||||
|
attachment.setFileSize(fileSize);
|
||||||
|
attachment.setType(1); // 1表示收件
|
||||||
|
attachment.setRelatedId(mailReceivedId);
|
||||||
|
attachment.setCreateTime(new Date());
|
||||||
|
|
||||||
|
mailAttachmentMapper.insert(attachment);
|
||||||
|
|
||||||
|
logger.info("保存附件成功: {} -> {}", originalFileName, storedFileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("处理邮件附件失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
package com.mini.capi.mail.service.impl;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||||
|
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.mail.internet.MimeMessage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MailSendServiceImpl implements MailSendService {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(MailSendServiceImpl.class);
|
||||||
|
|
||||||
|
// 邮件存储目录
|
||||||
|
private static final String MAIL_FILES_DIR = "/ogsapp/mailfiles";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JavaMailSenderImpl mailSender;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailConfig mailConfig;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailSentMapper mailSentMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MailAttachmentMapper mailAttachmentMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private Executor attachmentExecutor;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public Long sendEmail(MailAccount account, MailSendVO mailSendVO) {
|
||||||
|
if (account == null || mailSendVO == null) {
|
||||||
|
logger.error("邮件账户或发送参数不能为空");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mailSendVO.getTo() == null || mailSendVO.getTo().isEmpty()) {
|
||||||
|
logger.error("收件人不能为空");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 配置邮件发送器
|
||||||
|
mailSender.setHost(account.getSmtpHost());
|
||||||
|
mailSender.setPort(account.getSmtpPort());
|
||||||
|
mailSender.setUsername(account.getUsername());
|
||||||
|
mailSender.setPassword(account.getPassword());
|
||||||
|
mailSender.setJavaMailProperties(mailConfig.getSmtpProperties(
|
||||||
|
account.getSmtpHost(),
|
||||||
|
account.getSmtpPort(),
|
||||||
|
account.isSmtpSsl(),
|
||||||
|
true
|
||||||
|
));
|
||||||
|
|
||||||
|
// 创建邮件消息
|
||||||
|
MimeMessage message = mailSender.createMimeMessage();
|
||||||
|
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
|
||||||
|
|
||||||
|
// 设置发件人
|
||||||
|
helper.setFrom(account.getUsername());
|
||||||
|
|
||||||
|
// 设置收件人
|
||||||
|
helper.setTo(mailSendVO.getTo().toArray(new String[0]));
|
||||||
|
|
||||||
|
// 设置抄送
|
||||||
|
if (!CollectionUtils.isEmpty(mailSendVO.getCc())) {
|
||||||
|
helper.setCc(mailSendVO.getCc().toArray(new String[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置邮件主题和内容
|
||||||
|
helper.setSubject(mailSendVO.getSubject());
|
||||||
|
helper.setText(mailSendVO.getContent(), mailSendVO.isHtml());
|
||||||
|
|
||||||
|
// 设置发送时间
|
||||||
|
Date sendDate = new Date();
|
||||||
|
helper.setSentDate(sendDate);
|
||||||
|
|
||||||
|
// 处理附件
|
||||||
|
List<MailAttachment> attachments = new ArrayList<>();
|
||||||
|
if (mailSendVO.getAttachments() != null && !mailSendVO.getAttachments().isEmpty()) {
|
||||||
|
for (MultipartFile file : mailSendVO.getAttachments()) {
|
||||||
|
if (!file.isEmpty()) {
|
||||||
|
// 保存附件到服务器
|
||||||
|
String originalFileName = file.getOriginalFilename();
|
||||||
|
String fileExt = originalFileName.contains(".") ?
|
||||||
|
originalFileName.substring(originalFileName.lastIndexOf(".")) : "";
|
||||||
|
String storedFileName = UUID.randomUUID().toString().replaceAll("-", "") + fileExt;
|
||||||
|
|
||||||
|
// 确保存储目录存在
|
||||||
|
File dir = new File(MAIL_FILES_DIR);
|
||||||
|
if (!dir.exists()) {
|
||||||
|
dir.mkdirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存文件
|
||||||
|
String filePath = MAIL_FILES_DIR + File.separator + storedFileName;
|
||||||
|
file.transferTo(new File(filePath));
|
||||||
|
|
||||||
|
// 添加到邮件
|
||||||
|
helper.addAttachment(originalFileName, new File(filePath));
|
||||||
|
|
||||||
|
// 记录附件信息
|
||||||
|
MailAttachment attachment = new MailAttachment();
|
||||||
|
attachment.setFileNo(UUID.randomUUID().toString());
|
||||||
|
attachment.setDirectory(MAIL_FILES_DIR);
|
||||||
|
attachment.setFileName(originalFileName);
|
||||||
|
attachment.setStoredPath(filePath);
|
||||||
|
attachment.setFileSize(file.getSize());
|
||||||
|
attachment.setType(2); // 2表示发件
|
||||||
|
attachment.setCreateTime(new Date());
|
||||||
|
|
||||||
|
attachments.add(attachment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送邮件
|
||||||
|
mailSender.send(message);
|
||||||
|
logger.info("邮件发送成功,主题: {}", mailSendVO.getSubject());
|
||||||
|
|
||||||
|
// 保存发送记录
|
||||||
|
MailSent mailSent = new MailSent();
|
||||||
|
mailSent.setAccountId(account.getId());
|
||||||
|
mailSent.setSubject(mailSendVO.getSubject());
|
||||||
|
mailSent.setContent(mailSendVO.getContent());
|
||||||
|
mailSent.setFromAddress(account.getUsername());
|
||||||
|
mailSent.setToAddresses(String.join(",", mailSendVO.getTo()));
|
||||||
|
|
||||||
|
if (!CollectionUtils.isEmpty(mailSendVO.getCc())) {
|
||||||
|
mailSent.setCcAddresses(String.join(",", mailSendVO.getCc()));
|
||||||
|
}
|
||||||
|
|
||||||
|
mailSent.setSendDate(sendDate);
|
||||||
|
mailSent.setIsHtml(mailSendVO.isHtml() ? 1 : 0);
|
||||||
|
|
||||||
|
mailSentMapper.insert(mailSent);
|
||||||
|
|
||||||
|
// 保存附件关联信息
|
||||||
|
for (MailAttachment attachment : attachments) {
|
||||||
|
attachment.setRelatedId(mailSent.getId());
|
||||||
|
mailAttachmentMapper.insert(attachment);
|
||||||
|
}
|
||||||
|
|
||||||
|
return mailSent.getId();
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("发送邮件失败", e);
|
||||||
|
throw new RuntimeException("发送邮件失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
22
src/main/java/com/mini/capi/mail/vo/MailSendVO.java
Normal file
22
src/main/java/com/mini/capi/mail/vo/MailSendVO.java
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
package com.mini.capi.mail.vo;
|
||||||
|
|
||||||
|
public class MailSendVO {
|
||||||
|
|
||||||
|
// 收件人列表
|
||||||
|
private List<String> to;
|
||||||
|
|
||||||
|
// 抄送列表
|
||||||
|
private List<String> cc;
|
||||||
|
|
||||||
|
// 邮件主题
|
||||||
|
private String subject;
|
||||||
|
|
||||||
|
// 邮件内容
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
// 是否为HTML内容
|
||||||
|
private boolean isHtml = false;
|
||||||
|
|
||||||
|
// 附件列表
|
||||||
|
private List<MultipartFile> attachments;
|
||||||
|
}
|
||||||
38
src/main/java/com/mini/capi/mail/vo/ResponseVO.java
Normal file
38
src/main/java/com/mini/capi/mail/vo/ResponseVO.java
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
package com.mini.capi.mail.vo;
|
||||||
|
|
||||||
|
|
||||||
|
public class ResponseVO<T> {
|
||||||
|
|
||||||
|
// 状态码:0表示成功,其他表示失败
|
||||||
|
private int code;
|
||||||
|
|
||||||
|
// 消息
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
// 数据
|
||||||
|
private T data;
|
||||||
|
|
||||||
|
// 成功响应
|
||||||
|
public static <T> ResponseVO<T> success(T data, String message) {
|
||||||
|
ResponseVO<T> response = new ResponseVO<>();
|
||||||
|
response.code = 0;
|
||||||
|
response.message = message;
|
||||||
|
response.data = data;
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 成功响应(默认消息)
|
||||||
|
public static <T> ResponseVO<T> success(T data) {
|
||||||
|
return success(data, "操作成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 错误响应
|
||||||
|
public static <T> ResponseVO<T> error(String message) {
|
||||||
|
ResponseVO<T> response = new ResponseVO<>();
|
||||||
|
response.code = 1;
|
||||||
|
response.message = message;
|
||||||
|
response.data = null;
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -29,7 +29,7 @@ public class demo {
|
|||||||
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper"));
|
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper"));
|
||||||
})
|
})
|
||||||
.strategyConfig(builder -> {
|
.strategyConfig(builder -> {
|
||||||
builder.addInclude("biz_ssh_servers")
|
builder.addInclude("biz_mail_account,biz_mail_received,biz_mail_sent,biz_mail_attachment")
|
||||||
.addTablePrefix("biz_")
|
.addTablePrefix("biz_")
|
||||||
.entityBuilder()
|
.entityBuilder()
|
||||||
.enableLombok()
|
.enableLombok()
|
||||||
|
|||||||
17
src/main/java/com/mini/capi/sys/domain/SendMailDTO.java
Normal file
17
src/main/java/com/mini/capi/sys/domain/SendMailDTO.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package com.mini.capi.sys.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SendMailDTO implements Serializable {
|
||||||
|
private Long accountId; // 邮件账户ID
|
||||||
|
private List<String> toAddresses; // 收件人地址列表
|
||||||
|
private List<String> ccAddresses; // 抄送地址列表
|
||||||
|
private String subject; // 邮件主题
|
||||||
|
private String content; // 邮件内容
|
||||||
|
private List<MultipartFile> attachments; // 附件列表
|
||||||
|
}
|
||||||
29
src/main/java/com/mini/capi/utils/DateUtils.java
Normal file
29
src/main/java/com/mini/capi/utils/DateUtils.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package com.mini.capi.utils;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
public class DateUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 格式化当前日期
|
||||||
|
* @param pattern 格式模式
|
||||||
|
* @return 格式化后的日期字符串
|
||||||
|
*/
|
||||||
|
public static String formatCurrentDate(String pattern) {
|
||||||
|
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(pattern));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 格式化指定日期
|
||||||
|
* @param date 日期
|
||||||
|
* @param pattern 格式模式
|
||||||
|
* @return 格式化后的日期字符串
|
||||||
|
*/
|
||||||
|
public static String formatDate(LocalDateTime date, String pattern) {
|
||||||
|
if (date == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return date.format(DateTimeFormatter.ofPattern(pattern));
|
||||||
|
}
|
||||||
|
}
|
||||||
61
src/main/java/com/mini/capi/utils/FileUtils.java
Normal file
61
src/main/java/com/mini/capi/utils/FileUtils.java
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
package com.mini.capi.utils;
|
||||||
|
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.StandardCopyOption;
|
||||||
|
|
||||||
|
public class FileUtil {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(FileUtil.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存输入流到文件
|
||||||
|
*/
|
||||||
|
public static void saveFile(InputStream inputStream, String filePath) {
|
||||||
|
try (OutputStream outputStream = new FileOutputStream(filePath)) {
|
||||||
|
byte[] buffer = new byte[4096];
|
||||||
|
int bytesRead;
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
|
outputStream.write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
logger.info("文件保存成功: {}", filePath);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("保存文件失败: " + filePath, e);
|
||||||
|
throw new RuntimeException("保存文件失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制文件
|
||||||
|
*/
|
||||||
|
public static void copyFile(File source, File dest) {
|
||||||
|
try {
|
||||||
|
Files.copy(source.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING);
|
||||||
|
} catch (IOException e) {
|
||||||
|
logger.error("复制文件失败: {} -> {}", source.getPath(), dest.getPath(), e);
|
||||||
|
throw new RuntimeException("复制文件失败", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除文件
|
||||||
|
*/
|
||||||
|
public static boolean deleteFile(String filePath) {
|
||||||
|
File file = new File(filePath);
|
||||||
|
if (file.exists() && file.isFile()) {
|
||||||
|
boolean deleted = file.delete();
|
||||||
|
if (deleted) {
|
||||||
|
logger.info("文件删除成功: {}", filePath);
|
||||||
|
} else {
|
||||||
|
logger.warn("文件删除失败: {}", filePath);
|
||||||
|
}
|
||||||
|
return deleted;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
88
src/main/java/com/mini/capi/utils/MailUtil.java
Normal file
88
src/main/java/com/mini/capi/utils/MailUtil.java
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
package com.mini.capi.utils;
|
||||||
|
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import javax.mail.BodyPart;
|
||||||
|
import javax.mail.Message;
|
||||||
|
import javax.mail.MessagingException;
|
||||||
|
import javax.mail.Multipart;
|
||||||
|
import javax.mail.internet.MimeMessage;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class MailUtil {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(MailUtil.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取邮件内容
|
||||||
|
*/
|
||||||
|
public static String getEmailContent(Message message) {
|
||||||
|
try {
|
||||||
|
Object content = message.getContent();
|
||||||
|
|
||||||
|
// 简单文本内容
|
||||||
|
if (content instanceof String) {
|
||||||
|
return (String) content;
|
||||||
|
}
|
||||||
|
// 复杂内容(多部分)
|
||||||
|
else if (content instanceof Multipart) {
|
||||||
|
Multipart multipart = (Multipart) content;
|
||||||
|
StringBuilder contentBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
// 遍历所有部分
|
||||||
|
for (int i = 0; i < multipart.getCount(); i++) {
|
||||||
|
BodyPart bodyPart = multipart.getBodyPart(i);
|
||||||
|
|
||||||
|
// 忽略附件
|
||||||
|
if (BodyPart.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition()) ||
|
||||||
|
bodyPart.getFileName() != null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取内容
|
||||||
|
Object partContent = bodyPart.getContent();
|
||||||
|
if (partContent instanceof String) {
|
||||||
|
contentBuilder.append(partContent);
|
||||||
|
} else if (partContent instanceof Multipart) {
|
||||||
|
// 处理嵌套的多部分内容
|
||||||
|
contentBuilder.append(getMultipartContent((Multipart) partContent));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return contentBuilder.toString();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("获取邮件内容失败", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理嵌套的多部分内容
|
||||||
|
*/
|
||||||
|
private static String getMultipartContent(Multipart multipart) throws MessagingException, IOException {
|
||||||
|
StringBuilder contentBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
for (int i = 0; i < multipart.getCount(); i++) {
|
||||||
|
BodyPart bodyPart = multipart.getBodyPart(i);
|
||||||
|
|
||||||
|
// 忽略附件
|
||||||
|
if (BodyPart.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition()) ||
|
||||||
|
bodyPart.getFileName() != null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Object partContent = bodyPart.getContent();
|
||||||
|
if (partContent instanceof String) {
|
||||||
|
contentBuilder.append(partContent);
|
||||||
|
} else if (partContent instanceof Multipart) {
|
||||||
|
contentBuilder.append(getMultipartContent((Multipart) partContent));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return contentBuilder.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
30
src/main/resources/mapper/MailAccountMapper.xml
Normal file
30
src/main/resources/mapper/MailAccountMapper.xml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.mini.capi.biz.mapper.MailAccountMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="com.mini.capi.biz.domain.MailAccount">
|
||||||
|
<id column="id" property="id" />
|
||||||
|
<result column="create_time" property="createTime" />
|
||||||
|
<result column="host" property="host" />
|
||||||
|
<result column="smtp_port" property="smtpPort" />
|
||||||
|
<result column="imap_port" property="imapPort" />
|
||||||
|
<result column="username" property="username" />
|
||||||
|
<result column="password" property="password" />
|
||||||
|
<result column="from_address" property="fromAddress" />
|
||||||
|
<result column="ssl_enable" property="sslEnable" />
|
||||||
|
<result column="status" property="status" />
|
||||||
|
<result column="remark" property="remark" />
|
||||||
|
<result column="update_time" property="updateTime" />
|
||||||
|
<result column="f_tenant_id" property="fTenantId" />
|
||||||
|
<result column="f_flow_id" property="fFlowId" />
|
||||||
|
<result column="f_flow_task_id" property="fFlowTaskId" />
|
||||||
|
<result column="f_flow_state" property="fFlowState" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 通用查询结果列 -->
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
create_time, id, host, smtp_port, imap_port, username, password, from_address, ssl_enable, status, remark, update_time, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
30
src/main/resources/mapper/MailAttachmentMapper.xml
Normal file
30
src/main/resources/mapper/MailAttachmentMapper.xml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.mini.capi.biz.mapper.MailAttachmentMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="com.mini.capi.biz.domain.MailAttachment">
|
||||||
|
<id column="id" property="id" />
|
||||||
|
<result column="create_time" property="createTime" />
|
||||||
|
<result column="file_no" property="fileNo" />
|
||||||
|
<result column="directory" property="directory" />
|
||||||
|
<result column="original_file_name" property="originalFileName" />
|
||||||
|
<result column="storage_path" property="storagePath" />
|
||||||
|
<result column="file_size" property="fileSize" />
|
||||||
|
<result column="type" property="type" />
|
||||||
|
<result column="ref_id" property="refId" />
|
||||||
|
<result column="content_type" property="contentType" />
|
||||||
|
<result column="download_count" property="downloadCount" />
|
||||||
|
<result column="update_time" property="updateTime" />
|
||||||
|
<result column="f_tenant_id" property="fTenantId" />
|
||||||
|
<result column="f_flow_id" property="fFlowId" />
|
||||||
|
<result column="f_flow_task_id" property="fFlowTaskId" />
|
||||||
|
<result column="f_flow_state" property="fFlowState" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 通用查询结果列 -->
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
create_time, id, file_no, directory, original_file_name, storage_path, file_size, type, ref_id, content_type, download_count, update_time, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
34
src/main/resources/mapper/MailReceivedMapper.xml
Normal file
34
src/main/resources/mapper/MailReceivedMapper.xml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.mini.capi.biz.mapper.MailReceivedMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="com.mini.capi.biz.domain.MailReceived">
|
||||||
|
<id column="id" property="id" />
|
||||||
|
<result column="create_time" property="createTime" />
|
||||||
|
<result column="message_id" property="messageId" />
|
||||||
|
<result column="account_id" property="accountId" />
|
||||||
|
<result column="from_address" property="fromAddress" />
|
||||||
|
<result column="from_name" property="fromName" />
|
||||||
|
<result column="to_addresses" property="toAddresses" />
|
||||||
|
<result column="cc_addresses" property="ccAddresses" />
|
||||||
|
<result column="subject" property="subject" />
|
||||||
|
<result column="content" property="content" />
|
||||||
|
<result column="send_time" property="sendTime" />
|
||||||
|
<result column="receive_time" property="receiveTime" />
|
||||||
|
<result column="is_read" property="isRead" />
|
||||||
|
<result column="has_attachment" property="hasAttachment" />
|
||||||
|
<result column="folder" property="folder" />
|
||||||
|
<result column="update_time" property="updateTime" />
|
||||||
|
<result column="f_tenant_id" property="fTenantId" />
|
||||||
|
<result column="f_flow_id" property="fFlowId" />
|
||||||
|
<result column="f_flow_task_id" property="fFlowTaskId" />
|
||||||
|
<result column="f_flow_state" property="fFlowState" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 通用查询结果列 -->
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
create_time, id, message_id, account_id, from_address, from_name, to_addresses, cc_addresses, subject, content, send_time, receive_time, is_read, has_attachment, folder, update_time, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
32
src/main/resources/mapper/MailSentMapper.xml
Normal file
32
src/main/resources/mapper/MailSentMapper.xml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.mini.capi.biz.mapper.MailSentMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="com.mini.capi.biz.domain.MailSent">
|
||||||
|
<id column="id" property="id" />
|
||||||
|
<result column="create_time" property="createTime" />
|
||||||
|
<result column="message_id" property="messageId" />
|
||||||
|
<result column="account_id" property="accountId" />
|
||||||
|
<result column="from_address" property="fromAddress" />
|
||||||
|
<result column="to_addresses" property="toAddresses" />
|
||||||
|
<result column="cc_addresses" property="ccAddresses" />
|
||||||
|
<result column="subject" property="subject" />
|
||||||
|
<result column="content" property="content" />
|
||||||
|
<result column="send_time" property="sendTime" />
|
||||||
|
<result column="send_status" property="sendStatus" />
|
||||||
|
<result column="error_msg" property="errorMsg" />
|
||||||
|
<result column="has_attachment" property="hasAttachment" />
|
||||||
|
<result column="update_time" property="updateTime" />
|
||||||
|
<result column="f_tenant_id" property="fTenantId" />
|
||||||
|
<result column="f_flow_id" property="fFlowId" />
|
||||||
|
<result column="f_flow_task_id" property="fFlowTaskId" />
|
||||||
|
<result column="f_flow_state" property="fFlowState" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 通用查询结果列 -->
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
create_time, id, message_id, account_id, from_address, to_addresses, cc_addresses, subject, content, send_time, send_status, error_msg, has_attachment, update_time, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user