diff --git a/log/project_manager.log b/log/project_manager.log new file mode 100644 index 0000000..f781b8c --- /dev/null +++ b/log/project_manager.log @@ -0,0 +1,2433 @@ +2023-08-24 16:38:55.758 INFO 27128 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 27128 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 16:38:55.760 INFO 27128 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 16:38:56.557 INFO 27128 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 16:38:56.559 INFO 27128 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 16:38:56.615 INFO 27128 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 42ms. Found 0 repository interfaces. +2023-08-24 16:38:56.924 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$523f6819] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.042 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.045 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$bbcdd8ea] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.049 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.053 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.055 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'fileUploadProperties' of type [com.huoran.iasf.common.config.FileUploadProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.056 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.huoran.iasf.common.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$69ffab90] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.366 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customHashedCredentialsMatcher' of type [com.huoran.iasf.common.shiro.CustomHashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.379 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customRealm' of type [com.huoran.iasf.common.shiro.CustomRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.391 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.407 INFO 27128 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:38:57.658 INFO 27128 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 10000 (http) +2023-08-24 16:38:57.675 INFO 27128 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 16:38:57.675 INFO 27128 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 16:38:57.775 INFO 27128 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 16:38:57.776 INFO 27128 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1955 ms +2023-08-24 16:38:57.845 INFO 27128 --- [main] o.apache.catalina.core.StandardContext : Suspicious URL pattern: [/**] in context [/iasf], see sections 12.1 and 12.2 of the Servlet specification +2023-08-24 16:38:58.129 INFO 27128 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 16:38:58.302 INFO 27128 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 16:38:58.302 INFO 27128 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 16:38:58.302 INFO 27128 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 16:38:58.303 INFO 27128 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 16:38:59.206 WARN 27128 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 16:39:00.110 INFO 27128 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 16:39:00.664 INFO 27128 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 16:39:00.673 INFO 27128 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 16:39:00.673 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 16:39:00.674 INFO 27128 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 16:39:00.674 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 16:39:00.674 INFO 27128 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 16:39:00.674 INFO 27128 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 16:39:00.675 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@72641613 +2023-08-24 16:39:00.762 INFO 27128 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 16:39:00.775 INFO 27128 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 16:39:00.937 INFO 27128 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 16:39:01.049 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 16:39:01.050 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 16:39:01.052 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 16:39:01.061 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 16:39:01.062 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 16:39:01.091 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 16:39:01.096 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 16:39:01.099 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 16:39:01.101 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 16:39:01.104 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 16:39:01.105 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 16:39:01.106 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 16:39:01.108 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 16:39:01.109 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 16:39:01.123 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 16:39:01.127 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 16:39:01.128 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 16:39:01.166 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 16:39:01.168 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 16:39:01.169 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 16:39:01.170 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 16:39:01.171 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 16:39:01.171 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 16:39:01.172 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 16:39:01.175 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 16:39:01.177 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 16:39:01.178 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 16:39:01.178 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 16:39:01.182 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 16:39:01.184 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 16:39:01.209 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 16:39:01.210 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 16:39:01.212 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 16:39:01.213 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 16:39:01.214 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 16:39:01.218 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 16:39:01.219 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 16:39:01.230 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 16:39:01.235 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 16:39:01.241 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 16:39:01.242 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 16:39:01.243 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 16:39:01.243 INFO 27128 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 16:39:01.253 INFO 27128 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 16:39:01.253 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 16:39:01.267 ERROR 27128 --- [main] org.apache.catalina.util.LifecycleBase : Failed to start component [Connector[HTTP/1.1-10000]] + +org.apache.catalina.LifecycleException: Protocol handler start failed + at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:263) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:195) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:296) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202) + at com.huoran.iasf.IASFApplication.main(IASFApplication.java:20) +Caused by: java.net.BindException: Address already in use: bind + at sun.nio.ch.Net.bind0(Native Method) + at sun.nio.ch.Net.bind(Net.java:438) + at sun.nio.ch.Net.bind(Net.java:430) + at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225) + at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) + at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:230) + at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:213) + at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124) + at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1210) + at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:585) + at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005) + ... 14 common frames omitted + +2023-08-24 16:39:01.271 INFO 27128 --- [main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] +2023-08-24 16:39:01.277 INFO 27128 --- [main] ConditionEvaluationReportLoggingListener : + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2023-08-24 16:39:01.281 ERROR 27128 --- [main] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +The Tomcat connector configured to listen on port 10000 failed to start. The port may already be in use or the connector may be misconfigured. + +Action: + +Verify the connector's configuration, identify and stop any process that's listening on port 10000, or configure this application to listen on another port. + +2023-08-24 16:39:01.283 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:39:01.283 INFO 27128 --- [main] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 16:39:01.283 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 16:39:01.283 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:39:01.283 INFO 27128 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 16:39:01.285 INFO 27128 --- [main] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 16:39:01.286 INFO 27128 --- [main] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 16:39:01.288 INFO 27128 --- [main] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 16:39:21.227 INFO 12960 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 12960 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 16:39:21.229 INFO 12960 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 16:39:21.913 INFO 12960 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 16:39:21.914 INFO 12960 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 16:39:21.956 INFO 12960 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces. +2023-08-24 16:39:22.221 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$73124a3b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.317 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.319 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$dca0bb0c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.324 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.328 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.331 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'fileUploadProperties' of type [com.huoran.iasf.common.config.FileUploadProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.333 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.huoran.iasf.common.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$8ad28db2] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.641 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customHashedCredentialsMatcher' of type [com.huoran.iasf.common.shiro.CustomHashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.653 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customRealm' of type [com.huoran.iasf.common.shiro.CustomRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.664 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.685 INFO 12960 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:22.916 INFO 12960 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 10001 (http) +2023-08-24 16:39:22.930 INFO 12960 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 16:39:22.931 INFO 12960 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 16:39:23.007 INFO 12960 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 16:39:23.007 INFO 12960 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1721 ms +2023-08-24 16:39:23.068 INFO 12960 --- [main] o.apache.catalina.core.StandardContext : Suspicious URL pattern: [/**] in context [/iasf], see sections 12.1 and 12.2 of the Servlet specification +2023-08-24 16:39:23.322 INFO 12960 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 16:39:23.487 INFO 12960 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 16:39:23.488 INFO 12960 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 16:39:23.488 INFO 12960 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 16:39:23.488 INFO 12960 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 16:39:24.380 WARN 12960 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 16:39:25.267 INFO 12960 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 16:39:25.782 INFO 12960 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 16:39:25.790 INFO 12960 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 16:39:25.790 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 16:39:25.791 INFO 12960 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 16:39:25.791 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 16:39:25.791 INFO 12960 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 16:39:25.791 INFO 12960 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 16:39:25.792 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@acea29e +2023-08-24 16:39:25.873 INFO 12960 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 16:39:25.886 INFO 12960 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 16:39:26.051 INFO 12960 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 16:39:26.161 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 16:39:26.162 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 16:39:26.163 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 16:39:26.173 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 16:39:26.174 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 16:39:26.204 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 16:39:26.209 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 16:39:26.213 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 16:39:26.215 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 16:39:26.218 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 16:39:26.220 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 16:39:26.221 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 16:39:26.223 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 16:39:26.224 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 16:39:26.238 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 16:39:26.240 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 16:39:26.241 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 16:39:26.275 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 16:39:26.276 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 16:39:26.278 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 16:39:26.278 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 16:39:26.279 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 16:39:26.280 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 16:39:26.282 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 16:39:26.284 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 16:39:26.285 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 16:39:26.286 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 16:39:26.286 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 16:39:26.287 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 16:39:26.288 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 16:39:26.310 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 16:39:26.311 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 16:39:26.314 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 16:39:26.316 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 16:39:26.317 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 16:39:26.319 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 16:39:26.319 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 16:39:26.333 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 16:39:26.336 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 16:39:26.344 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 16:39:26.345 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 16:39:26.345 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 16:39:26.346 INFO 12960 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 16:39:26.354 INFO 12960 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 16:39:26.354 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 16:39:26.368 ERROR 12960 --- [main] org.apache.catalina.util.LifecycleBase : Failed to start component [Connector[HTTP/1.1-10001]] + +org.apache.catalina.LifecycleException: Protocol handler start failed + at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:263) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:195) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:296) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202) + at com.huoran.iasf.IASFApplication.main(IASFApplication.java:20) +Caused by: java.net.BindException: Address already in use: bind + at sun.nio.ch.Net.bind0(Native Method) + at sun.nio.ch.Net.bind(Net.java:438) + at sun.nio.ch.Net.bind(Net.java:430) + at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225) + at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) + at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:230) + at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:213) + at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124) + at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1210) + at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:585) + at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005) + ... 14 common frames omitted + +2023-08-24 16:39:26.373 INFO 12960 --- [main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] +2023-08-24 16:39:26.379 INFO 12960 --- [main] ConditionEvaluationReportLoggingListener : + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2023-08-24 16:39:26.382 ERROR 12960 --- [main] o.s.b.d.LoggingFailureAnalysisReporter : + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +The Tomcat connector configured to listen on port 10001 failed to start. The port may already be in use or the connector may be misconfigured. + +Action: + +Verify the connector's configuration, identify and stop any process that's listening on port 10001, or configure this application to listen on another port. + +2023-08-24 16:39:26.383 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:39:26.384 INFO 12960 --- [main] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 16:39:26.384 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 16:39:26.384 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:39:26.384 INFO 12960 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 16:39:26.386 INFO 12960 --- [main] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 16:39:26.386 INFO 12960 --- [main] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 16:39:26.389 INFO 12960 --- [main] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 16:39:40.975 INFO 20108 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 20108 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 16:39:40.976 INFO 20108 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 16:39:41.689 INFO 20108 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 16:39:41.690 INFO 20108 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 16:39:41.730 INFO 20108 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 32ms. Found 0 repository interfaces. +2023-08-24 16:39:41.993 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$14bb2744] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.089 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.093 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$7e499815] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.097 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.101 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.104 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'fileUploadProperties' of type [com.huoran.iasf.common.config.FileUploadProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.106 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.huoran.iasf.common.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$2c7b6abb] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.466 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customHashedCredentialsMatcher' of type [com.huoran.iasf.common.shiro.CustomHashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.477 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customRealm' of type [com.huoran.iasf.common.shiro.CustomRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.488 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.506 INFO 20108 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:39:42.725 INFO 20108 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) +2023-08-24 16:39:42.741 INFO 20108 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 16:39:42.741 INFO 20108 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 16:39:42.815 INFO 20108 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 16:39:42.815 INFO 20108 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1784 ms +2023-08-24 16:39:42.881 INFO 20108 --- [main] o.apache.catalina.core.StandardContext : Suspicious URL pattern: [/**] in context [/iasf], see sections 12.1 and 12.2 of the Servlet specification +2023-08-24 16:39:43.118 INFO 20108 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 16:39:43.287 INFO 20108 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 16:39:43.287 INFO 20108 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 16:39:43.287 INFO 20108 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 16:39:43.287 INFO 20108 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 16:39:44.203 WARN 20108 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 16:39:45.134 INFO 20108 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 16:39:45.660 INFO 20108 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 16:39:45.667 INFO 20108 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 16:39:45.667 INFO 20108 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 16:39:45.668 INFO 20108 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 16:39:45.668 INFO 20108 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 16:39:45.669 INFO 20108 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 16:39:45.669 INFO 20108 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 16:39:45.669 INFO 20108 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@1cb929a9 +2023-08-24 16:39:45.751 INFO 20108 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 16:39:45.764 INFO 20108 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 16:39:45.931 INFO 20108 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 16:39:46.051 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 16:39:46.052 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 16:39:46.053 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 16:39:46.064 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 16:39:46.064 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 16:39:46.097 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 16:39:46.100 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 16:39:46.107 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 16:39:46.111 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 16:39:46.117 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 16:39:46.119 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 16:39:46.120 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 16:39:46.121 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 16:39:46.122 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 16:39:46.141 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 16:39:46.145 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 16:39:46.146 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 16:39:46.186 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 16:39:46.188 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 16:39:46.189 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 16:39:46.190 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 16:39:46.190 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 16:39:46.191 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 16:39:46.192 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 16:39:46.194 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 16:39:46.196 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 16:39:46.196 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 16:39:46.197 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 16:39:46.199 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 16:39:46.200 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 16:39:46.222 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 16:39:46.223 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 16:39:46.225 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 16:39:46.227 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 16:39:46.228 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 16:39:46.230 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 16:39:46.231 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 16:39:46.243 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 16:39:46.246 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 16:39:46.253 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 16:39:46.254 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 16:39:46.254 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 16:39:46.255 INFO 20108 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 16:39:46.264 INFO 20108 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 16:39:46.265 INFO 20108 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 16:39:46.287 INFO 20108 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9999 (http) with context path '/iasf' +2023-08-24 16:39:46.288 INFO 20108 --- [main] com.huoran.iasf.IASFApplication : Started IASFApplication in 5.692 seconds (JVM running for 6.293) +2023-08-24 16:39:46.291 INFO 20108 --- [main] com.huoran.iasf.IASFApplication : +---------------------------------------------------------- + Application 'iasf' is running! Access URLs: + Doc: http://2.0.0.1:9999/iasf/doc.html +---------------------------------------------------------- +2023-08-24 16:40:14.607 INFO 20108 --- [http-nio-9999-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-08-24 16:40:14.607 INFO 20108 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-08-24 16:40:14.619 INFO 20108 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 12 ms +2023-08-24 16:41:17.995 INFO 20108 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:41:17.996 INFO 20108 --- [Thread-14] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 16:41:17.996 INFO 20108 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 16:41:17.996 INFO 20108 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:41:17.996 INFO 20108 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 16:41:17.998 INFO 20108 --- [Thread-14] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 16:41:17.998 INFO 20108 --- [Thread-14] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 16:41:18.001 INFO 20108 --- [Thread-14] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 16:41:20.704 INFO 20800 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 20800 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 16:41:20.706 INFO 20800 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 16:41:21.392 INFO 20800 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 16:41:21.392 INFO 20800 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 16:41:21.433 INFO 20800 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 31ms. Found 0 repository interfaces. +2023-08-24 16:41:21.696 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$1a1e978a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:21.789 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:21.792 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$83ad085b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:21.796 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:21.799 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:21.802 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'fileUploadProperties' of type [com.huoran.iasf.common.config.FileUploadProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:21.803 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfig' of type [com.huoran.iasf.common.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$31dedb01] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:22.149 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customHashedCredentialsMatcher' of type [com.huoran.iasf.common.shiro.CustomHashedCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:22.161 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'customRealm' of type [com.huoran.iasf.common.shiro.CustomRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:22.172 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:22.189 INFO 20800 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:41:22.417 INFO 20800 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) +2023-08-24 16:41:22.431 INFO 20800 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 16:41:22.432 INFO 20800 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 16:41:22.511 INFO 20800 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 16:41:22.511 INFO 20800 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1754 ms +2023-08-24 16:41:22.573 INFO 20800 --- [main] o.apache.catalina.core.StandardContext : Suspicious URL pattern: [/**] in context [/iasf], see sections 12.1 and 12.2 of the Servlet specification +2023-08-24 16:41:22.828 INFO 20800 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 16:41:22.998 INFO 20800 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 16:41:22.998 INFO 20800 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 16:41:22.999 INFO 20800 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 16:41:22.999 INFO 20800 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 16:41:23.904 WARN 20800 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 16:41:24.763 INFO 20800 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 16:41:25.289 INFO 20800 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 16:41:25.298 INFO 20800 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 16:41:25.298 INFO 20800 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 16:41:25.298 INFO 20800 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 16:41:25.299 INFO 20800 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 16:41:25.299 INFO 20800 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 16:41:25.299 INFO 20800 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 16:41:25.299 INFO 20800 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@4d9bccfe +2023-08-24 16:41:25.382 INFO 20800 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 16:41:25.394 INFO 20800 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 16:41:25.563 INFO 20800 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 16:41:25.682 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 16:41:25.683 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 16:41:25.685 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 16:41:25.697 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 16:41:25.698 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 16:41:25.737 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 16:41:25.741 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 16:41:25.745 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 16:41:25.747 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 16:41:25.750 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 16:41:25.753 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 16:41:25.754 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 16:41:25.756 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 16:41:25.756 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 16:41:25.772 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 16:41:25.776 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 16:41:25.777 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 16:41:25.812 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 16:41:25.815 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 16:41:25.816 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 16:41:25.817 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 16:41:25.817 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 16:41:25.818 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 16:41:25.819 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 16:41:25.821 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 16:41:25.822 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 16:41:25.823 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 16:41:25.823 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 16:41:25.825 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 16:41:25.826 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 16:41:25.847 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 16:41:25.849 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 16:41:25.851 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 16:41:25.852 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 16:41:25.853 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 16:41:25.855 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 16:41:25.856 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 16:41:25.868 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 16:41:25.871 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 16:41:25.876 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 16:41:25.877 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 16:41:25.878 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 16:41:25.878 INFO 20800 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 16:41:25.886 INFO 20800 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 16:41:25.886 INFO 20800 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 16:41:25.907 INFO 20800 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9999 (http) with context path '/iasf' +2023-08-24 16:41:25.909 INFO 20800 --- [main] com.huoran.iasf.IASFApplication : Started IASFApplication in 5.574 seconds (JVM running for 6.205) +2023-08-24 16:41:25.911 INFO 20800 --- [main] com.huoran.iasf.IASFApplication : +---------------------------------------------------------- + Application 'iasf' is running! Access URLs: + Doc: http://2.0.0.1:9999/iasf/doc.html +---------------------------------------------------------- +2023-08-24 16:42:48.166 INFO 20800 --- [http-nio-9999-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-08-24 16:42:48.166 INFO 20800 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-08-24 16:42:48.173 INFO 20800 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms +2023-08-24 16:42:48.188 INFO 20800 --- [http-nio-9999-exec-1] c.h.i.c.shiro.CustomAccessControlFilter : GET +2023-08-24 16:42:48.189 INFO 20800 --- [http-nio-9999-exec-1] c.h.i.c.shiro.CustomAccessControlFilter : http://192.168.31.51:9999/iasf/doc.html +2023-08-24 16:42:48.210 ERROR 20800 --- [http-nio-9999-exec-1] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +com.huoran.iasf.common.exception.UnauthorizedException: null + at com.huoran.iasf.common.shiro.CustomAccessControlFilter.onAccessDenied(CustomAccessControlFilter.java:88) + at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 16:42:48.254 ERROR 20800 --- [http-nio-9999-exec-1] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/iasf] threw exception [java.lang.IllegalStateException: Cannot forward after response has been committed] with root cause + +java.lang.IllegalStateException: Cannot forward after response has been committed + at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:323) + at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) + at com.huoran.iasf.common.shiro.CustomAccessControlFilter.onAccessDenied(CustomAccessControlFilter.java:100) + at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 16:42:48.265 ERROR 20800 --- [http-nio-9999-exec-1] s.e.ErrorMvcAutoConfiguration$StaticView : Cannot render error page for request [/iasf/doc.html] and exception [No message available] as the response has already been committed. As a result, the response may have the wrong status code. +2023-08-24 16:43:40.334 INFO 20800 --- [http-nio-9999-exec-2] c.h.i.c.shiro.CustomAccessControlFilter : GET +2023-08-24 16:43:40.334 INFO 20800 --- [http-nio-9999-exec-2] c.h.i.c.shiro.CustomAccessControlFilter : http://192.168.31.51:9999/iasf/doc.html +2023-08-24 16:43:40.335 ERROR 20800 --- [http-nio-9999-exec-2] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +com.huoran.iasf.common.exception.UnauthorizedException: null + at com.huoran.iasf.common.shiro.CustomAccessControlFilter.onAccessDenied(CustomAccessControlFilter.java:88) + at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 16:43:40.336 ERROR 20800 --- [http-nio-9999-exec-2] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/iasf] threw exception [java.lang.IllegalStateException: Cannot forward after response has been committed] with root cause + +java.lang.IllegalStateException: Cannot forward after response has been committed + at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:323) + at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) + at com.huoran.iasf.common.shiro.CustomAccessControlFilter.onAccessDenied(CustomAccessControlFilter.java:100) + at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 16:43:40.338 ERROR 20800 --- [http-nio-9999-exec-2] s.e.ErrorMvcAutoConfiguration$StaticView : Cannot render error page for request [/iasf/doc.html] and exception [No message available] as the response has already been committed. As a result, the response may have the wrong status code. +2023-08-24 16:43:52.329 INFO 20800 --- [http-nio-9999-exec-5] c.h.i.c.shiro.CustomAccessControlFilter : GET +2023-08-24 16:43:52.329 INFO 20800 --- [http-nio-9999-exec-5] c.h.i.c.shiro.CustomAccessControlFilter : http://192.168.31.51:9999/iasf/doc.html +2023-08-24 16:43:52.331 ERROR 20800 --- [http-nio-9999-exec-5] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +com.huoran.iasf.common.exception.UnauthorizedException: null + at com.huoran.iasf.common.shiro.CustomAccessControlFilter.onAccessDenied(CustomAccessControlFilter.java:88) + at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 16:43:52.332 ERROR 20800 --- [http-nio-9999-exec-5] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/iasf] threw exception [java.lang.IllegalStateException: Cannot forward after response has been committed] with root cause + +java.lang.IllegalStateException: Cannot forward after response has been committed + at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:323) + at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) + at com.huoran.iasf.common.shiro.CustomAccessControlFilter.onAccessDenied(CustomAccessControlFilter.java:100) + at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) + at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) + at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) + at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) + at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) + at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) + at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) + at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) + at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) + at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) + at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) + at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 16:43:52.335 ERROR 20800 --- [http-nio-9999-exec-5] s.e.ErrorMvcAutoConfiguration$StaticView : Cannot render error page for request [/iasf/doc.html] and exception [No message available] as the response has already been committed. As a result, the response may have the wrong status code. +2023-08-24 16:44:49.525 INFO 20800 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:44:49.525 INFO 20800 --- [Thread-14] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 16:44:49.525 INFO 20800 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 16:44:49.525 INFO 20800 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 16:44:49.526 INFO 20800 --- [Thread-14] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 16:44:49.528 INFO 20800 --- [Thread-14] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 16:44:49.528 INFO 20800 --- [Thread-14] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 16:44:49.531 INFO 20800 --- [Thread-14] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 16:45:08.553 INFO 1500 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 1500 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 16:45:08.553 INFO 1500 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 16:45:09.286 INFO 1500 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 16:45:09.287 INFO 1500 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 16:45:09.326 INFO 1500 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 32ms. Found 0 repository interfaces. +2023-08-24 16:45:09.584 INFO 1500 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$73124a3b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:45:09.678 INFO 1500 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:45:09.681 INFO 1500 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$dca0bb0c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:45:09.686 INFO 1500 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:45:09.689 INFO 1500 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 16:45:09.937 INFO 1500 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) +2023-08-24 16:45:09.951 INFO 1500 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 16:45:09.951 INFO 1500 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 16:45:10.031 INFO 1500 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 16:45:10.031 INFO 1500 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1408 ms +2023-08-24 16:45:10.295 INFO 1500 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 16:45:10.439 INFO 1500 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 16:45:10.439 INFO 1500 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 16:45:10.439 INFO 1500 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 16:45:10.439 INFO 1500 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 16:45:11.318 WARN 1500 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 16:45:11.971 INFO 1500 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 16:45:12.406 INFO 1500 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 16:45:12.415 INFO 1500 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 16:45:12.415 INFO 1500 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 16:45:12.415 INFO 1500 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 16:45:12.416 INFO 1500 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 16:45:12.416 INFO 1500 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 16:45:12.416 INFO 1500 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 16:45:12.416 INFO 1500 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@50b4e7b2 +2023-08-24 16:45:12.486 INFO 1500 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 16:45:12.498 INFO 1500 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 16:45:12.529 INFO 1500 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 16:45:12.638 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 16:45:12.639 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 16:45:12.641 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 16:45:12.653 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 16:45:12.654 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 16:45:12.686 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 16:45:12.690 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 16:45:12.694 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 16:45:12.697 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 16:45:12.700 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 16:45:12.702 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 16:45:12.703 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 16:45:12.705 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 16:45:12.705 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 16:45:12.720 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 16:45:12.724 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 16:45:12.725 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 16:45:12.763 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 16:45:12.765 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 16:45:12.766 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 16:45:12.767 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 16:45:12.767 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 16:45:12.769 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 16:45:12.770 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 16:45:12.772 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 16:45:12.772 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 16:45:12.773 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 16:45:12.773 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 16:45:12.776 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 16:45:12.777 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 16:45:12.795 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 16:45:12.796 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 16:45:12.798 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 16:45:12.800 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 16:45:12.801 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 16:45:12.803 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 16:45:12.803 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 16:45:12.815 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 16:45:12.817 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 16:45:12.823 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 16:45:12.824 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 16:45:12.825 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 16:45:12.825 INFO 1500 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 16:45:12.834 INFO 1500 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 16:45:12.834 INFO 1500 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 16:45:12.856 INFO 1500 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9999 (http) with context path '/iasf' +2023-08-24 16:45:12.857 INFO 1500 --- [main] com.huoran.iasf.IASFApplication : Started IASFApplication in 4.68 seconds (JVM running for 5.318) +2023-08-24 16:45:12.861 INFO 1500 --- [main] com.huoran.iasf.IASFApplication : +---------------------------------------------------------- + Application 'iasf' is running! Access URLs: + Doc: http://2.0.0.1:9999/iasf/doc.html +---------------------------------------------------------- +2023-08-24 16:45:21.110 INFO 1500 --- [http-nio-9999-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-08-24 16:45:21.110 INFO 1500 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-08-24 16:45:21.117 INFO 1500 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms +2023-08-24 16:56:42.657 ERROR 1500 --- [http-nio-9999-exec-6] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: parseInt error; nested exception is com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:271) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.read(FastJsonHttpMessageConverter.java:237) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:204) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:157) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:130) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:101) + at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:700) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:395) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:460) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:568) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:263) + ... 53 common frames omitted +Caused by: com.alibaba.fastjson.JSONException: can not cast to int, value : {} + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1000) + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:90) + ... 58 common frames omitted + +2023-08-24 16:57:20.883 ERROR 1500 --- [http-nio-9999-exec-10] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: parseInt error; nested exception is com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:271) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.read(FastJsonHttpMessageConverter.java:237) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:204) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:157) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:130) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:101) + at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:700) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:395) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:460) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:568) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:263) + ... 53 common frames omitted +Caused by: com.alibaba.fastjson.JSONException: can not cast to int, value : {"siteId":1} + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1000) + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:90) + ... 58 common frames omitted + +2023-08-24 16:57:42.857 ERROR 1500 --- [http-nio-9999-exec-1] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: parseInt error; nested exception is com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:271) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.read(FastJsonHttpMessageConverter.java:237) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:204) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:157) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:130) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:101) + at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:700) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:395) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:460) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:568) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:263) + ... 53 common frames omitted +Caused by: com.alibaba.fastjson.JSONException: can not cast to int, value : {"siteId":1} + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1000) + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:90) + ... 58 common frames omitted + +2023-08-24 17:03:11.677 ERROR 1500 --- [http-nio-9999-exec-8] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: parseInt error; nested exception is com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:271) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.read(FastJsonHttpMessageConverter.java:237) + at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:204) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:157) + at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:130) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: com.alibaba.fastjson.JSONException: parseInt error + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:101) + at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:700) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:395) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:460) + at com.alibaba.fastjson.JSON.parseObject(JSON.java:568) + at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.readType(FastJsonHttpMessageConverter.java:263) + ... 53 common frames omitted +Caused by: com.alibaba.fastjson.JSONException: can not cast to int, value : {"siteId":1} + at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:1000) + at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:90) + ... 58 common frames omitted + +2023-08-24 17:04:40.344 INFO 1500 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:04:40.344 INFO 1500 --- [Thread-12] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 17:04:40.344 INFO 1500 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 17:04:40.344 INFO 1500 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:04:40.345 INFO 1500 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 17:04:40.347 INFO 1500 --- [Thread-12] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 17:04:40.347 INFO 1500 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 17:04:40.349 INFO 1500 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 17:04:44.247 INFO 32636 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 32636 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 17:04:44.249 INFO 32636 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 17:04:44.923 INFO 32636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 17:04:44.924 INFO 32636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 17:04:44.966 INFO 32636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 32ms. Found 0 repository interfaces. +2023-08-24 17:04:45.218 INFO 32636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$64c5bc51] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:04:45.314 INFO 32636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:04:45.317 INFO 32636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$ce542d22] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:04:45.321 INFO 32636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:04:45.324 INFO 32636 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:04:45.566 INFO 32636 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) +2023-08-24 17:04:45.580 INFO 32636 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 17:04:45.580 INFO 32636 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 17:04:45.657 INFO 32636 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 17:04:45.657 INFO 32636 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1347 ms +2023-08-24 17:04:45.910 INFO 32636 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 17:04:46.075 INFO 32636 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 17:04:46.076 INFO 32636 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 17:04:46.076 INFO 32636 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 17:04:46.076 INFO 32636 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 17:04:46.974 WARN 32636 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 17:04:47.621 INFO 32636 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 17:04:48.045 INFO 32636 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 17:04:48.052 INFO 32636 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 17:04:48.052 INFO 32636 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 17:04:48.052 INFO 32636 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 17:04:48.053 INFO 32636 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 17:04:48.053 INFO 32636 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 17:04:48.053 INFO 32636 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 17:04:48.053 INFO 32636 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@6958d5d0 +2023-08-24 17:04:48.125 INFO 32636 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 17:04:48.137 INFO 32636 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 17:04:48.170 INFO 32636 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 17:04:48.288 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 17:04:48.288 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 17:04:48.289 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 17:04:48.301 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 17:04:48.301 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 17:04:48.338 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 17:04:48.341 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 17:04:48.346 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 17:04:48.347 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 17:04:48.351 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 17:04:48.352 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 17:04:48.353 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 17:04:48.355 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 17:04:48.355 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 17:04:48.371 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 17:04:48.373 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 17:04:48.374 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 17:04:48.411 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 17:04:48.413 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 17:04:48.414 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 17:04:48.414 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 17:04:48.415 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 17:04:48.416 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 17:04:48.417 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 17:04:48.419 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 17:04:48.420 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 17:04:48.421 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 17:04:48.421 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 17:04:48.423 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 17:04:48.424 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 17:04:48.444 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 17:04:48.445 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 17:04:48.447 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 17:04:48.448 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 17:04:48.449 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 17:04:48.452 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 17:04:48.453 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 17:04:48.465 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 17:04:48.468 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 17:04:48.474 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 17:04:48.475 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 17:04:48.476 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 17:04:48.476 INFO 32636 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 17:04:48.485 INFO 32636 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 17:04:48.485 INFO 32636 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 17:04:48.508 INFO 32636 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9999 (http) with context path '/iasf' +2023-08-24 17:04:48.510 INFO 32636 --- [main] com.huoran.iasf.IASFApplication : Started IASFApplication in 4.609 seconds (JVM running for 5.212) +2023-08-24 17:04:48.513 INFO 32636 --- [main] com.huoran.iasf.IASFApplication : +---------------------------------------------------------- + Application 'iasf' is running! Access URLs: + Doc: http://2.0.0.1:9999/iasf/doc.html +---------------------------------------------------------- +2023-08-24 17:04:55.373 INFO 32636 --- [http-nio-9999-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-08-24 17:04:55.373 INFO 32636 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-08-24 17:04:55.380 INFO 32636 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms +2023-08-24 17:05:02.708 ERROR 32636 --- [http-nio-9999-exec-8] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +### The error may exist in com/huoran/iasf/mapper/SeoMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT id,title,keyword,describe,site_id FROM sys_seo WHERE (site_id = ?) +### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy102.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy131.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:277) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) + at com.huoran.iasf.service.impl.SeoServiceImpl$$EnhancerBySpringCGLIB$$b15add98.list() + at com.huoran.iasf.controller.SeoController.list(SeoController.java:71) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy221.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy220.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:92) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 65 common frames omitted + +2023-08-24 17:06:15.870 ERROR 32636 --- [http-nio-9999-exec-1] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +### The error may exist in com/huoran/iasf/mapper/SeoMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT id,title,keyword,describe,site_id FROM sys_seo WHERE (site_id = ?) +### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy102.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy131.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:277) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) + at com.huoran.iasf.service.impl.SeoServiceImpl$$EnhancerBySpringCGLIB$$b15add98.list() + at com.huoran.iasf.controller.SeoController.list(SeoController.java:71) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy221.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy220.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:92) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 65 common frames omitted + +2023-08-24 17:06:42.940 ERROR 32636 --- [http-nio-9999-exec-10] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.web.bind.MissingServletRequestParameterException: Required Integer parameter 'siteId' is not present + at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:202) + at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:113) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 17:07:59.438 ERROR 32636 --- [http-nio-9999-exec-8] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +### The error may exist in com/huoran/iasf/mapper/SeoMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT id,title,keyword,describe,site_id FROM sys_seo WHERE (site_id = ?) +### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy102.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy131.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:277) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) + at com.huoran.iasf.service.impl.SeoServiceImpl$$EnhancerBySpringCGLIB$$b15add98.list() + at com.huoran.iasf.controller.SeoController.list(SeoController.java:71) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy221.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy220.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:92) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 65 common frames omitted + +2023-08-24 17:08:08.690 ERROR 32636 --- [http-nio-9999-exec-9] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.web.bind.MissingServletRequestParameterException: Required Integer parameter 'siteId' is not present + at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:202) + at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:113) + at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126) + at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 17:08:52.121 ERROR 32636 --- [http-nio-9999-exec-3] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +### The error may exist in com/huoran/iasf/mapper/SeoMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT id,title,keyword,describe,site_id FROM sys_seo WHERE (site_id = ?) +### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy102.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy131.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:277) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) + at com.huoran.iasf.service.impl.SeoServiceImpl$$EnhancerBySpringCGLIB$$b15add98.list() + at com.huoran.iasf.controller.SeoController.list(SeoController.java:71) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy221.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy220.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:92) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 65 common frames omitted + +2023-08-24 17:08:53.100 ERROR 32636 --- [http-nio-9999-exec-1] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +### The error may exist in com/huoran/iasf/mapper/SeoMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT id,title,keyword,describe,site_id FROM sys_seo WHERE (site_id = ?) +### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy102.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy131.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:277) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) + at com.huoran.iasf.service.impl.SeoServiceImpl$$EnhancerBySpringCGLIB$$b15add98.list() + at com.huoran.iasf.controller.SeoController.list(SeoController.java:71) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy221.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy220.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:92) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 65 common frames omitted + +2023-08-24 17:09:04.583 INFO 32636 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:09:04.583 INFO 32636 --- [Thread-12] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 17:09:04.583 INFO 32636 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 17:09:04.583 INFO 32636 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:09:04.583 INFO 32636 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 17:09:04.586 INFO 32636 --- [Thread-12] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 17:09:04.587 INFO 32636 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 17:09:04.589 INFO 32636 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 17:09:08.329 INFO 16008 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 16008 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 17:09:08.330 INFO 16008 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 17:09:08.997 INFO 16008 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 17:09:08.999 INFO 16008 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 17:09:09.040 INFO 16008 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces. +2023-08-24 17:09:09.296 INFO 16008 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$d93204a2] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:09:09.392 INFO 16008 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:09:09.395 INFO 16008 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$42c07573] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:09:09.400 INFO 16008 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:09:09.404 INFO 16008 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:09:09.656 INFO 16008 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) +2023-08-24 17:09:09.670 INFO 16008 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 17:09:09.671 INFO 16008 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 17:09:09.748 INFO 16008 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 17:09:09.748 INFO 16008 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1367 ms +2023-08-24 17:09:10.028 INFO 16008 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 17:09:10.188 INFO 16008 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 17:09:10.188 INFO 16008 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 17:09:10.188 INFO 16008 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 17:09:10.188 INFO 16008 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 17:09:11.075 WARN 16008 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 17:09:11.684 INFO 16008 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 17:09:12.106 INFO 16008 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 17:09:12.114 INFO 16008 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 17:09:12.115 INFO 16008 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 17:09:12.115 INFO 16008 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 17:09:12.116 INFO 16008 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 17:09:12.116 INFO 16008 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 17:09:12.116 INFO 16008 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 17:09:12.116 INFO 16008 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@102aa5fc +2023-08-24 17:09:12.209 INFO 16008 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 17:09:12.223 INFO 16008 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 17:09:12.252 INFO 16008 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 17:09:12.361 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 17:09:12.363 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 17:09:12.365 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 17:09:12.374 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 17:09:12.375 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 17:09:12.407 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 17:09:12.412 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 17:09:12.416 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 17:09:12.417 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 17:09:12.420 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 17:09:12.422 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 17:09:12.422 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 17:09:12.425 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 17:09:12.426 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 17:09:12.439 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 17:09:12.444 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 17:09:12.445 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 17:09:12.478 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 17:09:12.479 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 17:09:12.480 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 17:09:12.481 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 17:09:12.482 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 17:09:12.482 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 17:09:12.483 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 17:09:12.485 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 17:09:12.486 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 17:09:12.486 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 17:09:12.487 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 17:09:12.489 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 17:09:12.490 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 17:09:12.509 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 17:09:12.510 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 17:09:12.512 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 17:09:12.513 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 17:09:12.514 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 17:09:12.515 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 17:09:12.516 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 17:09:12.527 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 17:09:12.530 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 17:09:12.538 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 17:09:12.539 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 17:09:12.539 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 17:09:12.540 INFO 16008 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 17:09:12.548 INFO 16008 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 17:09:12.548 INFO 16008 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 17:09:12.571 INFO 16008 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9999 (http) with context path '/iasf' +2023-08-24 17:09:12.573 INFO 16008 --- [main] com.huoran.iasf.IASFApplication : Started IASFApplication in 4.596 seconds (JVM running for 5.208) +2023-08-24 17:09:12.575 INFO 16008 --- [main] com.huoran.iasf.IASFApplication : +---------------------------------------------------------- + Application 'iasf' is running! Access URLs: + Doc: http://2.0.0.1:9999/iasf/doc.html +---------------------------------------------------------- +2023-08-24 17:09:14.215 INFO 16008 --- [http-nio-9999-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-08-24 17:09:14.215 INFO 16008 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-08-24 17:09:14.221 INFO 16008 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 6 ms +2023-08-24 17:09:14.250 ERROR 16008 --- [http-nio-9999-exec-1] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported + at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:200) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:419) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:365) + at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:65) + at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:401) + at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1232) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1015) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) + +2023-08-24 17:09:28.635 ERROR 16008 --- [http-nio-9999-exec-6] c.h.i.c.e.handler.RestExceptionHandler : Exception,exception:{} + +org.springframework.jdbc.BadSqlGrammarException: +### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +### The error may exist in com/huoran/iasf/mapper/SeoMapper.java (best guess) +### The error may involve defaultParameterMap +### The error occurred while setting parameters +### SQL: SELECT id,title,keyword,describe,site_id FROM sys_seo WHERE (site_id = ?) +### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 +; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) + at com.sun.proxy.$Proxy102.selectList(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:173) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at com.sun.proxy.$Proxy131.selectList(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:277) + at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) + at com.huoran.iasf.service.impl.SeoServiceImpl$$EnhancerBySpringCGLIB$$960c7b1f.list() + at com.huoran.iasf.controller.SeoController.list(SeoController.java:71) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at com.github.xiaoymin.knife4j.spring.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:90) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:109) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.lang.Thread.run(Thread.java:750) +Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,site_id FROM sys_seo + + WHERE (site_id = 1)' at line 1 + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) + at com.sun.proxy.$Proxy221.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) + at com.sun.proxy.$Proxy220.query(Unknown Source) + at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:69) + at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) + at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:165) + at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:92) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) + at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) + ... 65 common frames omitted + +2023-08-24 17:11:07.433 INFO 16008 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:11:07.433 INFO 16008 --- [Thread-12] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 17:11:07.433 INFO 16008 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 17:11:07.433 INFO 16008 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:11:07.434 INFO 16008 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 17:11:07.436 INFO 16008 --- [Thread-12] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 17:11:07.436 INFO 16008 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 17:11:07.439 INFO 16008 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. +2023-08-24 17:11:11.461 INFO 23708 --- [main] com.huoran.iasf.IASFApplication : Starting IASFApplication on SC-202209231229 with PID 23708 (D:\IdeaProjects\IASF\target\classes started by Administrator in D:\IdeaProjects\IASF) +2023-08-24 17:11:11.463 INFO 23708 --- [main] com.huoran.iasf.IASFApplication : The following profiles are active: prod +2023-08-24 17:11:12.164 INFO 23708 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! +2023-08-24 17:11:12.166 INFO 23708 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. +2023-08-24 17:11:12.207 INFO 23708 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces. +2023-08-24 17:11:12.478 INFO 23708 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$afaa218a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:11:12.575 INFO 23708 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.datasource.dynamic-com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:11:12.577 INFO 23708 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration' of type [com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$1938925b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:11:12.583 INFO 23708 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dsProcessor' of type [com.baomidou.dynamic.datasource.processor.DsHeaderProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:11:12.587 INFO 23708 --- [main] trationDelegate$BeanPostProcessorChecker : Bean 'dynamicDatasourceAnnotationAdvisor' of type [com.baomidou.dynamic.datasource.aop.DynamicDataSourceAnnotationAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +2023-08-24 17:11:12.836 INFO 23708 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) +2023-08-24 17:11:12.851 INFO 23708 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2023-08-24 17:11:12.851 INFO 23708 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.21] +2023-08-24 17:11:12.935 INFO 23708 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring embedded WebApplicationContext +2023-08-24 17:11:12.935 INFO 23708 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1413 ms +2023-08-24 17:11:13.224 INFO 23708 --- [main] com.zaxxer.hikari.HikariDataSource : master - Starting... +2023-08-24 17:11:13.392 INFO 23708 --- [main] com.zaxxer.hikari.HikariDataSource : master - Start completed. +2023-08-24 17:11:13.393 INFO 23708 --- [main] c.b.d.d.DynamicRoutingDataSource : 初始共加载 1 个数据源 +2023-08-24 17:11:13.393 INFO 23708 --- [main] c.b.d.d.DynamicRoutingDataSource : 动态数据源-加载 master 成功 +2023-08-24 17:11:13.393 INFO 23708 --- [main] c.b.d.d.DynamicRoutingDataSource : 当前的默认数据源是单数据源,数据源名为 master +2023-08-24 17:11:14.244 WARN 23708 --- [main] o.s.w.s.r.ResourceHttpRequestHandler : Locations list is empty. No resources will be served unless a custom ResourceResolver is configured as an alternative to PathResourceResolver. +2023-08-24 17:11:14.849 INFO 23708 --- [main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)] +2023-08-24 17:11:15.295 INFO 23708 --- [main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor +2023-08-24 17:11:15.303 INFO 23708 --- [main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl +2023-08-24 17:11:15.303 INFO 23708 --- [main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. +2023-08-24 17:11:15.304 INFO 23708 --- [main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. +2023-08-24 17:11:15.304 INFO 23708 --- [main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' + Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. + NOT STARTED. + Currently in standby mode. + Number of jobs executed: 0 + Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. + Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. + +2023-08-24 17:11:15.304 INFO 23708 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. +2023-08-24 17:11:15.304 INFO 23708 --- [main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 +2023-08-24 17:11:15.304 INFO 23708 --- [main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5c78f456 +2023-08-24 17:11:15.377 INFO 23708 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed +2023-08-24 17:11:15.389 INFO 23708 --- [main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) +2023-08-24 17:11:15.418 INFO 23708 --- [main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references +2023-08-24 17:11:15.528 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_1 +2023-08-24 17:11:15.529 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_1 +2023-08-24 17:11:15.532 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateDeptUsingPUT_1 +2023-08-24 17:11:15.542 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_1 +2023-08-24 17:11:15.543 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_2 +2023-08-24 17:11:15.575 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_1 +2023-08-24 17:11:15.579 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_1 +2023-08-24 17:11:15.583 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1 +2023-08-24 17:11:15.585 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_2 +2023-08-24 17:11:15.588 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_1 +2023-08-24 17:11:15.590 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_1 +2023-08-24 17:11:15.590 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_2 +2023-08-24 17:11:15.594 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2 +2023-08-24 17:11:15.595 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_3 +2023-08-24 17:11:15.609 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_2 +2023-08-24 17:11:15.613 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_2 +2023-08-24 17:11:15.614 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_3 +2023-08-24 17:11:15.650 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3 +2023-08-24 17:11:15.652 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_4 +2023-08-24 17:11:15.653 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_3 +2023-08-24 17:11:15.654 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_3 +2023-08-24 17:11:15.655 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_4 +2023-08-24 17:11:15.655 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4 +2023-08-24 17:11:15.657 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_5 +2023-08-24 17:11:15.659 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchDeletionUsingPOST_4 +2023-08-24 17:11:15.659 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: checkForHeavyUsingPOST_1 +2023-08-24 17:11:15.660 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_4 +2023-08-24 17:11:15.661 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_5 +2023-08-24 17:11:15.663 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5 +2023-08-24 17:11:15.663 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_6 +2023-08-24 17:11:15.684 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_7 +2023-08-24 17:11:15.686 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_3 +2023-08-24 17:11:15.688 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_1 +2023-08-24 17:11:15.689 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingPOST_5 +2023-08-24 17:11:15.690 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingPOST_6 +2023-08-24 17:11:15.692 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_6 +2023-08-24 17:11:15.692 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUsingPOST_8 +2023-08-24 17:11:15.705 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailInfoUsingGET_2 +2023-08-24 17:11:15.708 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: pageInfoUsingPOST_2 +2023-08-24 17:11:15.713 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: addUserGroupUsingPOST_2 +2023-08-24 17:11:15.713 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deletedUsingDELETE_4 +2023-08-24 17:11:15.715 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: getUserGroupAllUsingPOST_1 +2023-08-24 17:11:15.716 INFO 23708 --- [main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: updateUserGroupUsingPUT_1 +2023-08-24 17:11:15.724 INFO 23708 --- [main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now +2023-08-24 17:11:15.724 INFO 23708 --- [main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. +2023-08-24 17:11:15.746 INFO 23708 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9999 (http) with context path '/iasf' +2023-08-24 17:11:15.748 INFO 23708 --- [main] com.huoran.iasf.IASFApplication : Started IASFApplication in 4.662 seconds (JVM running for 5.452) +2023-08-24 17:11:15.751 INFO 23708 --- [main] com.huoran.iasf.IASFApplication : +---------------------------------------------------------- + Application 'iasf' is running! Access URLs: + Doc: http://2.0.0.1:9999/iasf/doc.html +---------------------------------------------------------- +2023-08-24 17:11:18.659 INFO 23708 --- [http-nio-9999-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/iasf] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2023-08-24 17:11:18.659 INFO 23708 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2023-08-24 17:11:18.667 INFO 23708 --- [http-nio-9999-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 8 ms +2023-08-24 17:16:12.332 INFO 23708 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:16:12.332 INFO 23708 --- [Thread-12] o.s.s.quartz.SchedulerFactoryBean : Shutting down Quartz Scheduler +2023-08-24 17:16:12.332 INFO 23708 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. +2023-08-24 17:16:12.332 INFO 23708 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED paused. +2023-08-24 17:16:12.334 INFO 23708 --- [Thread-12] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. +2023-08-24 17:16:12.335 INFO 23708 --- [Thread-12] c.b.d.d.DynamicRoutingDataSource : closing dynamicDatasource ing.... +2023-08-24 17:16:12.335 INFO 23708 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown initiated... +2023-08-24 17:16:12.338 INFO 23708 --- [Thread-12] com.zaxxer.hikari.HikariDataSource : master - Shutdown completed. diff --git a/src/main/java/com/huoran/iasf/IASFApplication.java b/src/main/java/com/huoran/iasf/IASFApplication.java index 333e112..64f925c 100644 --- a/src/main/java/com/huoran/iasf/IASFApplication.java +++ b/src/main/java/com/huoran/iasf/IASFApplication.java @@ -1,5 +1,6 @@ package com.huoran.iasf; +import com.huoran.iasf.common.annotation.EnableSecurity; import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -13,6 +14,7 @@ import java.net.InetAddress; @SpringBootApplication @MapperScan("com.huoran.iasf.mapper") @Slf4j +@EnableSecurity @ServletComponentScan(basePackages = {"com.huoran.iasf.common.filter"}) //这一句完成了配置,Springboot的”懒理念“真的厉害。 public class IASFApplication { diff --git a/src/main/java/com/huoran/iasf/common/advice/DecryptHttpInputMessage.java b/src/main/java/com/huoran/iasf/common/advice/DecryptHttpInputMessage.java new file mode 100644 index 0000000..dc1db55 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/advice/DecryptHttpInputMessage.java @@ -0,0 +1,98 @@ +package com.huoran.iasf.common.advice; + + +import com.huoran.iasf.common.annotation.Decrypt; +import com.huoran.iasf.common.config.SecretKeyConfig; +import com.huoran.iasf.common.exception.EncryptRequestException; +import com.huoran.iasf.common.utils.Base64Util; +import com.huoran.iasf.common.utils.JsonUtils; +import com.huoran.iasf.common.utils.RSAUtil; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpInputMessage; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.stream.Collectors; + +/** + * Author:Bobby + * DateTime:2019/4/9 + **/ +public class DecryptHttpInputMessage implements HttpInputMessage { + + private Logger log = LoggerFactory.getLogger(this.getClass()); + private HttpHeaders headers; + private InputStream body; + + + public DecryptHttpInputMessage(HttpInputMessage inputMessage, SecretKeyConfig secretKeyConfig, Decrypt decrypt) throws Exception { + + String privateKey = secretKeyConfig.getPrivateKey(); + String charset = secretKeyConfig.getCharset(); + boolean showLog = secretKeyConfig.isShowLog(); + boolean timestampCheck = secretKeyConfig.isTimestampCheck(); + + if (StringUtils.isEmpty(privateKey)) { + throw new IllegalArgumentException("privateKey is null"); + } + + this.headers = inputMessage.getHeaders(); + String content = new BufferedReader(new InputStreamReader(inputMessage.getBody())) + .lines().collect(Collectors.joining(System.lineSeparator())); + String decryptBody; + // 未加密内容 + if (content.startsWith("{")||StringUtils.isNumeric(content)||content.length()<10) { + // 必须加密 + if (decrypt.required()) { + log.error("not support unencrypted content:{}", content); + throw new EncryptRequestException("not support unencrypted content"); + } + log.info("Unencrypted without decryption:{}", content); + decryptBody = content; + } else { + StringBuilder json = new StringBuilder(); + content = content.replaceAll(" ", "+"); + + if (!StringUtils.isEmpty(content)) { + String[] contents = content.split("\\|"); + for (String value : contents) { + value = new String(RSAUtil.decrypt(Base64Util.decode(value), privateKey), charset); + json.append(value); + } + } + decryptBody = json.toString(); + if(showLog) { + log.info("Encrypted data received:{},After decryption:{}", content, decryptBody); + } + } + + // 开启时间戳检查 + if (timestampCheck) { + // 容忍最小请求时间 + long toleranceTime = System.currentTimeMillis() - decrypt.timeout(); + long requestTime = JsonUtils.getNode(decryptBody, "timestamp").asLong(); + // 如果请求时间小于最小容忍请求时间, 判定为超时 + if (requestTime < toleranceTime) { + log.error("Encryption request has timed out, toleranceTime:{}, requestTime:{}, After decryption:{}", toleranceTime, requestTime, decryptBody); + throw new EncryptRequestException("request timeout"); + } + } + + this.body = new ByteArrayInputStream(decryptBody.getBytes()); + } + + @Override + public InputStream getBody(){ + return body; + } + + @Override + public HttpHeaders getHeaders() { + return headers; + } +} diff --git a/src/main/java/com/huoran/iasf/common/advice/EncryptRequestBodyAdvice.java b/src/main/java/com/huoran/iasf/common/advice/EncryptRequestBodyAdvice.java new file mode 100644 index 0000000..be6744f --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/advice/EncryptRequestBodyAdvice.java @@ -0,0 +1,77 @@ +package com.huoran.iasf.common.advice; + + +import com.huoran.iasf.common.annotation.Decrypt; +import com.huoran.iasf.common.config.SecretKeyConfig; +import com.huoran.iasf.common.exception.EncryptRequestException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.MethodParameter; +import org.springframework.http.HttpInputMessage; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdvice; + +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.Objects; + +/** + * Author:Bobby + * DateTime:2019/4/9 + **/ +@ControllerAdvice +public class EncryptRequestBodyAdvice implements RequestBodyAdvice { + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + private boolean encrypt; + private Decrypt decryptAnnotation; + + @Autowired + private SecretKeyConfig secretKeyConfig; + + @Override + public boolean supports(MethodParameter methodParameter, Type targetType, Class> converterType) { + Method method = methodParameter.getMethod(); + if (Objects.isNull(method)) { + encrypt = false; + return false; + } + if (method.isAnnotationPresent(Decrypt.class) && secretKeyConfig.isOpen()) { + encrypt = true; + decryptAnnotation = methodParameter.getMethodAnnotation(Decrypt.class); + return true; + } + // 此处如果按照原逻辑直接返回encrypt, 会造成一次修改为true之后, 后续请求都会变成true, 在不支持时, 需要做修正 + encrypt = false; + return false; + } + + @Override + public Object handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class> converterType) { + return body; + } + + @Override + public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, + Class> converterType){ + if (encrypt) { + try { + return new DecryptHttpInputMessage(inputMessage, secretKeyConfig, decryptAnnotation); + } catch (EncryptRequestException e) { + throw e; + } catch (Exception e) { + log.error("Decryption failed", e); + } + } + return inputMessage; + } + + @Override + public Object afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, + Class> converterType) { + return body; + } +} diff --git a/src/main/java/com/huoran/iasf/common/advice/EncryptResponseBodyAdvice.java b/src/main/java/com/huoran/iasf/common/advice/EncryptResponseBodyAdvice.java new file mode 100644 index 0000000..8d2c2b5 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/advice/EncryptResponseBodyAdvice.java @@ -0,0 +1,81 @@ +package com.huoran.iasf.common.advice; + + +import com.huoran.iasf.common.annotation.Encrypt; +import com.huoran.iasf.common.config.SecretKeyConfig; +import com.huoran.iasf.common.utils.Base64Util; +import com.huoran.iasf.common.utils.JsonUtils; +import com.huoran.iasf.common.utils.RSAUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.MethodParameter; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; + +import java.lang.reflect.Method; +import java.util.Objects; + +/** + * Author:Bobby + * DateTime:2019/4/9 + **/ +@ControllerAdvice +public class EncryptResponseBodyAdvice implements ResponseBodyAdvice { + + private Logger log = LoggerFactory.getLogger(this.getClass()); + + private boolean encrypt; + + @Autowired + private SecretKeyConfig secretKeyConfig; + + private static ThreadLocal encryptLocal = new ThreadLocal<>(); + + @Override + public boolean supports(MethodParameter returnType, Class> converterType) { + Method method = returnType.getMethod(); + if (Objects.isNull(method)) { + return encrypt; + } + encrypt = method.isAnnotationPresent(Encrypt.class) && secretKeyConfig.isOpen(); + return encrypt; + } + + @Override + public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, + Class> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { + // EncryptResponseBodyAdvice.setEncryptStatus(false); + // Dynamic Settings Not Encrypted + Boolean status = encryptLocal.get(); + if (null != status && !status) { + encryptLocal.remove(); + return body; + } + if (encrypt) { + String publicKey = secretKeyConfig.getPublicKey(); + try { + String content = JsonUtils.writeValueAsString(body); + if (!StringUtils.hasText(publicKey)) { + throw new NullPointerException("Please configure rsa.encrypt.privatekeyc parameter!"); + } + byte[] data = content.getBytes(); + byte[] encodedData = RSAUtil.encrypt(data, publicKey); + String result = Base64Util.encode(encodedData); + if(secretKeyConfig.isShowLog()) { + log.info("Pre-encrypted data:{},After encryption:{}", content, result); + } + return result; + } catch (Exception e) { + log.error("Encrypted data exception", e); + } + } + + return body; + } +} diff --git a/src/main/java/com/huoran/iasf/common/annotation/Decrypt.java b/src/main/java/com/huoran/iasf/common/annotation/Decrypt.java new file mode 100644 index 0000000..b72e6fe --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/annotation/Decrypt.java @@ -0,0 +1,28 @@ +package com.huoran.iasf.common.annotation; + + +import com.huoran.iasf.common.exception.EncryptRequestException; + +import java.lang.annotation.*; + +/** + * Author:Bobby + * DateTime:2019/4/9 16:45 + **/ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Decrypt{ + + /** + * 请求参数一定要是加密内容 + */ + boolean required() default true; + + /** + * 请求数据时间戳校验时间差 + * 超过(当前时间-指定时间)的数据认定为伪造 + * 注意应用程序需要捕获 {@link EncryptRequestException} 异常 + */ + long timeout() default 3000; +} diff --git a/src/main/java/com/huoran/iasf/common/annotation/EnableSecurity.java b/src/main/java/com/huoran/iasf/common/annotation/EnableSecurity.java new file mode 100644 index 0000000..0b8f79a --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/annotation/EnableSecurity.java @@ -0,0 +1,24 @@ +package com.huoran.iasf.common.annotation; + + +import com.huoran.iasf.common.advice.EncryptRequestBodyAdvice; +import com.huoran.iasf.common.advice.EncryptResponseBodyAdvice; +import com.huoran.iasf.common.config.SecretKeyConfig; +import org.springframework.context.annotation.Import; + +import java.lang.annotation.*; + +/** + * Author:Bobby + * DateTime:2019/4/9 16:44 + **/ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +@Documented +@Import({SecretKeyConfig.class, + EncryptResponseBodyAdvice.class, + EncryptRequestBodyAdvice.class}) +public @interface EnableSecurity{ + +} diff --git a/src/main/java/com/huoran/iasf/common/annotation/Encrypt.java b/src/main/java/com/huoran/iasf/common/annotation/Encrypt.java new file mode 100644 index 0000000..8b49c77 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/annotation/Encrypt.java @@ -0,0 +1,14 @@ +package com.huoran.iasf.common.annotation; + +import java.lang.annotation.*; + +/** + * Author:Bobby + * DateTime:2019/4/9 16:45 + **/ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Encrypt{ + +} diff --git a/src/main/java/com/huoran/iasf/common/config/SecretKeyConfig.java b/src/main/java/com/huoran/iasf/common/config/SecretKeyConfig.java new file mode 100644 index 0000000..1329ddc --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/config/SecretKeyConfig.java @@ -0,0 +1,77 @@ +package com.huoran.iasf.common.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * Author:Bobby + * DateTime:2019/4/9 + **/ +@ConfigurationProperties(prefix = "rsa.encrypt") +@Configuration +public class SecretKeyConfig { + + private String privateKey; + + private String publicKey; + + private String charset = "UTF-8"; + + private boolean open = true; + + private boolean showLog = false; + + /** + * 请求数据时间戳校验时间差 + * 超过指定时间的数据认定为伪造 + */ + private boolean timestampCheck = false; + + public String getPrivateKey() { + return privateKey; + } + + public void setPrivateKey(String privateKey) { + this.privateKey = privateKey; + } + + public String getPublicKey() { + return publicKey; + } + + public void setPublicKey(String publicKey) { + this.publicKey = publicKey; + } + + public String getCharset() { + return charset; + } + + public void setCharset(String charset) { + this.charset = charset; + } + + public boolean isOpen() { + return open; + } + + public void setOpen(boolean open) { + this.open = open; + } + + public boolean isShowLog() { + return showLog; + } + + public void setShowLog(boolean showLog) { + this.showLog = showLog; + } + + public boolean isTimestampCheck() { + return timestampCheck; + } + + public void setTimestampCheck(boolean timestampCheck) { + this.timestampCheck = timestampCheck; + } +} diff --git a/src/main/java/com/huoran/iasf/common/config/WebMvcConfigurer.java b/src/main/java/com/huoran/iasf/common/config/WebMvcConfigurer.java index a5e4615..9ebd7a2 100644 --- a/src/main/java/com/huoran/iasf/common/config/WebMvcConfigurer.java +++ b/src/main/java/com/huoran/iasf/common/config/WebMvcConfigurer.java @@ -47,7 +47,10 @@ public class WebMvcConfigurer extends WebMvcConfigurationSupport { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedHeader("*"); // 允许任何头 - corsConfiguration.addAllowedOrigin("*"); // 允许任何头 +// corsConfiguration.addAllowedOrigin("*"); // 允许任何头 + corsConfiguration.addAllowedOrigin("*.iasf.ac.cn"); //允许信任域名 + corsConfiguration.addAllowedOrigin("http://192.168.31.125:8088"); //允许信任域名 + corsConfiguration.addAllowedOrigin("http://10.10.11.7"); //允许信任域名 corsConfiguration.addAllowedMethod("*"); // 允许任何方法(post、get等) return corsConfiguration; } diff --git a/src/main/java/com/huoran/iasf/common/exception/EncryptRequestException.java b/src/main/java/com/huoran/iasf/common/exception/EncryptRequestException.java new file mode 100644 index 0000000..6f9cbc3 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/exception/EncryptRequestException.java @@ -0,0 +1,14 @@ +package com.huoran.iasf.common.exception; + + +/** + * @author imyzt + * @date 2020/06/02 + * @description 加密请求超时异常 + */ +public class EncryptRequestException extends RuntimeException { + + public EncryptRequestException(String msg) { + super(msg); + } +} diff --git a/src/main/java/com/huoran/iasf/common/exception/code/BaseResponseCode.java b/src/main/java/com/huoran/iasf/common/exception/code/BaseResponseCode.java index b41faea..0e22f2f 100644 --- a/src/main/java/com/huoran/iasf/common/exception/code/BaseResponseCode.java +++ b/src/main/java/com/huoran/iasf/common/exception/code/BaseResponseCode.java @@ -24,7 +24,7 @@ public enum BaseResponseCode implements ResponseCodeInterface { KEY_OR_TOMEUNIT(10009, "key or TomeUnit 不能为空!"), DICTIONARY_DATA_FAILED(10010, "获取字典数据失败"), UPLOAD_EMPTY(10011, "上传内容为空"), - UPLOAD_FAILED(10012, "上传失败"), + UPLOAD_FAILED(10012, "文件格式上传有误"), VERIFICATION_CODE_ERROR(10007, "验证码错误!"), VERIFICATION_CODE_EXPIRED(10006, "验证码已过期!"), CANNOT_SAME(10005, "新密码不能与旧密码相同!"), @@ -37,11 +37,13 @@ public enum BaseResponseCode implements ResponseCodeInterface { EXCEL_FILE_FORMAT_ERROR(40007, "请根据模板使用说明录入正确的用户信息!"), TOKEN_ERROR(401, "登录凭证已过期,请重新登录"), DATA_ERROR(401003, "传入数据异常"), - NOT_ACCOUNT(401004, "该用户不存在,请先注册"), - USER_LOCK(401005, "该用户已被锁定,请联系运营人员"), - PASSWORD_ERROR(401006, "用户名或密码错误"), - METHOD_ARGUMENT_NOT_VALID_EXCEPTION(400, "请求参数有误"), - UNAUTHORIZED_ERROR(401008, "权鉴校验不通过"), + NOT_ACCOUNT(401004, "用户名不存在或密码错误"), + USER_LOCK(401005, "该用户已被锁定,请联系管理员!"), + PASSWORD_ERROR(401006, "用户名不存在或密码错误"), + METHOD_ARGUMENT_NOT_VALID_EXCEPTION(400, "参数错误!"), + ILLEGAL_CHARACTERS(400, "入参中有非法字符,请修改!"), +// UNAUTHORIZED_ERROR(401008, "权鉴校验不通过"), + UNAUTHORIZED_ERROR(401008, "无操作权限!"), ROLE_PERMISSION_RELATION(401009, "该菜单权限存在子集关联,不允许删除"), OLD_PASSWORD_ERROR(401010, "旧密码不正确"), NOT_PERMISSION_DELETED_DEPT(401011, "该组织机构下还关联着用户,不允许删除"), @@ -55,6 +57,8 @@ public enum BaseResponseCode implements ResponseCodeInterface { EXCEL_FILE_NULL(40006, "导入失败,导入数据为空!"), DATA_DOES_NOT_EXIST(500, "当前数据不存在"), + XSS_FILTER(400, "xss攻击检查:参数含有非法攻击字符,请修改后继续操作!"), + SQL_FILTER(400, "sql攻击检查:参数含有非法攻击字符,请修改后继续操作!"), ; /** diff --git a/src/main/java/com/huoran/iasf/common/exception/handler/RestExceptionHandler.java b/src/main/java/com/huoran/iasf/common/exception/handler/RestExceptionHandler.java index d7e437b..a45df77 100644 --- a/src/main/java/com/huoran/iasf/common/exception/handler/RestExceptionHandler.java +++ b/src/main/java/com/huoran/iasf/common/exception/handler/RestExceptionHandler.java @@ -1,7 +1,9 @@ package com.huoran.iasf.common.exception.handler; +import com.alibaba.fastjson.JSONException; import com.google.common.collect.Maps; import com.huoran.iasf.common.exception.BusinessException; +import com.huoran.iasf.common.exception.EncryptRequestException; import com.huoran.iasf.common.exception.NotFoundException; import com.huoran.iasf.common.exception.UnauthorizedException; import com.huoran.iasf.common.exception.code.BaseResponseCode; @@ -10,6 +12,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authz.AuthorizationException; import org.springframework.http.HttpStatus; +import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; @@ -52,6 +55,20 @@ public class RestExceptionHandler { return R.getResult(BaseResponseCode.METHOD_ARGUMENT_NOT_VALID_EXCEPTION); } + @ExceptionHandler(EncryptRequestException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) + public R encryptRequestException(EncryptRequestException e) { + log.error("Exception,exception:{}", e, e); + return R.getResult(BaseResponseCode.METHOD_ARGUMENT_NOT_VALID_EXCEPTION); + } + + @ExceptionHandler(HttpMessageNotReadableException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) + public R illegalArgumentException(JSONException e) { + log.error("Exception,exception:{}", e, e); + return R.getResult(BaseResponseCode.ILLEGAL_CHARACTERS); + } + @ExceptionHandler(AuthenticationException.class) @ResponseStatus(HttpStatus.UNAUTHORIZED) public R authenticationException(AuthenticationException e) { @@ -75,7 +92,7 @@ public class RestExceptionHandler { * 权限全局异常处理 */ @ExceptionHandler(value = UnauthorizedException.class) - @ResponseStatus(HttpStatus.UNAUTHORIZED) +// @ResponseStatus(HttpStatus.UNAUTHORIZED) public R businessExceptionHandler(UnauthorizedException e) { log.error("Exception,exception:{}", e, e); BaseResponseCode em = e.getBaseResponseCode(); diff --git a/src/main/java/com/huoran/iasf/common/filter/XSSFilter.java b/src/main/java/com/huoran/iasf/common/filter/XSSFilter.java new file mode 100644 index 0000000..65cd564 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/filter/XSSFilter.java @@ -0,0 +1,56 @@ +package com.huoran.iasf.common.filter; + +import org.apache.commons.lang.StringUtils; +import org.springframework.core.annotation.Order; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@WebFilter(filterName = "xssFilter", urlPatterns = "/*", asyncSupported = true) +@Order(2) +public class XSSFilter implements Filter { + + @Override + public void init(FilterConfig filterConfig1) throws ServletException { + + } + + + @Override + public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) + throws IOException, ServletException { + + //注入xss过滤器实例 + if(arg2 != null){ + HttpServletRequest req = (HttpServletRequest) arg0; + String method = req.getMethod(); + boolean methodB = false; + if("POST".equalsIgnoreCase(method) || "PUT".equalsIgnoreCase(method)){ + methodB = true; + } + + if (methodB && req.getContentType() != null && req.getContentType().startsWith("multipart/")) { + // 过滤 + arg2.doFilter(req, arg1); + }else { + HttpServletResponse response = (HttpServletResponse) arg1; + XssHttpServletRequestWrapper reqW = new XssHttpServletRequestWrapper(req); + //过滤 + arg2.doFilter(reqW, response); + } + } + + } + + @Override + public void destroy() { + } + + +} \ No newline at end of file diff --git a/src/main/java/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper.java b/src/main/java/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper.java new file mode 100644 index 0000000..f40a4bb --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper.java @@ -0,0 +1,224 @@ +package com.huoran.iasf.common.filter; + +import com.alibaba.fastjson.JSONObject; +import com.huoran.iasf.common.exception.BusinessException; +import com.huoran.iasf.common.exception.code.BaseResponseCode; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.regex.Pattern; + +@Slf4j +public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { + + /** + * post请求体 + */ + private byte[] body; + + /** + * 是否是文件上传 + */ + private boolean fileUpload = true; + + //富文本验证链接 + private static final String[] whiteList = + {"/iasf/sysContent/save", + "/iasf/sysContent/update"}; + + /** + * sql注入正则 + */ + private static String badStrReg = + "\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)"; + + /** + * xss脚本正则 + */ + private final static Pattern[] scriptPatterns = { + Pattern.compile("", Pattern.CASE_INSENSITIVE), + Pattern.compile("src[\r\n]*=[\r\n]*\\\'(.*?)\\\'", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL), + Pattern.compile("", Pattern.CASE_INSENSITIVE), + Pattern.compile("", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL), + Pattern.compile("eval\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL), + Pattern.compile("expression\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL), + Pattern.compile("javascript:", Pattern.CASE_INSENSITIVE), + Pattern.compile("script", Pattern.CASE_INSENSITIVE), + Pattern.compile("ScriPT", Pattern.CASE_INSENSITIVE), + Pattern.compile("meta", Pattern.CASE_INSENSITIVE), + Pattern.compile("vbscript:", Pattern.CASE_INSENSITIVE), + Pattern.compile("onload(.*?)=", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL) + }; + + public XssHttpServletRequestWrapper() { + super(null); + } + + /** + * 构造函数 - 获取post请求体 + * @param httpservletrequest + * @throws IOException + */ + public XssHttpServletRequestWrapper(HttpServletRequest httpservletrequest) throws IOException { + super(httpservletrequest); + String sessionStream = getBodyString(httpservletrequest); + body = sessionStream.getBytes(StandardCharsets.UTF_8); + System.out.println(httpservletrequest.getRequestURI()); + if(Arrays.asList(whiteList).contains(httpservletrequest.getRequestURI())){ + fileUpload = false; + } + } + + /** + * 读取post请求体 + * @param httpservletrequest + * @return + * @throws IOException + */ + private String getBodyString(HttpServletRequest httpservletrequest) throws IOException { + StringBuilder sb = new StringBuilder(); + InputStream ins = httpservletrequest.getInputStream(); + try (BufferedReader isr = new BufferedReader(new InputStreamReader(ins, StandardCharsets.UTF_8));) { + String line = ""; + while ((line = isr.readLine()) != null) { + sb.append(line); + } + } catch (IOException e) { + throw e; + } + return sb.toString(); + } + + /** + * 过滤springmvc中的 @RequestParam 注解中的参数 + * @param s + * @return + */ + @Override + public String[] getParameterValues(String s) { + String[] str = super.getParameterValues(s); + if (str == null) { + return null; + } + int i = str.length; + String[] as1 = new String[i]; + for (int j = 0; j < i; j++) { + as1[j] = cleanXSS(cleanSQLInject(str[j])); + } +// log.info("XssHttpServletRequestWrapper净化后的请求为:========== {}", Arrays.toString(as1)); + return as1; + } + + /** + * 过滤request.getParameter的参数 + * @param s + * @return + */ + @Override + public String getParameter(String s) { + String s1 = super.getParameter(s); + if (s1 == null) { + return null; + } else { + String s2 = cleanXSS(cleanSQLInject(s1)); +// log.info("XssHttpServletRequestWrapper净化后的请求为:========== {}", s2); + return s2; + } + } + + + /** + * 过滤请求体 json 格式的 + * @return + * @throws IOException + */ + @Override + public ServletInputStream getInputStream() throws IOException { + // 非文件上传进行过滤 + if (!fileUpload) { + // 获取body中的请求参数 + JSONObject json = JSONObject.parseObject(new String(body)); + // 校验并过滤xss攻击和sql注入 + for (String k : json.keySet()) { + cleanSQLInject(cleanXSS(json.getString(k))); + } + } + // 将请求体参数流转 -- 流读取一次就会消失,所以我们事先读取之后就存在byte数组里边方便流转 + final ByteArrayInputStream bais = new ByteArrayInputStream(body); + return new ServletInputStream() { + + @Override + public int read() throws IOException { + return bais.read(); + } + + @Override + public boolean isFinished() { + return false; + } + + @Override + public boolean isReady() { + return false; + } + + @Override + public void setReadListener(ReadListener readListener) { + } + }; + } + + /** + * 清除xss + * @param src 单个参数 + * @return + */ + public String cleanXSS(String src) { + if(StringUtils.isBlank(src)){ + return src; + } + String temp = src; + // 校验xss脚本 + for (Pattern pattern : scriptPatterns) { + temp = pattern.matcher(temp).replaceAll(""); + } + // 校验xss特殊字符 匹配一个空白字符(包括空格、制表符、换页符和换行符等)//这个可以不用,因为有写数据用富文本编辑的时候有换行 +// temp = temp.replaceAll("\0|\n|\r", ""); + temp = temp.replaceAll("<", "<").replaceAll(">", ">"); + + if (!temp.equals(src)) { + + log.error("xss攻击检查:参数含有非法攻击字符,已禁止继续访问!"); + log.error("原始输入信息-->" + temp); + + throw new BusinessException(BaseResponseCode.XSS_FILTER); + } + + return src; + } + + /** + * 过滤sql注入 -- 需要增加通配,过滤大小写组合 + * @param src 单个参数值 + * @return + */ + public String cleanSQLInject(String src) { + if(StringUtils.isBlank(src)){ + return src; + } + // 非法sql注入正则 + Pattern sqlPattern = Pattern.compile(badStrReg, Pattern.CASE_INSENSITIVE); + if (sqlPattern.matcher(src.toLowerCase()).find()) { + log.error("sql注入检查:输入信息存在SQL攻击!"); + throw new BusinessException(BaseResponseCode.SQL_FILTER); + } + return src; + } +} \ No newline at end of file diff --git a/src/main/java/com/huoran/iasf/common/shiro/ShiroConfig.java b/src/main/java/com/huoran/iasf/common/shiro/ShiroConfig.java index 5c5ad3c..56d9eea 100644 --- a/src/main/java/com/huoran/iasf/common/shiro/ShiroConfig.java +++ b/src/main/java/com/huoran/iasf/common/shiro/ShiroConfig.java @@ -146,6 +146,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sysFiles/upload", "anon"); filterChainDefinitionMap.put("/seo/list", "anon"); filterChainDefinitionMap.put("/sysContent/queryArticleColumnParent", "anon"); + /*filterChainDefinitionMap.put("/index/**", "anon"); filterChainDefinitionMap.put("/doc.html", "anon"); filterChainDefinitionMap.put("/swagger-resources/**", "anon"); diff --git a/src/main/java/com/huoran/iasf/common/utils/Base64Util.java b/src/main/java/com/huoran/iasf/common/utils/Base64Util.java new file mode 100644 index 0000000..eb7a4d8 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/utils/Base64Util.java @@ -0,0 +1,31 @@ +package com.huoran.iasf.common.utils; + +import org.apache.commons.codec.binary.Base64; + +/** + * Base64 + * Author:Bobby + * DateTime:2019/4/9 + **/ +public class Base64Util{ + + /** + * Decoding to binary + * @param base64 base64 + * @return byte + * @throws Exception Exception + */ + public static byte[] decode(String base64) throws Exception { + return Base64.decodeBase64(base64); + } + + /** + * Binary encoding as a string + * @param bytes byte + * @return String + * @throws Exception Exception + */ + public static String encode(byte[] bytes) throws Exception { + return new String(Base64.encodeBase64(bytes)); + } +} diff --git a/src/main/java/com/huoran/iasf/common/utils/JsonUtils.java b/src/main/java/com/huoran/iasf/common/utils/JsonUtils.java new file mode 100644 index 0000000..70c5be7 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/utils/JsonUtils.java @@ -0,0 +1,30 @@ +package com.huoran.iasf.common.utils; + + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; + +/** + * @author imyzt + * @date 2020/06/08 + * @description JSON 工具类 + */ +public class JsonUtils { + + private JsonUtils() { + } + + private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + + public static JsonNode getNode(String content, String key) throws IOException { + JsonNode jsonNode = OBJECT_MAPPER.readTree(content); + return jsonNode.get(key); + } + + public static String writeValueAsString(Object body) throws JsonProcessingException { + return OBJECT_MAPPER.writeValueAsString(body); + } +} diff --git a/src/main/java/com/huoran/iasf/common/utils/RSAUtil.java b/src/main/java/com/huoran/iasf/common/utils/RSAUtil.java new file mode 100644 index 0000000..8a36ff8 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/utils/RSAUtil.java @@ -0,0 +1,103 @@ +package com.huoran.iasf.common.utils; + +import javax.crypto.Cipher; +import java.io.ByteArrayOutputStream; +import java.security.Key; +import java.security.KeyFactory; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; + +/** + * RSA Util + * Author:Bobby + * DateTime:2019/4/9 + **/ +public class RSAUtil{ + + /** + * encryption algorithm RSA + */ + public static final String KEY_ALGORITHM = "RSA"; + + /** + * RSA Maximum Encrypted Plaintext Size + */ + private static final int MAX_ENCRYPT_BLOCK = 117; + + /** + * RSA Maximum decrypted ciphertext size + */ + private static final int MAX_DECRYPT_BLOCK = 256; + + /** + * encryption + * @param data data + * @param publicKey publicKey + * @return byte + * @throws Exception Exception + */ + public static byte[] encrypt(byte[] data, String publicKey) + throws Exception { + byte[] keyBytes = Base64Util.decode(publicKey); + X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key publicK = keyFactory.generatePublic(x509KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.ENCRYPT_MODE, publicK); + int inputLen = data.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // Sectional Encryption of Data + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_ENCRYPT_BLOCK) { + cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK); + } else { + cache = cipher.doFinal(data, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_ENCRYPT_BLOCK; + } + byte[] encryptedData = out.toByteArray(); + out.close(); + return encryptedData; + } + + /** + * Decrypt + * @param text text + * @param privateKey privateKey + * @return byte + * @throws Exception Exception + */ + public static byte[] decrypt(byte[] text, String privateKey) + throws Exception { + byte[] keyBytes = Base64Util.decode(privateKey); + PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); + KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); + Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); + Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); + cipher.init(Cipher.DECRYPT_MODE, privateK); + int inputLen = text.length; + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int offSet = 0; + byte[] cache; + int i = 0; + // Sectional Encryption of Data + while (inputLen - offSet > 0) { + if (inputLen - offSet > MAX_DECRYPT_BLOCK) { + cache = cipher.doFinal(text, offSet, MAX_DECRYPT_BLOCK); + } else { + cache = cipher.doFinal(text, offSet, inputLen - offSet); + } + out.write(cache, 0, cache.length); + i++; + offSet = i * MAX_DECRYPT_BLOCK; + } + byte[] decryptedData = out.toByteArray(); + out.close(); + return decryptedData; + } +} diff --git a/src/main/java/com/huoran/iasf/common/utils/fileUploadUtils.java b/src/main/java/com/huoran/iasf/common/utils/fileUploadUtils.java new file mode 100644 index 0000000..753a3c4 --- /dev/null +++ b/src/main/java/com/huoran/iasf/common/utils/fileUploadUtils.java @@ -0,0 +1,119 @@ +package com.huoran.iasf.common.utils; + +import com.huoran.iasf.common.exception.BusinessException; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; + +import static com.huoran.iasf.common.exception.code.BaseResponseCode.UPLOAD_FAILED; + +/** + * 文件上传校验工具类 + **/ +public class fileUploadUtils { + + + // 缓存文件魔数值 + public static final HashMap mFileTypes = new HashMap(); + + static { + mFileTypes.put("FFD8FFE0", "jpg"); + mFileTypes.put("89504E47", "png"); + mFileTypes.put("47494638", "gif"); +// mFileTypes.put("49492A00", "tif"); +// mFileTypes.put("424D", "bmp"); +// mFileTypes.put("38425053", "psd"); +// mFileTypes.put("3C3F786D6C", "xml"); +// mFileTypes.put("68746D6C3E", "html"); + mFileTypes.put("D0CF11E0", "doc"); + mFileTypes.put("D0CF11E0", "xls");//excel2003版本文件 + mFileTypes.put("6D6F6F76", "mov"); + mFileTypes.put("504B0304", "xlsx");//excel2007以上版本文件 +// mFileTypes.put("5374616E64617264204A", "mdb"); + mFileTypes.put("255044462D312E", "pdf"); + mFileTypes.put("504B0304", "docx"); + mFileTypes.put("00000020667479706D70","MP4"); + mFileTypes.put("49443303000000002176","MP3"); +// mFileTypes.put("52617221", "rar"); +// mFileTypes.put("41564920", "avi"); + } + + + /** + * 文件上传校验 + * + * @param file 上传的文件 + * @param allowedExtension 允许上传的文件后缀集合 + * @throws Exception + */ + public static final void assertAllowed(MultipartFile file, String[] allowedExtension) throws Exception { + + //通过文件魔数获取文件的原始类型 + String fileExtension = mFileTypes.get(getFileHeader(file)); + //原始类型与允许类型集合进行比较,判断文件是否合法 + if (!isAllowedExtension(fileExtension, allowedExtension)) { + throw new BusinessException(UPLOAD_FAILED); + } + } + + /** + * 获取文件魔数值 + * + * @param file + * @return + */ + public static String getFileHeader(MultipartFile file) { + InputStream is = null; + String value = null; + try { + is = file.getInputStream(); + byte[] b = new byte[4]; + is.read(b, 0, b.length); + value = bytesToHexString(b); + } catch (Exception e) { + } finally { + if (null != is) { + try { + is.close(); + } catch (IOException e) { + } + } + } + return value; + } + + private static String bytesToHexString(byte[] src) { + StringBuilder builder = new StringBuilder(); + if (src == null || src.length <= 0) { + return null; + } + String hv; + for (int i = 0; i < src.length; i++) { + hv = Integer.toHexString(src[i] & 0xFF).toUpperCase(); + if (hv.length() < 2) { + builder.append(0); + } + builder.append(hv); + } + System.out.println("文件魔数值为:" + builder.toString()); + return builder.toString(); + } + + /** + * 判断MIME类型是否是允许的MIME类型 + * + * @param extension + * @param allowedExtension + * @return + */ + public static final boolean isAllowedExtension(String extension, String[] allowedExtension) { + for (String str : allowedExtension) { + if (str.equalsIgnoreCase(extension)) { + return true; + } + } + return false; + } +} diff --git a/src/main/java/com/huoran/iasf/controller/DeptController.java b/src/main/java/com/huoran/iasf/controller/DeptController.java index 88a7e62..fbafe3b 100644 --- a/src/main/java/com/huoran/iasf/controller/DeptController.java +++ b/src/main/java/com/huoran/iasf/controller/DeptController.java @@ -1,5 +1,6 @@ package com.huoran.iasf.controller; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.aop.annotation.LogAnnotation; import com.huoran.iasf.common.aop.annotation.NoRepeatSubmit; import com.huoran.iasf.common.utils.R; @@ -31,6 +32,7 @@ public class DeptController { @Resource private DeptService deptService; @NoRepeatSubmit + @Decrypt @PostMapping("/dept") @ApiOperation(value = "新增组织接口") @LogAnnotation(title = "机构管理", action = "新增组织") @@ -44,16 +46,18 @@ public class DeptController { return R.success(); } - @DeleteMapping("/dept/{id}") + @PostMapping("/deleteDept") @ApiOperation(value = "删除组织接口") + @Decrypt @LogAnnotation(title = "机构管理", action = "删除组织") @RequiresPermissions("sys:dept:deleted") - public R deleted(@PathVariable("id") String id) { + public R deleted(@RequestBody String id) { deptService.deleted(id); return R.success(); } - @PutMapping("/dept") + @PostMapping("/updateDept") + @Decrypt @ApiOperation(value = "更新组织信息接口") @LogAnnotation(title = "机构管理", action = "更新组织信息") @RequiresPermissions("sys:dept:update") @@ -80,7 +84,7 @@ public class DeptController { @GetMapping("/dept/tree") @ApiOperation(value = "树型组织列表接口",response = DeptRespNodeVO.class) @LogAnnotation(title = "部门管理", action = "树型组织列表") -// @RequiresPermissions(value = {"sys:user:list", "sys:user:update", "sys:user:add", "sys:dept:add", "sys:dept:update"}, logical = Logical.OR) + @RequiresPermissions(value = {"sys:user:list", "sys:user:update", "sys:user:add", "sys:dept:add", "sys:dept:update"}, logical = Logical.OR) public R getTree( @ApiParam(name = "deptId", value = "部门id",required = false) @RequestParam(required = false) String deptId) { diff --git a/src/main/java/com/huoran/iasf/controller/RoleController.java b/src/main/java/com/huoran/iasf/controller/RoleController.java index a5d4107..ddd1cdd 100644 --- a/src/main/java/com/huoran/iasf/controller/RoleController.java +++ b/src/main/java/com/huoran/iasf/controller/RoleController.java @@ -3,6 +3,7 @@ package com.huoran.iasf.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.aop.annotation.LogAnnotation; import com.huoran.iasf.common.aop.annotation.NoRepeatSubmit; import com.huoran.iasf.common.utils.R; @@ -44,7 +45,8 @@ public class RoleController { @Resource private HttpSessionService httpSessionService; @NoRepeatSubmit - @PostMapping("/role") + @Decrypt + @PostMapping("/addRole") @ApiOperation(value = "新增角色接口") @LogAnnotation(title = "角色管理", action = "新增角色") @RequiresPermissions("sys:role:add") @@ -67,17 +69,19 @@ public class RoleController { return R.success(); } - @DeleteMapping("/role/deleted") + @PostMapping("/role/deleted") @ApiOperation(value = "删除角色接口") + @Decrypt @LogAnnotation(title = "角色管理", action = "删除角色") @RequiresPermissions("sys:role:deleted") - public R deleted(@RequestBody @ApiParam(value = "id集合") List ids) { + public R deleted(@RequestBody @ApiParam(value = "id集合") List ids) { roleService.deletedRole(ids); return R.success(); } - @PutMapping("/role") + @PostMapping("/updateRole") @ApiOperation(value = "更新角色信息接口") + @Decrypt @LogAnnotation(title = "角色管理", action = "更新角色信息") @RequiresPermissions("sys:role:update") public R updateDept(@RequestBody SysRole vo) { @@ -92,11 +96,12 @@ public class RoleController { return R.success(); } - @GetMapping("/role/{id}") + @PostMapping("/role") + @Decrypt @ApiOperation(value = "查询角色详情接口") @LogAnnotation(title = "角色管理", action = "查询角色详情") -// @RequiresPermissions("sys:role:detail") - public R detailInfo(@PathVariable("id") String id) { + @RequiresPermissions("sys:role:detail") + public R detailInfo(@RequestBody Integer id) { // return R.success(roleService.detailInfo(id)); SysRole role = roleService.getById(id); QueryWrapper wrapper = new QueryWrapper<>(); @@ -113,6 +118,7 @@ public class RoleController { } @PostMapping("/roles") + @Decrypt @ApiOperation(value = "分页获取角色信息接口") @LogAnnotation(title = "角色管理", action = "分页获取角色信息") @RequiresPermissions("sys:role:list") diff --git a/src/main/java/com/huoran/iasf/controller/SeoController.java b/src/main/java/com/huoran/iasf/controller/SeoController.java new file mode 100644 index 0000000..0c9f046 --- /dev/null +++ b/src/main/java/com/huoran/iasf/controller/SeoController.java @@ -0,0 +1,76 @@ +package com.huoran.iasf.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huoran.iasf.common.aop.annotation.LogAnnotation; +import com.huoran.iasf.common.utils.R; +import com.huoran.iasf.entity.Seo; +import com.huoran.iasf.entity.Site; +import com.huoran.iasf.service.SeoService; +import com.huoran.iasf.service.SiteService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author cheney + * @since 2023-08-24 + */ +@Api(tags = "seo管理") +@RestController +@RequestMapping("/seo") +public class SeoController { + + @Autowired + private SeoService seoService; + + @PostMapping("/add") + @ApiOperation(value = "新增seo") + public R addUserGroup(@RequestBody Seo seo) { + Seo one = seoService.getOne(new QueryWrapper(). + eq("title", seo.getTitle())); + if (ObjectUtil.isNotNull(one)){ + R.fail("seo已存在"); + } + boolean save = seoService.save(seo); + return save ? R.success() : R.fail("添加失败"); + } + + @PostMapping("/delete") + @ApiOperation(value = "删除seo") + public R deleted(@RequestParam Integer id) { + boolean remove = seoService.removeById(id); + return remove ? R.success() : R.fail("删除失败"); + } + + @PostMapping("/update") + @ApiOperation(value = "更新seo") + public R update(@RequestBody Seo seo) { + boolean update = seoService.updateById(seo); + return update ? R.success() : R.fail("更新失败"); + } + + + @GetMapping("/list") + @ApiOperation(value = "站点seo列表") + public R list(@RequestParam Integer siteId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("site_id",siteId); + List list = seoService.list(queryWrapper); + return R.success(list); + } + +} + diff --git a/src/main/java/com/huoran/iasf/controller/SysColumnController.java b/src/main/java/com/huoran/iasf/controller/SysColumnController.java index 1adaa55..00f095d 100644 --- a/src/main/java/com/huoran/iasf/controller/SysColumnController.java +++ b/src/main/java/com/huoran/iasf/controller/SysColumnController.java @@ -2,6 +2,7 @@ package com.huoran.iasf.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.aop.annotation.NoRepeatSubmit; import com.huoran.iasf.common.exception.NotFoundException; import com.huoran.iasf.common.exception.code.BaseResponseCode; @@ -9,10 +10,13 @@ import com.huoran.iasf.common.utils.Constant; import com.huoran.iasf.entity.*; import com.huoran.iasf.service.*; import com.huoran.iasf.vo.req.ColumnWeightReqVO; +import com.huoran.iasf.vo.req.OneLevelChecksThemAll; import com.huoran.iasf.vo.req.PaginationColumnReqVO; +import com.huoran.iasf.vo.req.SubLevelColumnsUnderALevel; import com.huoran.iasf.vo.resp.SortColumnRespVO; import io.swagger.annotations.*; import com.huoran.iasf.common.utils.R; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -65,12 +69,14 @@ public class SysColumnController { public SysFilesService sysFilesService; @PostMapping("/listWithTree") + @Decrypt @ApiOperation(value = "栏目树结构", response = SysColumn.class) public R listWithTree(@RequestBody @Valid PaginationColumnReqVO sysColumn) { return R.success(service.listWithTree(sysColumn)); } @PostMapping("/listWithTreeMenuVisible") + @Decrypt @ApiOperation(value = "栏目树结构(前台可见,只展示试单可见的栏目)", response = SysColumn.class) public R listWithTreeMenuVisible(@RequestBody @Valid PaginationColumnReqVO sysColumn) { return R.success(service.listWithTreeMenuVisible(sysColumn)); @@ -78,8 +84,9 @@ public class SysColumnController { @PostMapping("/findById") + @Decrypt @ApiOperation(value = "查询详情", response = SysColumn.class) - public R findById(@RequestParam("id") @ApiParam(value = "序号") Integer id) { + public R findById(@RequestBody @ApiParam(value = "序号") Integer id) { SysColumn sysColumn = service.getById(id); if (sysColumn == null) { throw new NotFoundException(BaseResponseCode.DATA_DOES_NOT_EXIST); @@ -96,6 +103,7 @@ public class SysColumnController { @NoRepeatSubmit @PostMapping("/save") @ApiOperation(value = "新增", response = SysColumn.class) + @RequiresPermissions("sys:column:save") public R save(@RequestBody @Valid SysColumn sysColumn) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("father_id", sysColumn.getFatherId()); @@ -107,6 +115,7 @@ public class SysColumnController { @PostMapping("/update") @ApiOperation(value = "修改", response = SysColumn.class) + @RequiresPermissions("sys:column:update") public R update(@RequestBody SysColumn sysColumn) { boolean updateState = service.updateById(sysColumn); return updateState ? R.success() : R.fail("编辑失败"); @@ -134,9 +143,11 @@ public class SysColumnController { }*/ @NoRepeatSubmit + @Decrypt @PostMapping("/batchDeletion") @ApiOperation(value = "批量删除栏目", response = SysColumn.class) - public R batchDeletion(@ApiParam(name = "ids", value = "主键", required = true) @RequestParam List ids) { + @RequiresPermissions("sys:column:batchDeletion") + public R batchDeletion(@ApiParam(name = "ids", value = "主键", required = true) @RequestBody List ids) { boolean ret = false; for (Integer id : ids) { UpdateWrapper filesEntityUpdateWrapper = new UpdateWrapper<>(); @@ -180,6 +191,7 @@ public class SysColumnController { @PostMapping("/sortByColumn") @ApiOperation(value = "栏目排序(依据id更改)", response = SysColumn.class) + @RequiresPermissions("sys:column:sort") public R sortByColumn(@RequestBody List sortColumnRespVOList) { for (SortColumnRespVO sort : sortColumnRespVOList) { @@ -214,11 +226,12 @@ public class SysColumnController { @ApiOperation("获取某层级下的子级栏目") + @Decrypt @PostMapping("/getsSublevelColumnsUnderALevel") - public R getsSublevelColumnsUnderALevel(@ApiParam(name = "id", value = "id", required = true) @RequestParam Integer id, - @ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId) { - String ids = this.getIds(id); - return service.getsTheSubColumn(id, ids,siteId); + public R getsSublevelColumnsUnderALevel( + @RequestBody SubLevelColumnsUnderALevel subLevelColumnsUnderALevel) { + String ids = this.getIds(subLevelColumnsUnderALevel.getId()); + return service.getsTheSubColumn(subLevelColumnsUnderALevel.getId(), ids,subLevelColumnsUnderALevel.getSiteId()); } @@ -259,8 +272,11 @@ public class SysColumnController { @ApiOperation("获取一级下的子级栏目以及下的全部文章标签") + @Decrypt @PostMapping("/getTheFullArticleByColumn") - public R getTheFullArticleByColumn(@ApiParam(name = "id", value = "一级栏目id", required = true) @RequestParam Integer id) { + public R getTheFullArticleByColumn( + @ApiParam(name = "id", value = "一级栏目id", required = true) + @RequestBody Integer id) { String ids = this.getIds(id); return contentService.getTheFullArticleByColumn(ids); } @@ -280,15 +296,13 @@ public class SysColumnController { } @ApiOperation("某一级查全部") + @Decrypt @PostMapping("/oneLevelChecksThemAll") - public R oneLevelChecksThemAll(@ApiParam(name = "id", value = "栏目id", required = true) @RequestParam Integer id, - @ApiParam(name = "isSort", value = "判断是否为排序接口调用(1为排序接口调用 0我栏目管理列表调用)", required = true) @RequestParam Integer isSort, - @ApiParam(name = "ids", value = "主键", required = true) @RequestParam Integer siteId - ) { - - Integer pid = service.oneLevelChecksThemAll(id); + public R oneLevelChecksThemAll( + @RequestBody OneLevelChecksThemAll oneLevelChecksThemAll) { + Integer pid = service.oneLevelChecksThemAll(oneLevelChecksThemAll.getId()); String ids = this.getIds(pid); - return service.getSubColumn(pid, ids, isSort,siteId); + return service.getSubColumn(pid, ids, oneLevelChecksThemAll.getIsSort(),oneLevelChecksThemAll.getSiteId()); } @@ -300,8 +314,11 @@ public class SysColumnController { * @return */ @ApiOperation("查询栏目下的文章(若选中栏目与子级全部栏目类型一致返回全部文章,反之查询选中栏目下的文章)") + @Decrypt @PostMapping("/queryArticlesByColumnType") - public R queryArticlesByColumnType(@ApiParam(name = "columnId", value = "栏目id", required = true) @RequestParam Integer columnId) { + public R queryArticlesByColumnType( + @ApiParam(name = "columnId", value = "栏目id", required = true) + @RequestBody Integer columnId) { String ids = this.getIds(columnId); return service.queryArticlesByColumnType(ids, columnId); } diff --git a/src/main/java/com/huoran/iasf/controller/SysColumnLongPageController.java b/src/main/java/com/huoran/iasf/controller/SysColumnLongPageController.java index 5a58038..74fb592 100644 --- a/src/main/java/com/huoran/iasf/controller/SysColumnLongPageController.java +++ b/src/main/java/com/huoran/iasf/controller/SysColumnLongPageController.java @@ -2,6 +2,7 @@ package com.huoran.iasf.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.exception.NotFoundException; import com.huoran.iasf.common.exception.code.BaseResponseCode; import com.huoran.iasf.common.utils.Constant; @@ -61,8 +62,11 @@ public class SysColumnLongPageController { @PostMapping("/getLongPageInformation") + @Decrypt @ApiOperation(value = "根据栏目id查询类型长页栏目信息", response = SysColumnLongPage.class) - public R getLongPageInformation(@ApiParam(name = "columnId", value = "栏目id", required = true) @RequestParam Integer columnId) { + public R getLongPageInformation( + @ApiParam(name = "columnId", value = "栏目id", required = true) + @RequestBody Integer columnId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("column_id", columnId); List longPageList = service.list(queryWrapper); diff --git a/src/main/java/com/huoran/iasf/controller/SysContentClassificationController.java b/src/main/java/com/huoran/iasf/controller/SysContentClassificationController.java index 951947c..9c9778d 100644 --- a/src/main/java/com/huoran/iasf/controller/SysContentClassificationController.java +++ b/src/main/java/com/huoran/iasf/controller/SysContentClassificationController.java @@ -1,11 +1,14 @@ package com.huoran.iasf.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.exception.NotFoundException; import com.huoran.iasf.common.exception.code.BaseResponseCode; import com.huoran.iasf.common.utils.R; import com.huoran.iasf.entity.SysContentClassification; import com.huoran.iasf.service.SysContentClassificationService; +import com.huoran.iasf.vo.req.AllTheQuery; +import com.huoran.iasf.vo.req.CheckForHeavy; import io.swagger.annotations.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; @@ -39,11 +42,12 @@ public class SysContentClassificationController { @PostMapping("/allTheQuery") + @Decrypt @ApiOperation(value = "查询全部文章所属分类", response = SysContentClassification.class) - public R allTheQuery(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId, - @ApiParam(name = "templateId", value = "模板id", required = true) @RequestParam Integer templateId) { + public R allTheQuery( + @RequestBody AllTheQuery allTheQuery) { List list = service.list(new QueryWrapper() - .eq("site_id", siteId).eq("template_id",templateId)); + .eq("site_id", allTheQuery.getSiteId()).eq("template_id",allTheQuery.getTemplateId())); return R.success(list); } @@ -60,17 +64,17 @@ public class SysContentClassificationController { @PostMapping("/checkForHeavy") + @Decrypt @ApiOperation(value = "分类校验判重", response = SysContentClassification.class) - public R checkForHeavy(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId, - @ApiParam(name = "classificationName", value = "分类名称", required = true) @RequestParam String classificationName, - @ApiParam(name = "classificationId", value = "分类id(新增不传,编辑传)", required = false) @RequestParam Integer classificationId) { + public R checkForHeavy( + @RequestBody CheckForHeavy checkForHeavy) { - QueryWrapper queryWrapper = new QueryWrapper().eq("site_id", siteId). - eq("classification_name", classificationName); + QueryWrapper queryWrapper = new QueryWrapper().eq("site_id", checkForHeavy.getSiteId()). + eq("classification_name", checkForHeavy.getClassificationName()); //id不得空表示编辑校验 - if (classificationId != null) { - queryWrapper.last(" and id != " + classificationId); + if (checkForHeavy.getClassificationId() != null) { + queryWrapper.last(" and id != " + checkForHeavy.getClassificationId()); } SysContentClassification sysContentClassification = service.getOne(queryWrapper); if (sysContentClassification != null) { @@ -82,6 +86,7 @@ public class SysContentClassificationController { @PostMapping("/save") + @Decrypt @ApiOperation(value = "新增", response = SysContentClassification.class) public R save(@RequestBody @Valid @ApiParam(name = "文章所属分类对象", value = "传入json格式", required = true) SysContentClassification sysContentClassification) { boolean addState = service.save(sysContentClassification); @@ -90,6 +95,7 @@ public class SysContentClassificationController { @PostMapping("/update") + @Decrypt @ApiOperation(value = "修改", response = SysContentClassification.class) public R update(@RequestBody @ApiParam(name = "文章所属分类对象", value = "传入json格式", required = true) SysContentClassification sysContentClassification) { boolean updateState = service.updateById(sysContentClassification); @@ -98,15 +104,17 @@ public class SysContentClassificationController { @PostMapping("/delete") + @Decrypt @ApiOperation(value = "删除", response = SysContentClassification.class) - public R delete(@ApiParam(name = "id", value = "主键", required = true) @RequestParam Integer id) { + public R delete(@ApiParam(name = "id", value = "主键", required = true) @RequestBody Integer id) { boolean delState = service.removeById(id); return delState ? R.success() : R.fail("删除失败"); } @PostMapping("/batchDeletion") + @Decrypt @ApiOperation(value = "批量删除", response = SysContentClassification.class) - public R batchDeletion(@ApiParam(name = "id", value = "主键", required = true) @RequestParam List ids) { + public R batchDeletion(@ApiParam(name = "id", value = "主键", required = true) @RequestBody List ids) { boolean delState = service.removeByIds(ids); return delState ? R.success() : R.fail("删除失败"); // diff --git a/src/main/java/com/huoran/iasf/controller/SysContentController.java b/src/main/java/com/huoran/iasf/controller/SysContentController.java index f5fee2d..549cddd 100644 --- a/src/main/java/com/huoran/iasf/controller/SysContentController.java +++ b/src/main/java/com/huoran/iasf/controller/SysContentController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.exception.NotFoundException; import com.huoran.iasf.common.exception.code.BaseResponseCode; import com.huoran.iasf.entity.SysColumn; @@ -14,14 +15,12 @@ import com.huoran.iasf.entity.SysFilesEntity; import com.huoran.iasf.service.SysColumnService; import com.huoran.iasf.service.SysContentFileService; import com.huoran.iasf.service.SysFilesService; -import com.huoran.iasf.vo.req.ArticleModifiedSortReq; -import com.huoran.iasf.vo.req.ContentHeavyTitleReqVO; -import com.huoran.iasf.vo.req.ContentReq; -import com.huoran.iasf.vo.req.PageContentReqVO; +import com.huoran.iasf.vo.req.*; import com.huoran.iasf.vo.resp.PageContentRespVO; import io.swagger.annotations.*; import com.huoran.iasf.common.utils.R; import org.apache.ibatis.annotations.Update; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.*; @@ -63,6 +62,7 @@ public class SysContentController { @PostMapping("/pagingQuery") + @Decrypt @ApiOperation(value = "分页查询文章列表", response = PageContentRespVO.class) public R pagingQuery(@RequestBody @Valid @ApiParam(name = "分页查询参数", value = "传入json格式", required = true) PageContentReqVO sysContent) { return service.articlePaginationList(sysContent); @@ -70,8 +70,9 @@ public class SysContentController { @PostMapping("/findById") + @Decrypt @ApiOperation(value = "查询详情", response = SysContent.class) - public R findById(@ApiParam(name = "id", value = "主键", required = true) @RequestParam Integer id) { + public R findById(@ApiParam(name = "id", value = "主键", required = true) @RequestBody Integer id) { SysContent sysContent = service.getById(id); @@ -97,8 +98,11 @@ public class SysContentController { } @PostMapping("/save") + @RequiresPermissions("sys:article:save") @ApiOperation(value = "新增", response = SysContent.class) - public R save(@RequestBody @Valid @ApiParam(name = "文章管理对象", value = "传入json格式", required = true) SysContent sysContent) { + public R save( + @ApiParam(name = "文章管理对象", value = "传入json格式", required = true) + @RequestBody @Valid SysContent sysContent) { /* QueryWrapper queryWrap = new QueryWrapper<>(); queryWrap.eq("column_id", sysContent.getColumnId()); @@ -116,6 +120,7 @@ public class SysContentController { @PostMapping("/update") + @RequiresPermissions("sys:article:update") @ApiOperation(value = "修改", response = SysContent.class) public R update(@RequestBody @ApiParam(name = "文章管理对象", value = "传入json格式", required = true) SysContent sysContent) { boolean updateState = service.updateById(sysContent); @@ -124,8 +129,10 @@ public class SysContentController { @PostMapping("/delete") + @Decrypt + @RequiresPermissions("sys:article:delete") @ApiOperation(value = "删除", response = SysContent.class) - public R delete(@ApiParam(name = "id", value = "主键", required = true) @RequestParam Integer id) { + public R delete(@ApiParam(name = "id", value = "主键", required = true) @RequestBody Integer id) { UpdateWrapper queryWrapper = new UpdateWrapper<>(); queryWrapper.eq("quote_id", id); queryWrapper.eq("quote_type", 0); @@ -137,8 +144,9 @@ public class SysContentController { @PostMapping("/batchDeletion") + @Decrypt @ApiOperation(value = "批量删除文章", response = SysContent.class) - public R batchDeletion(@ApiParam(name = "ids", value = "主键", required = true) @RequestParam List ids) { + public R batchDeletion(@ApiParam(name = "ids", value = "主键", required = true) @RequestBody List ids) { for (Integer id : ids) { UpdateWrapper queryWrapper = new UpdateWrapper<>(); queryWrapper.eq("quote_id", id); @@ -151,12 +159,14 @@ public class SysContentController { } @PostMapping("/checkIfTheTitleIsRepeat") + @Decrypt @ApiOperation(value = "标题判重——只对已发布的判重(新增,编辑,点击发布时候都要调用判断))", response = ContentHeavyTitleReqVO.class) public R checkIfTheTitleIsRepeat(@RequestBody @Valid ContentHeavyTitleReqVO content) { return service.checkIfTheTitleIsRepeat(content) ? R.success() : R.fail("该标题已重复!"); } @PostMapping("/newlyPublishedArticles") + @Decrypt @ApiOperation(value = "站点最新发布的文章", response = PageContentReqVO.class) public R newlyPublishedArticles(@Valid @RequestBody PageContentReqVO content) { return service.newlyPublishedArticles(content); @@ -189,26 +199,35 @@ public class SysContentController { @PostMapping("/articleEnableOrDisable") + @Decrypt + @RequiresPermissions("sys:article:enable") @ApiOperation(value = "文章启用禁用", response = SysContent.class) - public R articleEnableOrDisable(@ApiParam(name = "id", value = "文章id", required = true) @RequestParam Integer id, @ApiParam(name = "isDisable", value = "是否禁用(0默认,0启用 1禁用)", required = true) @RequestParam Integer isDisable) { + public R articleEnableOrDisable( + @RequestBody ArticleEnableOrDisable articleEnableOrDisable) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("is_disable", isDisable); - updateWrapper.eq("id", id); + updateWrapper.set("is_disable", articleEnableOrDisable.getIsDisable()); + updateWrapper.eq("id", articleEnableOrDisable.getId()); boolean ret = service.update(updateWrapper); return ret ? R.success() : R.fail("禁用/启用失败"); } @PostMapping("/articlePreview") + @Decrypt @ApiOperation(value = "增加文章浏览量(点击一次算一次)", response = SysContent.class) - public R articlePreview(@ApiParam(name = "contentId", value = "文章id", required = true) @RequestParam Integer contentId) { + public R articlePreview( + @ApiParam(name = "contentId", value = "文章id", required = true) + @RequestBody Integer contentId) { return R.success(service.statisticsOfPageViews(contentId)); } @PostMapping("/hotContent") + @Decrypt @ApiOperation(value = "热点内容", response = SysContent.class) - public R hotContent(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId) { + public R hotContent( + @ApiParam(name = "siteId", value = "站点id", required = true) + @RequestBody Integer siteId) { return R.success(service.hotContent(siteId)); } @@ -222,19 +241,22 @@ public class SysContentController { @PostMapping("/articleTopOperation") + @Decrypt + @RequiresPermissions("sys:article:top") @ApiOperation(value = "文章置顶/取消置顶", response = SysContent.class) - public R articleTopOperation(@ApiParam(name = "isTop", value = "是否置顶(默认为0 不置顶 1为置顶)", required = true) @RequestParam Integer isTop, @ApiParam(name = "articleId", value = "文章Id", required = true) @RequestParam Integer articleId) { + public R articleTopOperation( + @RequestBody ArticleTopOperation articleTopOperation) { //是否置顶(默认为0 不置顶 1为置顶) UpdateWrapper updateWrap = new UpdateWrapper<>(); - if (isTop == 1) { + if (articleTopOperation.getIsTop() == 1) { //置顶时间(置顶一次更新一次) updateWrap.set("top_time", new Date()); } else { updateWrap.set("top_time", null); } - updateWrap.set("is_top", isTop); - updateWrap.eq("id", articleId); + updateWrap.set("is_top", articleTopOperation.getIsTop()); + updateWrap.eq("id", articleTopOperation.getArticleId()); updateWrap.eq("deleted", 1); boolean ret = service.update(updateWrap); return ret ? R.success() : R.fail("操作失败"); diff --git a/src/main/java/com/huoran/iasf/controller/SysContentLabelController.java b/src/main/java/com/huoran/iasf/controller/SysContentLabelController.java index 5634d13..fdb24cb 100644 --- a/src/main/java/com/huoran/iasf/controller/SysContentLabelController.java +++ b/src/main/java/com/huoran/iasf/controller/SysContentLabelController.java @@ -1,12 +1,14 @@ package com.huoran.iasf.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.exception.NotFoundException; import com.huoran.iasf.common.exception.code.BaseResponseCode; import com.huoran.iasf.common.utils.R; import com.huoran.iasf.entity.SysContentClassification; import com.huoran.iasf.entity.SysContentLabel; import com.huoran.iasf.service.SysContentLabelService; +import com.huoran.iasf.vo.req.LabelCheckForHeavy; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.apache.commons.lang.StringUtils; @@ -37,8 +39,11 @@ public class SysContentLabelController { @PostMapping("/queryAllArticleSubjectTags") + @Decrypt @ApiOperation(value = "查询全部文章主题标签", response = SysContentLabel.class) - public R queryAllArticleSubjectTags(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId) { + public R queryAllArticleSubjectTags( + @ApiParam(name = "siteId", value = "站点id", required = true) + @RequestBody Integer siteId) { List list = service.list(new QueryWrapper().eq("site_id", siteId)); return R.success(list); } @@ -56,6 +61,7 @@ public class SysContentLabelController { @PostMapping("/save") + @Decrypt @ApiOperation(value = "新增", response = SysContentLabel.class) public R save(@RequestBody @Valid @ApiParam(name = "文章主题标签对象", value = "传入json格式", required = true) SysContentLabel sysContentLabel) { boolean addState = service.save(sysContentLabel); @@ -64,14 +70,17 @@ public class SysContentLabelController { @PostMapping("/checkForHeavy") + @Decrypt @ApiOperation(value = "标签校验判重", response = SysContentLabel.class) - public R checkForHeavy(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId, @ApiParam(name = "labelName", value = "标签名称", required = true) @RequestParam String labelName, @ApiParam(name = "labelId", value = "标签id(新增不传,编辑传)", required = false) @RequestParam Integer labelId) { + public R checkForHeavy( + @RequestBody LabelCheckForHeavy labelCheckForHeavy) { - QueryWrapper queryWrapper = new QueryWrapper().eq("site_id", siteId).eq("label_name", labelName); + QueryWrapper queryWrapper = new QueryWrapper(). + eq("site_id", labelCheckForHeavy.getSiteId()).eq("label_name", labelCheckForHeavy.getLabelName()); //id不得空表示编辑校验 - if (labelId != null) { - queryWrapper.last(" and id != " + labelId); + if (labelCheckForHeavy.getLabelId() != null) { + queryWrapper.last(" and id != " + labelCheckForHeavy.getLabelId()); } SysContentLabel contentLabel = service.getOne(queryWrapper); if (contentLabel != null) { @@ -83,6 +92,7 @@ public class SysContentLabelController { @PostMapping("/update") + @Decrypt @ApiOperation(value = "修改", response = SysContentLabel.class) public R update(@RequestBody @ApiParam(name = "文章主题标签对象", value = "传入json格式", required = true) SysContentLabel sysContentLabel) { boolean updateState = service.updateById(sysContentLabel); @@ -91,8 +101,9 @@ public class SysContentLabelController { @PostMapping("/delete") + @Decrypt @ApiOperation(value = "删除", response = SysContentLabel.class) - public R delete(@ApiParam(name = "id", value = "主键", required = true) @RequestParam Integer id) { + public R delete(@ApiParam(name = "id", value = "主键", required = true) @RequestBody Integer id) { boolean delState = service.removeById(id); return delState ? R.success() : R.fail("删除失败"); } diff --git a/src/main/java/com/huoran/iasf/controller/SysFilesController.java b/src/main/java/com/huoran/iasf/controller/SysFilesController.java index c470442..6bd2a71 100644 --- a/src/main/java/com/huoran/iasf/controller/SysFilesController.java +++ b/src/main/java/com/huoran/iasf/controller/SysFilesController.java @@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.aop.annotation.NoRepeatSubmit; import com.huoran.iasf.common.config.NonStaticResourceHttpRequestConfig; import com.huoran.iasf.common.utils.R; +import com.huoran.iasf.common.utils.fileUploadUtils; import com.huoran.iasf.entity.SysFilesEntity; import com.huoran.iasf.entity.SysUser; import com.huoran.iasf.service.HttpSessionService; @@ -75,7 +77,7 @@ public class SysFilesController { // @RequiresPermissions(value = {"sysFiles:add", "sysContent:update", "sysContent:add"}, logical = Logical.OR) public UEditorResultVO add( @RequestParam(required = false) String action, - @RequestParam(value = "file") MultipartFile file, FileParameters fileParameters) { + @RequestParam(value = "file") MultipartFile file, FileParameters fileParameters) throws Exception { Integer userId = httpSessionService.getCurrentUserId(); fileParameters.setUploader(userId.toString()); //判断文件是否空 @@ -84,6 +86,8 @@ public class SysFilesController { uEditorResult.setState("error"); return uEditorResult; } + String[] allowedExtension = new String[]{"jpg", "png", "gif", "doc", "xls", "xlsx", "docx", "pdf", "mov","mp4","MP3"}; + fileUploadUtils.assertAllowed(file,allowedExtension); return sysFilesService.saveFile(file,fileParameters); } @@ -113,7 +117,8 @@ public class SysFilesController { } @ApiOperation(value = "删除") - @DeleteMapping("/delete") + @PostMapping("/delete") + @Decrypt @RequiresPermissions("sysFiles:delete") public R delete(@RequestBody @ApiParam(value = "id集合") List ids) { sysFilesService.removeByIdsAndFiles(ids); diff --git a/src/main/java/com/huoran/iasf/controller/SysNavigationStyleController.java b/src/main/java/com/huoran/iasf/controller/SysNavigationStyleController.java index bbf3327..cbb7459 100644 --- a/src/main/java/com/huoran/iasf/controller/SysNavigationStyleController.java +++ b/src/main/java/com/huoran/iasf/controller/SysNavigationStyleController.java @@ -1,6 +1,7 @@ package com.huoran.iasf.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.huoran.iasf.common.annotation.Decrypt; import io.swagger.annotations.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huoran.iasf.common.utils.R; @@ -36,8 +37,9 @@ public class SysNavigationStyleController { @PostMapping("/searchAllBySite") + @Decrypt @ApiOperation(value = "按站点搜索所有", response = SysNavigationStyle.class) - public R listByEntity(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestParam Integer siteId) { + public R listByEntity(@ApiParam(name = "siteId", value = "站点id", required = true) @RequestBody Integer siteId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("site_id", siteId); List pageList = service.list(queryWrapper); diff --git a/src/main/java/com/huoran/iasf/controller/UserController.java b/src/main/java/com/huoran/iasf/controller/UserController.java index cfb07e7..9c830e3 100644 --- a/src/main/java/com/huoran/iasf/controller/UserController.java +++ b/src/main/java/com/huoran/iasf/controller/UserController.java @@ -1,10 +1,13 @@ package com.huoran.iasf.controller; + import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.aop.annotation.LogAnnotation; import com.huoran.iasf.common.aop.annotation.NoRepeatSubmit; import com.huoran.iasf.common.utils.R; +import com.huoran.iasf.common.utils.fileUploadUtils; import com.huoran.iasf.entity.SysUser; import com.huoran.iasf.entity.UserDept; import com.huoran.iasf.mapper.UserDeptMapper; @@ -56,6 +59,7 @@ public class UserController { private HttpSessionService httpSessionService; @PostMapping(value = "/user/login") + @Decrypt @ApiOperation(value = "用户登录接口") public R login(@RequestBody @Valid SysUser vo) { return R.success(userService.login(vo)); @@ -68,10 +72,11 @@ public class UserController { return R.success(); }*/ - @PutMapping("/user") + @PostMapping("/updateUser") @ApiOperation(value = "更新用户信息接口") @LogAnnotation(title = "用户管理", action = "更新用户信息") -// @RequiresPermissions("sys:user:update") + @Decrypt + @RequiresPermissions("sys:user:update") public R updateUserInfo(@RequestBody SysUser vo) { if (StringUtils.isEmpty(vo.getId())) { return R.fail("id不能为空"); @@ -80,18 +85,20 @@ public class UserController { return R.success(); } - @GetMapping("/user/{id}") + @PostMapping("/queryUser") @ApiOperation(value = "查询用户详情接口") + @Decrypt @LogAnnotation(title = "用户管理", action = "查询用户详情") -// @RequiresPermissions("sys:user:detail") - public R detailInfo(@PathVariable("id") String id) { + @RequiresPermissions("sys:user:detail") + public R detailInfo(@RequestBody Integer id) { UserListResp userResp = userService.detailInfo(id); return R.success(userResp); } @PostMapping("/users") @ApiOperation(value = "分页获取用户列表接口") -// @RequiresPermissions("sys:user:list") + @RequiresPermissions("sys:user:list") + @Decrypt @LogAnnotation(title = "用户管理", action = "分页获取用户列表") public R pageInfo(@RequestBody UserListReq userListReq) { return userService.pageInfo(userListReq); @@ -99,7 +106,8 @@ public class UserController { @PostMapping("/user") @ApiOperation(value = "新增用户接口") -// @RequiresPermissions("sys:user:add") + @RequiresPermissions("sys:user:add") + @Decrypt @LogAnnotation(title = "用户管理", action = "新增用户") public R addUser(@RequestBody @Valid SysUser vo) { userService.addUser(vo); @@ -147,8 +155,14 @@ public class UserController { } @NoRepeatSubmit @ApiOperation(value = "密码重置", notes = "密码重置") - @GetMapping("/resetPwd") - public R resetPwd(@RequestParam("userId") String userId) { + @Decrypt + @PostMapping("/resetPwd") + @RequiresPermissions("sys:user:resetPwd") + public R resetPwd(@RequestBody String userId) { +// Integer currentUserId = httpSessionService.getCurrentUserId(); +// if (!userId.equals(currentUserId.toString())){ +// return R.fail("只能修改自己的密码"); +// } return userService.resetPwd(userId); } @@ -162,24 +176,32 @@ public class UserController { return R.success(); } @NoRepeatSubmit - @PutMapping("/user/pwd") + @Decrypt + @PostMapping("/user/pwd") @ApiOperation(value = "修改密码接口") @LogAnnotation(title = "用户管理", action = "更新密码") public R updatePwd(@RequestBody SysUser vo) { if (StringUtils.isEmpty(vo.getOldPwd()) || StringUtils.isEmpty(vo.getNewPwd())) { return R.fail("旧密码与新密码不能为空"); } - // Integer userId = httpSessionService.getCurrentUserId(); - // vo.setId(userId); + Integer userId = httpSessionService.getCurrentUserId(); + if (!userId.equals(vo.getId())){ + return R.fail("只能修改自己的密码"); + } + boolean password = userService.checkPassword(vo.getNewPwd()); + if (!password){ + return R.fail("密码长度不小于8位,至少包含数字、大小写字母和特殊字符"); + } userService.updatePwd(vo); return R.success(); } @NoRepeatSubmit - @DeleteMapping("/user") + @PostMapping("/deletedUser") @ApiOperation(value = "删除用户接口") + @Decrypt @LogAnnotation(title = "用户管理", action = "删除用户") -// @RequiresPermissions("sys:user:deleted") - public R deletedUser(@RequestBody @ApiParam(value = "用户id集合") List userIds) { + @RequiresPermissions("sys:user:deleted") + public R deletedUser(@RequestBody @ApiParam(value = "用户id集合") List userIds) { //删除用户, 删除redis的绑定的角色跟权限 httpSessionService.abortUserByUserIds(userIds); LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); @@ -192,6 +214,7 @@ public class UserController { @PostMapping("/importStaff") @ApiOperation("批量导入员工") + @RequiresPermissions("sys:user:import") public R importStaff(@RequestParam(name = "file") MultipartFile file, HttpServletRequest request) throws IOException { Map map = userService.importStaff(file); return R.success(map); @@ -220,8 +243,11 @@ public class UserController { @ApiOperation(value = "修改用户头像") @PostMapping("/updateUserAvatars") - public R updateUserAvatars(@RequestParam String userId, MultipartFile file) { - return userService.updateUserAvatars(userId, file); + public R updateUserAvatars(MultipartFile file) throws Exception { + String[] allowedExtension = new String[]{"jpg", "png", "gif"}; + fileUploadUtils.assertAllowed(file,allowedExtension); + Integer currentUserId = httpSessionService.getCurrentUserId(); + return userService.updateUserAvatars(currentUserId.toString(), file); } } diff --git a/src/main/java/com/huoran/iasf/controller/UserGroupController.java b/src/main/java/com/huoran/iasf/controller/UserGroupController.java index a17a493..4c57f6c 100644 --- a/src/main/java/com/huoran/iasf/controller/UserGroupController.java +++ b/src/main/java/com/huoran/iasf/controller/UserGroupController.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huoran.iasf.common.annotation.Decrypt; import com.huoran.iasf.common.aop.annotation.LogAnnotation; import com.huoran.iasf.common.aop.annotation.NoRepeatSubmit; import com.huoran.iasf.common.utils.R; @@ -37,6 +38,7 @@ public class UserGroupController { @Autowired private UserGroupService userGroupService; @NoRepeatSubmit + @Decrypt @PostMapping("/add") @ApiOperation(value = "新增用户组") @LogAnnotation(title = "用户组管理", action = "新增用户组") @@ -51,16 +53,18 @@ public class UserGroupController { return R.success(); } @NoRepeatSubmit - @DeleteMapping("/delete/{id}") + @Decrypt + @PostMapping("/deleteUserGroup") @ApiOperation(value = "删除用户组") @LogAnnotation(title = "用户组管理", action = "删除用户组") @RequiresPermissions("sys:userGroup:deleted") - public R deleted(@PathVariable("id") Integer id) { + public R deleted(@RequestBody String id) { userGroupService.removeById(id); return R.success(); } - @PutMapping("/update") + @PostMapping("/updateUserGroup") + @Decrypt @ApiOperation(value = "更新用户组信息") @LogAnnotation(title = "用户组管理", action = "更新用户组信息") @RequiresPermissions("sys:userGroup:update") @@ -89,6 +93,7 @@ public class UserGroupController { @PostMapping("/list") + @Decrypt @ApiOperation(value = "用户组列表") @LogAnnotation(title = "用户组管理", action = "获取所有用户组机构") @RequiresPermissions("sys:userGroup:list") diff --git a/src/main/java/com/huoran/iasf/entity/Seo.java b/src/main/java/com/huoran/iasf/entity/Seo.java new file mode 100644 index 0000000..4a5de4b --- /dev/null +++ b/src/main/java/com/huoran/iasf/entity/Seo.java @@ -0,0 +1,44 @@ +package com.huoran.iasf.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * + *

+ * + * @author cheney + * @since 2023-08-24 + */ +@Data + @EqualsAndHashCode(callSuper = false) + @TableName("sys_seo") +@ApiModel(value="Seo对象", description="") +public class Seo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "关键词") + private String keyword; + + @ApiModelProperty(value = "描述") + private String description; + + @ApiModelProperty(value = "站点") + private Integer siteId; + +} diff --git a/src/main/java/com/huoran/iasf/mapper/SeoMapper.java b/src/main/java/com/huoran/iasf/mapper/SeoMapper.java new file mode 100644 index 0000000..94bef03 --- /dev/null +++ b/src/main/java/com/huoran/iasf/mapper/SeoMapper.java @@ -0,0 +1,16 @@ +package com.huoran.iasf.mapper; + +import com.huoran.iasf.entity.Seo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author cheney + * @since 2023-08-24 + */ +public interface SeoMapper extends BaseMapper { + +} diff --git a/src/main/java/com/huoran/iasf/mapper/SysUserMapper.java b/src/main/java/com/huoran/iasf/mapper/SysUserMapper.java index 51f2b37..810a2f4 100644 --- a/src/main/java/com/huoran/iasf/mapper/SysUserMapper.java +++ b/src/main/java/com/huoran/iasf/mapper/SysUserMapper.java @@ -19,5 +19,5 @@ public interface SysUserMapper extends BaseMapper { IPage userList(Page page,@Param("req") UserListReq userListReq); - UserListResp detailInfo(String id); + UserListResp detailInfo(Integer id); } \ No newline at end of file diff --git a/src/main/java/com/huoran/iasf/mapper/xml/SeoMapper.xml b/src/main/java/com/huoran/iasf/mapper/xml/SeoMapper.xml new file mode 100644 index 0000000..287da9a --- /dev/null +++ b/src/main/java/com/huoran/iasf/mapper/xml/SeoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/huoran/iasf/mapper/xml/SysFilesMapper.xml b/src/main/java/com/huoran/iasf/mapper/xml/SysFilesMapper.xml index d38b95e..ce6bfb1 100644 --- a/src/main/java/com/huoran/iasf/mapper/xml/SysFilesMapper.xml +++ b/src/main/java/com/huoran/iasf/mapper/xml/SysFilesMapper.xml @@ -9,7 +9,6 @@ f.url, f.file_name, f.format, - f.file_path, f.file_size, f.type, f.deleted, diff --git a/src/main/java/com/huoran/iasf/service/HttpSessionService.java b/src/main/java/com/huoran/iasf/service/HttpSessionService.java index 58dd00e..bd9e7ce 100644 --- a/src/main/java/com/huoran/iasf/service/HttpSessionService.java +++ b/src/main/java/com/huoran/iasf/service/HttpSessionService.java @@ -171,9 +171,9 @@ public class HttpSessionService { /** * 使多个用户的token失效 */ - public void abortUserByUserIds(List userIds) { + public void abortUserByUserIds(List userIds) { if (CollectionUtils.isNotEmpty(userIds)) { - for (Integer id : userIds) { + for (String id : userIds) { redisService.delKeys(userTokenPrefix + "*#" + id); } diff --git a/src/main/java/com/huoran/iasf/service/RoleService.java b/src/main/java/com/huoran/iasf/service/RoleService.java index 7558497..92134d8 100644 --- a/src/main/java/com/huoran/iasf/service/RoleService.java +++ b/src/main/java/com/huoran/iasf/service/RoleService.java @@ -33,7 +33,7 @@ public interface RoleService extends IService { * * @param id id */ - void deletedRole(List ids); + void deletedRole(List ids); /** * 根据userId获取绑定的角色 diff --git a/src/main/java/com/huoran/iasf/service/SeoService.java b/src/main/java/com/huoran/iasf/service/SeoService.java new file mode 100644 index 0000000..3112e01 --- /dev/null +++ b/src/main/java/com/huoran/iasf/service/SeoService.java @@ -0,0 +1,16 @@ +package com.huoran.iasf.service; + +import com.huoran.iasf.entity.Seo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author cheney + * @since 2023-08-24 + */ +public interface SeoService extends IService { + +} diff --git a/src/main/java/com/huoran/iasf/service/UserService.java b/src/main/java/com/huoran/iasf/service/UserService.java index b187c69..b62fb31 100644 --- a/src/main/java/com/huoran/iasf/service/UserService.java +++ b/src/main/java/com/huoran/iasf/service/UserService.java @@ -53,7 +53,7 @@ public interface UserService extends IService { */ void updatePwd(SysUser vo); - UserListResp detailInfo(String id); + UserListResp detailInfo(Integer id); R resetPwd(String userId); @@ -66,4 +66,6 @@ public interface UserService extends IService { R updatePhoneOrEmail(UpdatePhoneOrEmailReq updatePhoneOrEmailReq); R updateUserAvatars(String userId, MultipartFile file); + + boolean checkPassword(String password); } diff --git a/src/main/java/com/huoran/iasf/service/impl/PermissionServiceImpl.java b/src/main/java/com/huoran/iasf/service/impl/PermissionServiceImpl.java index abd481c..9a9d1fb 100644 --- a/src/main/java/com/huoran/iasf/service/impl/PermissionServiceImpl.java +++ b/src/main/java/com/huoran/iasf/service/impl/PermissionServiceImpl.java @@ -238,7 +238,7 @@ public class PermissionServiceImpl extends ServiceImpl selectAllByTree() { List permissionList = baseMapper.selectList(null); return build(permissionList); diff --git a/src/main/java/com/huoran/iasf/service/impl/RoleServiceImpl.java b/src/main/java/com/huoran/iasf/service/impl/RoleServiceImpl.java index ded14d3..a01edcd 100644 --- a/src/main/java/com/huoran/iasf/service/impl/RoleServiceImpl.java +++ b/src/main/java/com/huoran/iasf/service/impl/RoleServiceImpl.java @@ -104,11 +104,11 @@ public class RoleServiceImpl extends ServiceImpl impleme @Transactional(rollbackFor = Exception.class) @Override - public void deletedRole(List ids) { + public void deletedRole(List ids) { - for (Integer id : ids) { + for (String id : ids) { //获取关联userId - List userIds = userRoleService.getUserIdsByRoleId(id); + List userIds = userRoleService.getUserIdsByRoleId(Integer.valueOf(id)); //删除角色 sysRoleMapper.deleteById(id); //删除角色权限关联 diff --git a/src/main/java/com/huoran/iasf/service/impl/SeoServiceImpl.java b/src/main/java/com/huoran/iasf/service/impl/SeoServiceImpl.java new file mode 100644 index 0000000..c513065 --- /dev/null +++ b/src/main/java/com/huoran/iasf/service/impl/SeoServiceImpl.java @@ -0,0 +1,20 @@ +package com.huoran.iasf.service.impl; + +import com.huoran.iasf.entity.Seo; +import com.huoran.iasf.mapper.SeoMapper; +import com.huoran.iasf.service.SeoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author cheney + * @since 2023-08-24 + */ +@Service +public class SeoServiceImpl extends ServiceImpl implements SeoService { + +} diff --git a/src/main/java/com/huoran/iasf/service/impl/UserServiceImpl.java b/src/main/java/com/huoran/iasf/service/impl/UserServiceImpl.java index c4d9bb4..ace81e7 100644 --- a/src/main/java/com/huoran/iasf/service/impl/UserServiceImpl.java +++ b/src/main/java/com/huoran/iasf/service/impl/UserServiceImpl.java @@ -131,13 +131,45 @@ public class UserServiceImpl extends ServiceImpl impleme } List menus = permissionService.permissionList(sysUser.getId()); + boolean b = checkUserPassword(vo.getPassword()); String token = httpSessionService.createTokenAndUser(sysUser, roleService.getRoleNames(sysUser.getId()), permissionService.getPermissionsByUserId(sysUser.getId())); respVO.setAccessToken(token); respVO.setPermissionList(menus); respVO.setUsername(sysUser.getRealName()); + respVO.setStrong(b); return respVO; } + + @Override + public boolean checkPassword(String password) { + return checkUserPassword(password); + } + + public static boolean checkUserPassword(String password){ + Map map = new HashMap(); + for (int i = 0; i < password.length(); i++) { + int A = password.charAt(i); + if (A >= 48 && A <= 57) {// 数字 + map.put("数字", "数字"); + } else if (A >= 65 && A <= 90) {// 大写 + map.put("大写", "大写"); + } else if (A >= 97 && A <= 122) {// 小写 + map.put("小写", "小写"); + } else { + map.put("特殊", "特殊"); + } + } + Set sets = map.keySet(); + int pwdSize = sets.size();// 密码字符种类数 + int pwdLength = password.length();// 密码长度 + if (pwdSize >= 4 && pwdLength >= 8) { + return true;// 强密码 + } else { + return false;// 弱密码 + } + } + /** * 校验验证码 * @@ -231,7 +263,7 @@ public class UserServiceImpl extends ServiceImpl impleme } @Override - public UserListResp detailInfo(String id) { + public UserListResp detailInfo(Integer id) { return baseMapper.detailInfo(id); } @@ -239,7 +271,7 @@ public class UserServiceImpl extends ServiceImpl impleme public R resetPwd(String userId) { SysUser sysUser = baseMapper.selectById(userId); sysUser.setSalt(PasswordUtils.getSalt()); - String encode = PasswordUtils.encode("111aaa", sysUser.getSalt()); + String encode = PasswordUtils.encode("Iasf#2024", sysUser.getSalt()); sysUser.setPassword(encode); int update = baseMapper.updateById(sysUser); return update>0 ? R.success("重置成功") : R.fail("重置失败"); @@ -261,7 +293,7 @@ public class UserServiceImpl extends ServiceImpl impleme public void addUser(SysUser vo) { vo.setSalt(PasswordUtils.getSalt()); - String encode = PasswordUtils.encode("111aaa", vo.getSalt()); + String encode = PasswordUtils.encode("Iasf#2024", vo.getSalt()); vo.setPassword(encode); vo.setStatus(1); vo.setCreateWhere(1); @@ -605,7 +637,7 @@ public class UserServiceImpl extends ServiceImpl impleme if (0==usernameId){ SysUser vo = new SysUser(); vo.setSalt(PasswordUtils.getSalt()); - String encode = PasswordUtils.encode("111aaa", vo.getSalt()); + String encode = PasswordUtils.encode("Iasf#2024", vo.getSalt()); vo.setRealName(realName); vo.setPhone(getPhone); vo.setJobNumber(jobNumber); diff --git a/src/main/java/com/huoran/iasf/vo/req/AllTheQuery.java b/src/main/java/com/huoran/iasf/vo/req/AllTheQuery.java new file mode 100644 index 0000000..268b8ce --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/AllTheQuery.java @@ -0,0 +1,13 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; +import org.springframework.web.bind.annotation.RequestParam; +@Data +public class AllTheQuery { + + @ApiParam(name = "siteId", value = "站点id", required = true) + Integer siteId; + @ApiParam(name = "templateId", value = "模板id", required = true) + Integer templateId; +} diff --git a/src/main/java/com/huoran/iasf/vo/req/ArticleEnableOrDisable.java b/src/main/java/com/huoran/iasf/vo/req/ArticleEnableOrDisable.java new file mode 100644 index 0000000..3a390f9 --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/ArticleEnableOrDisable.java @@ -0,0 +1,12 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +@Data +public class ArticleEnableOrDisable { + @ApiParam(name = "id", value = "文章id", required = true) + String id; + @ApiParam(name = "isDisable", value = "是否禁用(0默认,0启用 1禁用)", required = true) + String isDisable; +} diff --git a/src/main/java/com/huoran/iasf/vo/req/ArticleTopOperation.java b/src/main/java/com/huoran/iasf/vo/req/ArticleTopOperation.java new file mode 100644 index 0000000..3fd9d80 --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/ArticleTopOperation.java @@ -0,0 +1,12 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +@Data +public class ArticleTopOperation { + @ApiParam(name = "isTop", value = "是否置顶(默认为0 不置顶 1为置顶)", required = true) + Integer isTop; + @ApiParam(name = "articleId", value = "文章Id", required = true) + Integer articleId; +} diff --git a/src/main/java/com/huoran/iasf/vo/req/CheckForHeavy.java b/src/main/java/com/huoran/iasf/vo/req/CheckForHeavy.java new file mode 100644 index 0000000..f5fd922 --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/CheckForHeavy.java @@ -0,0 +1,15 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; +import org.springframework.web.bind.annotation.RequestParam; +@Data +public class CheckForHeavy { + + @ApiParam(name = "siteId", value = "站点id", required = true) + Integer siteId; + @ApiParam(name = "classificationName", value = "分类名称", required = true) + String classificationName; + @ApiParam(name = "classificationId", value = "分类id(新增不传,编辑传)", required = false) + Integer classificationId; +} diff --git a/src/main/java/com/huoran/iasf/vo/req/LabelCheckForHeavy.java b/src/main/java/com/huoran/iasf/vo/req/LabelCheckForHeavy.java new file mode 100644 index 0000000..a219292 --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/LabelCheckForHeavy.java @@ -0,0 +1,16 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; +import org.springframework.web.bind.annotation.RequestParam; + +@Data +public class LabelCheckForHeavy { + + @ApiParam(name = "siteId", value = "站点id", required = true) + Integer siteId; + @ApiParam(name = "labelName", value = "标签名称", required = true) + String labelName; + @ApiParam(name = "labelId", value = "标签id(新增不传,编辑传)", required = false) + Integer labelId; +} diff --git a/src/main/java/com/huoran/iasf/vo/req/OneLevelChecksThemAll.java b/src/main/java/com/huoran/iasf/vo/req/OneLevelChecksThemAll.java new file mode 100644 index 0000000..eaba97a --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/OneLevelChecksThemAll.java @@ -0,0 +1,18 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; +import org.springframework.web.bind.annotation.RequestParam; + +@Data +public class OneLevelChecksThemAll { + + @ApiParam(name = "id", value = "栏目id", required = true) + Integer id; + + @ApiParam(name = "isSort", value = "判断是否为排序接口调用(1为排序接口调用 0我栏目管理列表调用)", required = true) + Integer isSort; + + @ApiParam(name = "ids", value = "主键", required = true) + Integer siteId; +} diff --git a/src/main/java/com/huoran/iasf/vo/req/SubLevelColumnsUnderALevel.java b/src/main/java/com/huoran/iasf/vo/req/SubLevelColumnsUnderALevel.java new file mode 100644 index 0000000..46fd8ce --- /dev/null +++ b/src/main/java/com/huoran/iasf/vo/req/SubLevelColumnsUnderALevel.java @@ -0,0 +1,13 @@ +package com.huoran.iasf.vo.req; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +@Data +public class SubLevelColumnsUnderALevel { + + @ApiParam(name = "id", value = "id", required = true) + Integer id; + @ApiParam(name = "siteId", value = "站点id", required = true) + Integer siteId; +} diff --git a/src/main/java/com/huoran/iasf/vo/resp/LoginRespVO.java b/src/main/java/com/huoran/iasf/vo/resp/LoginRespVO.java index 6f3fc69..46ee0b9 100644 --- a/src/main/java/com/huoran/iasf/vo/resp/LoginRespVO.java +++ b/src/main/java/com/huoran/iasf/vo/resp/LoginRespVO.java @@ -23,6 +23,7 @@ public class LoginRespVO { private Integer id; @ApiModelProperty(value = "电话") private String phone; + private boolean isStrong; @ApiModelProperty(value = "用户头像路径") private String userAvatars; @ApiModelProperty(value = "用户所拥有的菜单权限") diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 286bd26..5d259ad 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -6,8 +6,8 @@ spring: datasource: master: username: root -# password: 123456 - password: iasf#2022 + password: 123456 +# password: iasf#2022 # password: HuoRan@2021 driver-class-name: com.mysql.cj.jdbc.Driver # url: jdbc:mysql://127.0.0.1:3306/iasf?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8 @@ -37,7 +37,10 @@ file: path: C:/files/ #文件预览url url: /iasf/sysFiles/preview/ - ip: http://10.10.11.7 +# ip: http://10.10.11.7 + ip: https://new.iasf.ac.cn +#knife4j: +# production: true #生成环境禁用查看文档 #本地开启 # url: :10000/iasf/sysFiles/preview/ \ No newline at end of file diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 349b649..bef7ffb 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -8,12 +8,12 @@ spring: username: root password: HuoRan@2021 driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://139.9.47.170:3306/iasf?serverTimezone=GMT%2B8 + url: jdbc:mysql://139.9.47.170:3306/tmp_iasf?serverTimezone=GMT%2B8 cache: type: redis redis: host: 127.0.0.1 # Redis服务器地址 - database: 0 # Redis数据库索引(默认为0) + database: 1 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: HuoRan@2021 # Redis服务器连接密码(默认为空) jedis: @@ -30,10 +30,10 @@ singleServerConfig: file: #文件上传目录 绝对路径 末尾请加 / linux - path: /usr/local/huoran/huorantech_website/files/ + path: /usr/local/huoran/tmp_website/files/ #文件预览url url: /iasf/sysFiles/preview/ - ip: https://huorantech.com + ip: http://139.159.254.212 knife4j: production: true #生成环境禁用查看文档 \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index bdbfb99..885b97a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,6 +4,13 @@ server: servlet: context-path: /iasf +rsa: + encrypt: + timestampCheck: false #是否开启超过指定时间的数据认定为伪造 + open: true # 是否开启加密 true or false + showLog: true # 是否打印加解密log true or false + publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA08Nz0zscnWtddmaNylIPt9v5ZO6U6pYyGochRrbpI+ocwoyV4E1uUu3J9/mmR8pyMBcYzE5KkBytlaiLnd6dMqo4R60aihN/TqfuI/03LzgAS/egT/Q4VB9yZSyZCmJhrgTtSX5kxotAbewp0gqsWpi+6BUYDuiwJ0WNlhDVV4FOQIppmvHh0RqYDhjiPNAuy7fEtytT+IY4rxm6LggvmNtIq5k2oLbDxEeI1GOyFHT6sLGMkmBLmHu7JYcrlyUGyGWsxh8hVame1zQsScivrZu757BTGhN4xObTivIdAbR7uFeeX4lp0X1JNtIe9TwB/aZzKJjZMPXeV7BJ01g3MQIDAQAB + privateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDTw3PTOxyda112Zo3KUg+32/lk7pTqljIahyFGtukj6hzCjJXgTW5S7cn3+aZHynIwFxjMTkqQHK2VqIud3p0yqjhHrRqKE39Op+4j/TcvOABL96BP9DhUH3JlLJkKYmGuBO1JfmTGi0Bt7CnSCqxamL7oFRgO6LAnRY2WENVXgU5Aimma8eHRGpgOGOI80C7Lt8S3K1P4hjivGbouCC+Y20irmTagtsPER4jUY7IUdPqwsYySYEuYe7slhyuXJQbIZazGHyFVqZ7XNCxJyK+tm7vnsFMaE3jE5tOK8h0BtHu4V55fiWnRfUk20h71PAH9pnMomNkw9d5XsEnTWDcxAgMBAAECggEAUm5n3NbKycBsblV3ZkVRVwmq6A4zK6nxsP/fBS7YTCGqtlSRVvHtOxzTHNMyVgnJL00eWxEy1yxCqdolFvv8ByfZppUMmqkCSnT2L043OAs9mlS3M8hmUOC44AdfP3qSeXHziENKKTs1hlSC5v8+njmNPrxPVCZhw7fAaKT+1wOKE353QTNxacNua+dDx8zVO0xEznW+FKnYZ+ft2rHkiu1NkPRrWCpGHXZLXINT2FoQ7ECHkQUjD5IoRg2lvXNvjQPhs9BwnNsl3ODe/8PWbB0Lgtg9dLEmivyaNpTx/2Nl0QmFflIfp0rZs4SMnsJK56hQ8d5uhYbcpnn/gSbcAQKBgQD1gN/5oBxJAw2MVv3N8VcC/CWPHI4Er9vEVgrQSrO9QYBHSRX9/aoHmI4iK5opjHq6LYEt9JoGSdMPbRL2o16pkyZchuB/7Q5no9AD7iDSvvvt7qNqo2qkWpPA9pjodoWQaLAmC6M39ypNo3aSvrkuN11tOmU5bnaa94bofjoFcQKBgQDc0UgWiD0uTXSYCi1/GHCUuWi5X/HtsMS8Mz5SIln7x+X2rM0OECSQqYR4AGUZv81xh5mJetYDwJUvQXYGdaon8DP08VKD7uVEELF6SVf7woGVUSYxZdMss21cqksM3MXhyJ8QxO+eJSjGqwHf5AkB0KtMfnMKZqJIfXJsoVltwQKBgQDM3skJpSU1gIizznxqebWk1gn5zVhubNq2kx7fBxfLHXgRBNqHZEGZqSMjPMOfXI2mBAdC9FX8XWr1+o3SqC580EE5AY0i9A4LStZyESvu8lWGDpjsioaZtMSMSLz9cLqw8cvdU+TW9TmmJHz0pJggCy+50Ptb2+S6GUnJhlyg4QKBgDgiK4Uu1P60SfNsguxQNi5Yg7q8HTAjQ5/kFu+iM+XBh0AR5X6xs9niff5Te1/0VjGKGwnL5CPIDSSaK3qw5rSIZ2zY+/T2AeovpC5F/svNQkvG+UKNdAVlB2QLFlEKvnMLIQSOS6uUHq2CQ1O7EF8ZwLINYwk91fs/iJr82VMBAoGAEq3LN/LmOlB1OL6MaTTCEkvQq/wROt8poeLebycFcmZrsovR3MQKYuoY7IEjRw+ZvOauCJNM7mCpmeUVWAc3TPgWeQMzGALdb1X5u9xK8eq9WTutlSS/OSNGIYRJuSpO9efDdfoMHuR2Mleibs1yvxD4A2CXC10bSHE5huM07rY= spring: profiles: active: dev @@ -16,6 +23,13 @@ spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 + # 解决API 成批分配问题 + serialization: + # 某些类对象无法序列化的时候,是否报错 + fail_on_empty_beans: true + deserialization: + # json对象中有不存在的属性时候,是否报错 + fail_on_unknown_properties: true # 文件大小限制 servlet: multipart: diff --git a/src/test/java/com/company/project/CodeGenerator.java b/src/test/java/com/company/project/CodeGenerator.java index b738510..ee39259 100644 --- a/src/test/java/com/company/project/CodeGenerator.java +++ b/src/test/java/com/company/project/CodeGenerator.java @@ -41,10 +41,10 @@ public class CodeGenerator { // 3、数据源配置 DataSourceConfig dsc = new DataSourceConfig(); - dsc.setUrl("jdbc:mysql://192.168.31.136:3306/iasf?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8"); + dsc.setUrl("jdbc:mysql://139.9.47.170:3306/iasf?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); - dsc.setPassword("123456"); + dsc.setPassword("HuoRan@2021"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); @@ -61,9 +61,9 @@ public class CodeGenerator { // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); - strategy.setInclude("sys_template_style_configuration"); + strategy.setInclude("sys_seo"); strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 -// strategy.setTablePrefix("sys_"); //生成实体时去掉表前缀 + strategy.setTablePrefix("sys_"); //生成实体时去掉表前缀 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略 strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作 diff --git a/target/classes/META-INF/spring-configuration-metadata.json b/target/classes/META-INF/spring-configuration-metadata.json new file mode 100644 index 0000000..4f6775d --- /dev/null +++ b/target/classes/META-INF/spring-configuration-metadata.json @@ -0,0 +1,67 @@ +{ + "groups": [ + { + "name": "file", + "type": "com.huoran.iasf.common.config.FileUploadProperties", + "sourceType": "com.huoran.iasf.common.config.FileUploadProperties" + }, + { + "name": "rsa.encrypt", + "type": "com.huoran.iasf.common.config.SecretKeyConfig", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig" + } + ], + "properties": [ + { + "name": "file.ip", + "type": "java.lang.String", + "sourceType": "com.huoran.iasf.common.config.FileUploadProperties" + }, + { + "name": "file.path", + "type": "java.lang.String", + "sourceType": "com.huoran.iasf.common.config.FileUploadProperties" + }, + { + "name": "file.url", + "type": "java.lang.String", + "sourceType": "com.huoran.iasf.common.config.FileUploadProperties" + }, + { + "name": "rsa.encrypt.charset", + "type": "java.lang.String", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig", + "defaultValue": "UTF-8" + }, + { + "name": "rsa.encrypt.open", + "type": "java.lang.Boolean", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig", + "defaultValue": true + }, + { + "name": "rsa.encrypt.private-key", + "type": "java.lang.String", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig" + }, + { + "name": "rsa.encrypt.public-key", + "type": "java.lang.String", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig" + }, + { + "name": "rsa.encrypt.show-log", + "type": "java.lang.Boolean", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig", + "defaultValue": false + }, + { + "name": "rsa.encrypt.timestamp-check", + "type": "java.lang.Boolean", + "description": "请求数据时间戳校验时间差 超过指定时间的数据认定为伪造", + "sourceType": "com.huoran.iasf.common.config.SecretKeyConfig", + "defaultValue": false + } + ], + "hints": [] +} \ No newline at end of file diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml new file mode 100644 index 0000000..5d259ad --- /dev/null +++ b/target/classes/application-dev.yml @@ -0,0 +1,46 @@ +# 开发环境配置 +spring: + datasource: + dynamic: + primary: master #设置默认的数据源或者数据源组,默认值即为master + datasource: + master: + username: root + password: 123456 +# password: iasf#2022 +# password: HuoRan@2021 + driver-class-name: com.mysql.cj.jdbc.Driver +# url: jdbc:mysql://127.0.0.1:3306/iasf?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8 + url: jdbc:mysql://192.168.31.136:3306/iasf?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8 +# url: jdbc:mysql://139.9.47.170:3306/iasf?serverTimezone=GMT%2B8 + cache: + type: redis + redis: + host: 127.0.0.1 # Redis服务器地址 + database: 0 # Redis数据库索引(默认为0) + port: 6379 # Redis服务器连接端口 + password: # Redis服务器连接密码(默认为空) + jedis: + pool: + max-active: 8 # 连接池最大连接数(使用负值表示没有限制) + max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-idle: 8 # 连接池中的最大空闲连接 + min-idle: 0 # 连接池中的最小空闲连接 + timeout: 3000ms # 连接超时时间(毫秒) + +singleServerConfig: + address: "redis://127.0.0.1:6379" + password: + +file: + #文件上传目录 绝对路径 末尾请加 / windows + path: C:/files/ + #文件预览url + url: /iasf/sysFiles/preview/ +# ip: http://10.10.11.7 + ip: https://new.iasf.ac.cn +#knife4j: +# production: true #生成环境禁用查看文档 + + #本地开启 +# url: :10000/iasf/sysFiles/preview/ \ No newline at end of file diff --git a/target/classes/application-prod.yml b/target/classes/application-prod.yml new file mode 100644 index 0000000..bef7ffb --- /dev/null +++ b/target/classes/application-prod.yml @@ -0,0 +1,39 @@ +# 生产环境配置 +spring: + datasource: + dynamic: + primary: master #设置默认的数据源或者数据源组,默认值即为master + datasource: + master: + username: root + password: HuoRan@2021 + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://139.9.47.170:3306/tmp_iasf?serverTimezone=GMT%2B8 + cache: + type: redis + redis: + host: 127.0.0.1 # Redis服务器地址 + database: 1 # Redis数据库索引(默认为0) + port: 6379 # Redis服务器连接端口 + password: HuoRan@2021 # Redis服务器连接密码(默认为空) + jedis: + pool: + max-active: 8 # 连接池最大连接数(使用负值表示没有限制) + max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-idle: 8 # 连接池中的最大空闲连接 + min-idle: 0 # 连接池中的最小空闲连接 + timeout: 3000ms # 连接超时时间(毫秒) + +singleServerConfig: + address: "redis://127.0.0.1:6379" + password: HuoRan@2021 + +file: + #文件上传目录 绝对路径 末尾请加 / linux + path: /usr/local/huoran/tmp_website/files/ + #文件预览url + url: /iasf/sysFiles/preview/ + ip: http://139.159.254.212 + +knife4j: + production: true #生成环境禁用查看文档 \ No newline at end of file diff --git a/target/classes/application-test.yml b/target/classes/application-test.yml new file mode 100644 index 0000000..c2d41ef --- /dev/null +++ b/target/classes/application-test.yml @@ -0,0 +1,30 @@ +# 开发环境配置 +spring: + datasource: + dynamic: + primary: master #设置默认的数据源或者数据源组,默认值即为master + datasource: + master: + username: root + password: HuoRan@2021 + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://139.9.47.170:3306/iasf?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8 + redis: + host: localhost # Redis服务器地址 + database: 0 # Redis数据库索引(默认为0) + port: 6379 # Redis服务器连接端口 + password: # Redis服务器连接密码(默认为空) + jedis: + pool: + max-active: 8 # 连接池最大连接数(使用负值表示没有限制) + max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-idle: 8 # 连接池中的最大空闲连接 + min-idle: 0 # 连接池中的最小空闲连接 + timeout: 3000ms # 连接超时时间(毫秒 + +file: + #文件上传目录 绝对路径 末尾请加 / + path: D:/files/ #windows + #path: /data/files/ #linux + #文件预览、下载的url, 末尾请勿加 / + url: :10000/iasf/sysFiles/preview/ diff --git a/target/classes/application.yml b/target/classes/application.yml new file mode 100644 index 0000000..885b97a --- /dev/null +++ b/target/classes/application.yml @@ -0,0 +1,59 @@ +# 端口 +server: + port: 10000 + servlet: + context-path: /iasf + +rsa: + encrypt: + timestampCheck: false #是否开启超过指定时间的数据认定为伪造 + open: true # 是否开启加密 true or false + showLog: true # 是否打印加解密log true or false + publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA08Nz0zscnWtddmaNylIPt9v5ZO6U6pYyGochRrbpI+ocwoyV4E1uUu3J9/mmR8pyMBcYzE5KkBytlaiLnd6dMqo4R60aihN/TqfuI/03LzgAS/egT/Q4VB9yZSyZCmJhrgTtSX5kxotAbewp0gqsWpi+6BUYDuiwJ0WNlhDVV4FOQIppmvHh0RqYDhjiPNAuy7fEtytT+IY4rxm6LggvmNtIq5k2oLbDxEeI1GOyFHT6sLGMkmBLmHu7JYcrlyUGyGWsxh8hVame1zQsScivrZu757BTGhN4xObTivIdAbR7uFeeX4lp0X1JNtIe9TwB/aZzKJjZMPXeV7BJ01g3MQIDAQAB + privateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDTw3PTOxyda112Zo3KUg+32/lk7pTqljIahyFGtukj6hzCjJXgTW5S7cn3+aZHynIwFxjMTkqQHK2VqIud3p0yqjhHrRqKE39Op+4j/TcvOABL96BP9DhUH3JlLJkKYmGuBO1JfmTGi0Bt7CnSCqxamL7oFRgO6LAnRY2WENVXgU5Aimma8eHRGpgOGOI80C7Lt8S3K1P4hjivGbouCC+Y20irmTagtsPER4jUY7IUdPqwsYySYEuYe7slhyuXJQbIZazGHyFVqZ7XNCxJyK+tm7vnsFMaE3jE5tOK8h0BtHu4V55fiWnRfUk20h71PAH9pnMomNkw9d5XsEnTWDcxAgMBAAECggEAUm5n3NbKycBsblV3ZkVRVwmq6A4zK6nxsP/fBS7YTCGqtlSRVvHtOxzTHNMyVgnJL00eWxEy1yxCqdolFvv8ByfZppUMmqkCSnT2L043OAs9mlS3M8hmUOC44AdfP3qSeXHziENKKTs1hlSC5v8+njmNPrxPVCZhw7fAaKT+1wOKE353QTNxacNua+dDx8zVO0xEznW+FKnYZ+ft2rHkiu1NkPRrWCpGHXZLXINT2FoQ7ECHkQUjD5IoRg2lvXNvjQPhs9BwnNsl3ODe/8PWbB0Lgtg9dLEmivyaNpTx/2Nl0QmFflIfp0rZs4SMnsJK56hQ8d5uhYbcpnn/gSbcAQKBgQD1gN/5oBxJAw2MVv3N8VcC/CWPHI4Er9vEVgrQSrO9QYBHSRX9/aoHmI4iK5opjHq6LYEt9JoGSdMPbRL2o16pkyZchuB/7Q5no9AD7iDSvvvt7qNqo2qkWpPA9pjodoWQaLAmC6M39ypNo3aSvrkuN11tOmU5bnaa94bofjoFcQKBgQDc0UgWiD0uTXSYCi1/GHCUuWi5X/HtsMS8Mz5SIln7x+X2rM0OECSQqYR4AGUZv81xh5mJetYDwJUvQXYGdaon8DP08VKD7uVEELF6SVf7woGVUSYxZdMss21cqksM3MXhyJ8QxO+eJSjGqwHf5AkB0KtMfnMKZqJIfXJsoVltwQKBgQDM3skJpSU1gIizznxqebWk1gn5zVhubNq2kx7fBxfLHXgRBNqHZEGZqSMjPMOfXI2mBAdC9FX8XWr1+o3SqC580EE5AY0i9A4LStZyESvu8lWGDpjsioaZtMSMSLz9cLqw8cvdU+TW9TmmJHz0pJggCy+50Ptb2+S6GUnJhlyg4QKBgDgiK4Uu1P60SfNsguxQNi5Yg7q8HTAjQ5/kFu+iM+XBh0AR5X6xs9niff5Te1/0VjGKGwnL5CPIDSSaK3qw5rSIZ2zY+/T2AeovpC5F/svNQkvG+UKNdAVlB2QLFlEKvnMLIQSOS6uUHq2CQ1O7EF8ZwLINYwk91fs/iJr82VMBAoGAEq3LN/LmOlB1OL6MaTTCEkvQq/wROt8poeLebycFcmZrsovR3MQKYuoY7IEjRw+ZvOauCJNM7mCpmeUVWAc3TPgWeQMzGALdb1X5u9xK8eq9WTutlSS/OSNGIYRJuSpO9efDdfoMHuR2Mleibs1yvxD4A2CXC10bSHE5huM07rY= +spring: + profiles: + active: dev + mvc: + throw-exception-if-no-handler-found: true + resources: + add-mappings: false + application: + name: iasf + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + # 解决API 成批分配问题 + serialization: + # 某些类对象无法序列化的时候,是否报错 + fail_on_empty_beans: true + deserialization: + # json对象中有不存在的属性时候,是否报错 + fail_on_unknown_properties: true + # 文件大小限制 + servlet: + multipart: + max-file-size: 100MB + max-request-size: 100MB + # redis token信息 + redis: + key: + prefix: + userToken: "user:token:" + passwordError: "user:password:error:" + permissionRefresh: "user:token:permissionRefresh:" + expire: + userToken: 86400 # 1天 7*24*3600 + passwordError: 360000 # 一个小时 + permissionRefresh: 86400 # 1天 7*24*3600 + allowMultipleLogin: true # 允许多处登陆 + +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/huoran/iasf/mapper/xml/*.xml + global-config: + db-config: + logic-delete-value: 0 + logic-not-delete-value: 1 + logic-delete-field: deleted diff --git a/target/classes/com/huoran/iasf/IASFApplication.class b/target/classes/com/huoran/iasf/IASFApplication.class new file mode 100644 index 0000000..9b6e637 Binary files /dev/null and b/target/classes/com/huoran/iasf/IASFApplication.class differ diff --git a/target/classes/com/huoran/iasf/common/advice/DecryptHttpInputMessage.class b/target/classes/com/huoran/iasf/common/advice/DecryptHttpInputMessage.class new file mode 100644 index 0000000..819c09a Binary files /dev/null and b/target/classes/com/huoran/iasf/common/advice/DecryptHttpInputMessage.class differ diff --git a/target/classes/com/huoran/iasf/common/advice/EncryptRequestBodyAdvice.class b/target/classes/com/huoran/iasf/common/advice/EncryptRequestBodyAdvice.class new file mode 100644 index 0000000..90dc0b6 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/advice/EncryptRequestBodyAdvice.class differ diff --git a/target/classes/com/huoran/iasf/common/advice/EncryptResponseBodyAdvice.class b/target/classes/com/huoran/iasf/common/advice/EncryptResponseBodyAdvice.class new file mode 100644 index 0000000..1ea68eb Binary files /dev/null and b/target/classes/com/huoran/iasf/common/advice/EncryptResponseBodyAdvice.class differ diff --git a/target/classes/com/huoran/iasf/common/annotation/Decrypt.class b/target/classes/com/huoran/iasf/common/annotation/Decrypt.class new file mode 100644 index 0000000..28d9543 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/annotation/Decrypt.class differ diff --git a/target/classes/com/huoran/iasf/common/annotation/EnableSecurity.class b/target/classes/com/huoran/iasf/common/annotation/EnableSecurity.class new file mode 100644 index 0000000..227db99 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/annotation/EnableSecurity.class differ diff --git a/target/classes/com/huoran/iasf/common/annotation/Encrypt.class b/target/classes/com/huoran/iasf/common/annotation/Encrypt.class new file mode 100644 index 0000000..d0d261f Binary files /dev/null and b/target/classes/com/huoran/iasf/common/annotation/Encrypt.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/annotation/DataScope.class b/target/classes/com/huoran/iasf/common/aop/annotation/DataScope.class new file mode 100644 index 0000000..5b6444e Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/annotation/DataScope.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/annotation/LogAnnotation.class b/target/classes/com/huoran/iasf/common/aop/annotation/LogAnnotation.class new file mode 100644 index 0000000..fc202db Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/annotation/LogAnnotation.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/annotation/NoRepeatSubmit.class b/target/classes/com/huoran/iasf/common/aop/annotation/NoRepeatSubmit.class new file mode 100644 index 0000000..aebfdac Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/annotation/NoRepeatSubmit.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/aspect/DataScopeAspect.class b/target/classes/com/huoran/iasf/common/aop/aspect/DataScopeAspect.class new file mode 100644 index 0000000..543847a Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/aspect/DataScopeAspect.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/aspect/NoRepeatSubmitAop.class b/target/classes/com/huoran/iasf/common/aop/aspect/NoRepeatSubmitAop.class new file mode 100644 index 0000000..ed4c3b6 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/aspect/NoRepeatSubmitAop.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/aspect/RedisServiceAop.class b/target/classes/com/huoran/iasf/common/aop/aspect/RedisServiceAop.class new file mode 100644 index 0000000..a8d3788 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/aspect/RedisServiceAop.class differ diff --git a/target/classes/com/huoran/iasf/common/aop/aspect/SysLogAspect.class b/target/classes/com/huoran/iasf/common/aop/aspect/SysLogAspect.class new file mode 100644 index 0000000..976c938 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/aop/aspect/SysLogAspect.class differ diff --git a/target/classes/com/huoran/iasf/common/config/FileUploadProperties.class b/target/classes/com/huoran/iasf/common/config/FileUploadProperties.class new file mode 100644 index 0000000..0bd2eee Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/FileUploadProperties.class differ diff --git a/target/classes/com/huoran/iasf/common/config/MetaObjectHandlerConfig.class b/target/classes/com/huoran/iasf/common/config/MetaObjectHandlerConfig.class new file mode 100644 index 0000000..36d5ef3 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/MetaObjectHandlerConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/config/MyBatisPlusConfig.class b/target/classes/com/huoran/iasf/common/config/MyBatisPlusConfig.class new file mode 100644 index 0000000..ef97f4b Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/MyBatisPlusConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/config/MyCacheConfig.class b/target/classes/com/huoran/iasf/common/config/MyCacheConfig.class new file mode 100644 index 0000000..75b1a86 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/MyCacheConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/config/MyThreadConfig.class b/target/classes/com/huoran/iasf/common/config/MyThreadConfig.class new file mode 100644 index 0000000..30dbabf Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/MyThreadConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/config/NonStaticResourceHttpRequestConfig.class b/target/classes/com/huoran/iasf/common/config/NonStaticResourceHttpRequestConfig.class new file mode 100644 index 0000000..2c0c12b Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/NonStaticResourceHttpRequestConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/config/SecretKeyConfig.class b/target/classes/com/huoran/iasf/common/config/SecretKeyConfig.class new file mode 100644 index 0000000..3b6d20f Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/SecretKeyConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/config/SwaggerConfiguration.class b/target/classes/com/huoran/iasf/common/config/SwaggerConfiguration.class new file mode 100644 index 0000000..3704276 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/SwaggerConfiguration.class differ diff --git a/target/classes/com/huoran/iasf/common/config/WebMvcConfigurer.class b/target/classes/com/huoran/iasf/common/config/WebMvcConfigurer.class new file mode 100644 index 0000000..6ff5de0 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/config/WebMvcConfigurer.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/BusinessException.class b/target/classes/com/huoran/iasf/common/exception/BusinessException.class new file mode 100644 index 0000000..f7344a3 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/BusinessException.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/EncryptRequestException.class b/target/classes/com/huoran/iasf/common/exception/EncryptRequestException.class new file mode 100644 index 0000000..e9fc028 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/EncryptRequestException.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/NotFoundException.class b/target/classes/com/huoran/iasf/common/exception/NotFoundException.class new file mode 100644 index 0000000..c29507c Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/NotFoundException.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/UnauthorizedException.class b/target/classes/com/huoran/iasf/common/exception/UnauthorizedException.class new file mode 100644 index 0000000..7848332 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/UnauthorizedException.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/code/BaseResponseCode.class b/target/classes/com/huoran/iasf/common/exception/code/BaseResponseCode.class new file mode 100644 index 0000000..cf9b2ad Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/code/BaseResponseCode.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/code/ResponseCodeInterface.class b/target/classes/com/huoran/iasf/common/exception/code/ResponseCodeInterface.class new file mode 100644 index 0000000..ed370ad Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/code/ResponseCodeInterface.class differ diff --git a/target/classes/com/huoran/iasf/common/exception/handler/RestExceptionHandler.class b/target/classes/com/huoran/iasf/common/exception/handler/RestExceptionHandler.class new file mode 100644 index 0000000..1ba5e68 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/exception/handler/RestExceptionHandler.class differ diff --git a/target/classes/com/huoran/iasf/common/filter/AuthFilter.class b/target/classes/com/huoran/iasf/common/filter/AuthFilter.class new file mode 100644 index 0000000..197006b Binary files /dev/null and b/target/classes/com/huoran/iasf/common/filter/AuthFilter.class differ diff --git a/target/classes/com/huoran/iasf/common/filter/XSSFilter.class b/target/classes/com/huoran/iasf/common/filter/XSSFilter.class new file mode 100644 index 0000000..0e66997 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/filter/XSSFilter.class differ diff --git a/target/classes/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper$1.class b/target/classes/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper$1.class new file mode 100644 index 0000000..f0a4399 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper$1.class differ diff --git a/target/classes/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper.class b/target/classes/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper.class new file mode 100644 index 0000000..3c4a29a Binary files /dev/null and b/target/classes/com/huoran/iasf/common/filter/XssHttpServletRequestWrapper.class differ diff --git a/target/classes/com/huoran/iasf/common/job/task/TestTask.class b/target/classes/com/huoran/iasf/common/job/task/TestTask.class new file mode 100644 index 0000000..c55dac2 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/job/task/TestTask.class differ diff --git a/target/classes/com/huoran/iasf/common/shiro/CustomAccessControlFilter.class b/target/classes/com/huoran/iasf/common/shiro/CustomAccessControlFilter.class new file mode 100644 index 0000000..5f9925e Binary files /dev/null and b/target/classes/com/huoran/iasf/common/shiro/CustomAccessControlFilter.class differ diff --git a/target/classes/com/huoran/iasf/common/shiro/CustomHashedCredentialsMatcher.class b/target/classes/com/huoran/iasf/common/shiro/CustomHashedCredentialsMatcher.class new file mode 100644 index 0000000..84c6a07 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/shiro/CustomHashedCredentialsMatcher.class differ diff --git a/target/classes/com/huoran/iasf/common/shiro/CustomRealm.class b/target/classes/com/huoran/iasf/common/shiro/CustomRealm.class new file mode 100644 index 0000000..7482ee9 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/shiro/CustomRealm.class differ diff --git a/target/classes/com/huoran/iasf/common/shiro/ShiroConfig.class b/target/classes/com/huoran/iasf/common/shiro/ShiroConfig.class new file mode 100644 index 0000000..fc53323 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/shiro/ShiroConfig.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/Base64Util.class b/target/classes/com/huoran/iasf/common/utils/Base64Util.class new file mode 100644 index 0000000..281635c Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/Base64Util.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/Constant.class b/target/classes/com/huoran/iasf/common/utils/Constant.class new file mode 100644 index 0000000..0711f6c Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/Constant.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/DateUtils.class b/target/classes/com/huoran/iasf/common/utils/DateUtils.class new file mode 100644 index 0000000..49115a2 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/DateUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/EmailUtils.class b/target/classes/com/huoran/iasf/common/utils/EmailUtils.class new file mode 100644 index 0000000..e5eeffd Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/EmailUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/ExcelAttribute.class b/target/classes/com/huoran/iasf/common/utils/ExcelAttribute.class new file mode 100644 index 0000000..9878230 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/ExcelAttribute.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/ExcelImportHelper.class b/target/classes/com/huoran/iasf/common/utils/ExcelImportHelper.class new file mode 100644 index 0000000..1149855 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/ExcelImportHelper.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/ExcelStyleUtil.class b/target/classes/com/huoran/iasf/common/utils/ExcelStyleUtil.class new file mode 100644 index 0000000..8167a86 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/ExcelStyleUtil.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/GenUtils.class b/target/classes/com/huoran/iasf/common/utils/GenUtils.class new file mode 100644 index 0000000..4b85267 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/GenUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/HttpContextUtils.class b/target/classes/com/huoran/iasf/common/utils/HttpContextUtils.class new file mode 100644 index 0000000..789c5ce Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/HttpContextUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/IPUtils.class b/target/classes/com/huoran/iasf/common/utils/IPUtils.class new file mode 100644 index 0000000..888c57b Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/IPUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/JsonUtils.class b/target/classes/com/huoran/iasf/common/utils/JsonUtils.class new file mode 100644 index 0000000..ed7c09a Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/JsonUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$1.class b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$1.class new file mode 100644 index 0000000..25371d2 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$1.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$2.class b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$2.class new file mode 100644 index 0000000..a3a2524 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$2.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$ICallBack.class b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$ICallBack.class new file mode 100644 index 0000000..1b90ed8 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils$ICallBack.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/OkHttpUtils.class b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils.class new file mode 100644 index 0000000..b9fc800 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/OkHttpUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/PasswordEncoder.class b/target/classes/com/huoran/iasf/common/utils/PasswordEncoder.class new file mode 100644 index 0000000..b96b5d0 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/PasswordEncoder.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/PasswordUtils.class b/target/classes/com/huoran/iasf/common/utils/PasswordUtils.class new file mode 100644 index 0000000..6b5198a Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/PasswordUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/R.class b/target/classes/com/huoran/iasf/common/utils/R.class new file mode 100644 index 0000000..3af304d Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/R.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/RSAUtil.class b/target/classes/com/huoran/iasf/common/utils/RSAUtil.class new file mode 100644 index 0000000..2efad62 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/RSAUtil.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/RandomUtil.class b/target/classes/com/huoran/iasf/common/utils/RandomUtil.class new file mode 100644 index 0000000..26d5c7b Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/RandomUtil.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/SMSTemplate.class b/target/classes/com/huoran/iasf/common/utils/SMSTemplate.class new file mode 100644 index 0000000..99fb3bb Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/SMSTemplate.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/SendSMSUtils.class b/target/classes/com/huoran/iasf/common/utils/SendSMSUtils.class new file mode 100644 index 0000000..c85a399 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/SendSMSUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/SpringContextUtils.class b/target/classes/com/huoran/iasf/common/utils/SpringContextUtils.class new file mode 100644 index 0000000..e18b8f2 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/SpringContextUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/TreeStructureUtils.class b/target/classes/com/huoran/iasf/common/utils/TreeStructureUtils.class new file mode 100644 index 0000000..f54e181 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/TreeStructureUtils.class differ diff --git a/target/classes/com/huoran/iasf/common/utils/fileUploadUtils.class b/target/classes/com/huoran/iasf/common/utils/fileUploadUtils.class new file mode 100644 index 0000000..b6a7035 Binary files /dev/null and b/target/classes/com/huoran/iasf/common/utils/fileUploadUtils.class differ diff --git a/target/classes/com/huoran/iasf/controller/CaptchaController.class b/target/classes/com/huoran/iasf/controller/CaptchaController.class new file mode 100644 index 0000000..a522690 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/CaptchaController.class differ diff --git a/target/classes/com/huoran/iasf/controller/DeptController.class b/target/classes/com/huoran/iasf/controller/DeptController.class new file mode 100644 index 0000000..a66f38f Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/DeptController.class differ diff --git a/target/classes/com/huoran/iasf/controller/ExceptionController.class b/target/classes/com/huoran/iasf/controller/ExceptionController.class new file mode 100644 index 0000000..05a098e Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/ExceptionController.class differ diff --git a/target/classes/com/huoran/iasf/controller/PermissionController.class b/target/classes/com/huoran/iasf/controller/PermissionController.class new file mode 100644 index 0000000..729aa56 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/PermissionController.class differ diff --git a/target/classes/com/huoran/iasf/controller/RoleController.class b/target/classes/com/huoran/iasf/controller/RoleController.class new file mode 100644 index 0000000..d67beb7 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/RoleController.class differ diff --git a/target/classes/com/huoran/iasf/controller/RolePermissionController.class b/target/classes/com/huoran/iasf/controller/RolePermissionController.class new file mode 100644 index 0000000..e21a9b4 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/RolePermissionController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SeoController.class b/target/classes/com/huoran/iasf/controller/SeoController.class new file mode 100644 index 0000000..2d7abe0 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SeoController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SiteController.class b/target/classes/com/huoran/iasf/controller/SiteController.class new file mode 100644 index 0000000..ccc8ae9 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SiteController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysColumnController.class b/target/classes/com/huoran/iasf/controller/SysColumnController.class new file mode 100644 index 0000000..0144213 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysColumnController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysColumnLongPageController.class b/target/classes/com/huoran/iasf/controller/SysColumnLongPageController.class new file mode 100644 index 0000000..1f9840b Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysColumnLongPageController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysContentClassificationController.class b/target/classes/com/huoran/iasf/controller/SysContentClassificationController.class new file mode 100644 index 0000000..99a53c7 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysContentClassificationController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysContentController.class b/target/classes/com/huoran/iasf/controller/SysContentController.class new file mode 100644 index 0000000..c166f8a Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysContentController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysContentFileController.class b/target/classes/com/huoran/iasf/controller/SysContentFileController.class new file mode 100644 index 0000000..8bf5df5 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysContentFileController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysContentLabelController.class b/target/classes/com/huoran/iasf/controller/SysContentLabelController.class new file mode 100644 index 0000000..59babc1 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysContentLabelController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysFilesController.class b/target/classes/com/huoran/iasf/controller/SysFilesController.class new file mode 100644 index 0000000..af24be2 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysFilesController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysLogController.class b/target/classes/com/huoran/iasf/controller/SysLogController.class new file mode 100644 index 0000000..f038773 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysLogController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysNavigationStyleController.class b/target/classes/com/huoran/iasf/controller/SysNavigationStyleController.class new file mode 100644 index 0000000..35dda69 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysNavigationStyleController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysPageManagementController.class b/target/classes/com/huoran/iasf/controller/SysPageManagementController.class new file mode 100644 index 0000000..de9ba09 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysPageManagementController.class differ diff --git a/target/classes/com/huoran/iasf/controller/SysTemplateController.class b/target/classes/com/huoran/iasf/controller/SysTemplateController.class new file mode 100644 index 0000000..2025d25 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/SysTemplateController.class differ diff --git a/target/classes/com/huoran/iasf/controller/UserController.class b/target/classes/com/huoran/iasf/controller/UserController.class new file mode 100644 index 0000000..f1a94c8 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/UserController.class differ diff --git a/target/classes/com/huoran/iasf/controller/UserDeptController.class b/target/classes/com/huoran/iasf/controller/UserDeptController.class new file mode 100644 index 0000000..92e0e41 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/UserDeptController.class differ diff --git a/target/classes/com/huoran/iasf/controller/UserGroupController.class b/target/classes/com/huoran/iasf/controller/UserGroupController.class new file mode 100644 index 0000000..e6fbe37 Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/UserGroupController.class differ diff --git a/target/classes/com/huoran/iasf/controller/UserRoleController.class b/target/classes/com/huoran/iasf/controller/UserRoleController.class new file mode 100644 index 0000000..1356daf Binary files /dev/null and b/target/classes/com/huoran/iasf/controller/UserRoleController.class differ diff --git a/target/classes/com/huoran/iasf/entity/BaseEntity.class b/target/classes/com/huoran/iasf/entity/BaseEntity.class new file mode 100644 index 0000000..6844344 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/BaseEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/ColumnEntity.class b/target/classes/com/huoran/iasf/entity/ColumnEntity.class new file mode 100644 index 0000000..0f081d5 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/ColumnEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/Seo.class b/target/classes/com/huoran/iasf/entity/Seo.class new file mode 100644 index 0000000..892fff4 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/Seo.class differ diff --git a/target/classes/com/huoran/iasf/entity/Site.class b/target/classes/com/huoran/iasf/entity/Site.class new file mode 100644 index 0000000..9343ded Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/Site.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysColumn.class b/target/classes/com/huoran/iasf/entity/SysColumn.class new file mode 100644 index 0000000..8734ae5 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysColumn.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysColumnLongPage.class b/target/classes/com/huoran/iasf/entity/SysColumnLongPage.class new file mode 100644 index 0000000..9c10ca7 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysColumnLongPage.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysContent.class b/target/classes/com/huoran/iasf/entity/SysContent.class new file mode 100644 index 0000000..d543193 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysContent.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysContentClassification.class b/target/classes/com/huoran/iasf/entity/SysContentClassification.class new file mode 100644 index 0000000..5536be0 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysContentClassification.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysContentFile.class b/target/classes/com/huoran/iasf/entity/SysContentFile.class new file mode 100644 index 0000000..e4298b9 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysContentFile.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysContentLabel.class b/target/classes/com/huoran/iasf/entity/SysContentLabel.class new file mode 100644 index 0000000..1d1393d Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysContentLabel.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysDept.class b/target/classes/com/huoran/iasf/entity/SysDept.class new file mode 100644 index 0000000..0b8dc41 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysDept.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysDictDetailEntity.class b/target/classes/com/huoran/iasf/entity/SysDictDetailEntity.class new file mode 100644 index 0000000..4ead2db Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysDictDetailEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysDictEntity.class b/target/classes/com/huoran/iasf/entity/SysDictEntity.class new file mode 100644 index 0000000..d1e87e0 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysDictEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysFilesEntity.class b/target/classes/com/huoran/iasf/entity/SysFilesEntity.class new file mode 100644 index 0000000..63db1e2 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysFilesEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysGenerator.class b/target/classes/com/huoran/iasf/entity/SysGenerator.class new file mode 100644 index 0000000..9564a67 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysGenerator.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysJobEntity.class b/target/classes/com/huoran/iasf/entity/SysJobEntity.class new file mode 100644 index 0000000..fb34afb Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysJobEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysJobLogEntity.class b/target/classes/com/huoran/iasf/entity/SysJobLogEntity.class new file mode 100644 index 0000000..2d4f126 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysJobLogEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysLog.class b/target/classes/com/huoran/iasf/entity/SysLog.class new file mode 100644 index 0000000..9312289 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysLog.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysNavigationStyle.class b/target/classes/com/huoran/iasf/entity/SysNavigationStyle.class new file mode 100644 index 0000000..e71aef0 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysNavigationStyle.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysPermission.class b/target/classes/com/huoran/iasf/entity/SysPermission.class new file mode 100644 index 0000000..5511ede Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysPermission.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysRole.class b/target/classes/com/huoran/iasf/entity/SysRole.class new file mode 100644 index 0000000..b65ee4e Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysRole.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysRolePermission.class b/target/classes/com/huoran/iasf/entity/SysRolePermission.class new file mode 100644 index 0000000..d13c501 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysRolePermission.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysTemplate.class b/target/classes/com/huoran/iasf/entity/SysTemplate.class new file mode 100644 index 0000000..fe8ea76 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysTemplate.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysTemplateStyle.class b/target/classes/com/huoran/iasf/entity/SysTemplateStyle.class new file mode 100644 index 0000000..7bb3140 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysTemplateStyle.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysTemplateStyleConfiguration.class b/target/classes/com/huoran/iasf/entity/SysTemplateStyleConfiguration.class new file mode 100644 index 0000000..d3b5eeb Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysTemplateStyleConfiguration.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysUser.class b/target/classes/com/huoran/iasf/entity/SysUser.class new file mode 100644 index 0000000..e0f1bee Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysUser.class differ diff --git a/target/classes/com/huoran/iasf/entity/SysUserRole.class b/target/classes/com/huoran/iasf/entity/SysUserRole.class new file mode 100644 index 0000000..e7c023b Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/SysUserRole.class differ diff --git a/target/classes/com/huoran/iasf/entity/TableEntity.class b/target/classes/com/huoran/iasf/entity/TableEntity.class new file mode 100644 index 0000000..16cb21f Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/TableEntity.class differ diff --git a/target/classes/com/huoran/iasf/entity/UserDept.class b/target/classes/com/huoran/iasf/entity/UserDept.class new file mode 100644 index 0000000..6fd474f Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/UserDept.class differ diff --git a/target/classes/com/huoran/iasf/entity/UserGroup.class b/target/classes/com/huoran/iasf/entity/UserGroup.class new file mode 100644 index 0000000..ca75187 Binary files /dev/null and b/target/classes/com/huoran/iasf/entity/UserGroup.class differ diff --git a/target/classes/com/huoran/iasf/mapper/GeneratorMapper.class b/target/classes/com/huoran/iasf/mapper/GeneratorMapper.class new file mode 100644 index 0000000..8475f73 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/GeneratorMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SeoMapper.class b/target/classes/com/huoran/iasf/mapper/SeoMapper.class new file mode 100644 index 0000000..a7e4675 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SeoMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SiteMapper.class b/target/classes/com/huoran/iasf/mapper/SiteMapper.class new file mode 100644 index 0000000..8162050 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SiteMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysColumnLongPageMapper.class b/target/classes/com/huoran/iasf/mapper/SysColumnLongPageMapper.class new file mode 100644 index 0000000..5f87380 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysColumnLongPageMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysColumnMapper.class b/target/classes/com/huoran/iasf/mapper/SysColumnMapper.class new file mode 100644 index 0000000..20fcb86 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysColumnMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysContentClassificationMapper.class b/target/classes/com/huoran/iasf/mapper/SysContentClassificationMapper.class new file mode 100644 index 0000000..47b1278 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysContentClassificationMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysContentFileMapper.class b/target/classes/com/huoran/iasf/mapper/SysContentFileMapper.class new file mode 100644 index 0000000..456903b Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysContentFileMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysContentLabelMapper.class b/target/classes/com/huoran/iasf/mapper/SysContentLabelMapper.class new file mode 100644 index 0000000..aeacb62 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysContentLabelMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysContentMapper.class b/target/classes/com/huoran/iasf/mapper/SysContentMapper.class new file mode 100644 index 0000000..2c4dc15 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysContentMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysDeptMapper.class b/target/classes/com/huoran/iasf/mapper/SysDeptMapper.class new file mode 100644 index 0000000..15ab7da Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysDeptMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysDictDetailMapper.class b/target/classes/com/huoran/iasf/mapper/SysDictDetailMapper.class new file mode 100644 index 0000000..880f243 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysDictDetailMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysDictMapper.class b/target/classes/com/huoran/iasf/mapper/SysDictMapper.class new file mode 100644 index 0000000..8038abb Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysDictMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysFilesMapper.class b/target/classes/com/huoran/iasf/mapper/SysFilesMapper.class new file mode 100644 index 0000000..02f83c2 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysFilesMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysJobLogMapper.class b/target/classes/com/huoran/iasf/mapper/SysJobLogMapper.class new file mode 100644 index 0000000..ee38f6d Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysJobLogMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysJobMapper.class b/target/classes/com/huoran/iasf/mapper/SysJobMapper.class new file mode 100644 index 0000000..dc1ca15 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysJobMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysLogMapper.class b/target/classes/com/huoran/iasf/mapper/SysLogMapper.class new file mode 100644 index 0000000..894d21c Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysLogMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysNavigationStyleMapper.class b/target/classes/com/huoran/iasf/mapper/SysNavigationStyleMapper.class new file mode 100644 index 0000000..0e4e686 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysNavigationStyleMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysPermissionMapper.class b/target/classes/com/huoran/iasf/mapper/SysPermissionMapper.class new file mode 100644 index 0000000..ec45305 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysPermissionMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysRoleMapper.class b/target/classes/com/huoran/iasf/mapper/SysRoleMapper.class new file mode 100644 index 0000000..38870eb Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysRoleMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysRolePermissionMapper.class b/target/classes/com/huoran/iasf/mapper/SysRolePermissionMapper.class new file mode 100644 index 0000000..f8797fa Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysRolePermissionMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysTemplateMapper.class b/target/classes/com/huoran/iasf/mapper/SysTemplateMapper.class new file mode 100644 index 0000000..2e2c2c5 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysTemplateMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysTemplateStyleConfigurationMapper.class b/target/classes/com/huoran/iasf/mapper/SysTemplateStyleConfigurationMapper.class new file mode 100644 index 0000000..89d59c5 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysTemplateStyleConfigurationMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysTemplateStyleMapper.class b/target/classes/com/huoran/iasf/mapper/SysTemplateStyleMapper.class new file mode 100644 index 0000000..c165670 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysTemplateStyleMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysUserMapper.class b/target/classes/com/huoran/iasf/mapper/SysUserMapper.class new file mode 100644 index 0000000..741db4e Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysUserMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/SysUserRoleMapper.class b/target/classes/com/huoran/iasf/mapper/SysUserRoleMapper.class new file mode 100644 index 0000000..fd0bf8a Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/SysUserRoleMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/UserDeptMapper.class b/target/classes/com/huoran/iasf/mapper/UserDeptMapper.class new file mode 100644 index 0000000..e0c1052 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/UserDeptMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/UserGroupMapper.class b/target/classes/com/huoran/iasf/mapper/UserGroupMapper.class new file mode 100644 index 0000000..3700803 Binary files /dev/null and b/target/classes/com/huoran/iasf/mapper/UserGroupMapper.class differ diff --git a/target/classes/com/huoran/iasf/mapper/xml/SeoMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SeoMapper.xml new file mode 100644 index 0000000..287da9a --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SeoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/SiteMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SiteMapper.xml new file mode 100644 index 0000000..450e622 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SiteMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysColumnLongPageMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysColumnLongPageMapper.xml new file mode 100644 index 0000000..a8893be --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysColumnLongPageMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysColumnMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysColumnMapper.xml new file mode 100644 index 0000000..5200724 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysColumnMapper.xml @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysContentClassificationMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysContentClassificationMapper.xml new file mode 100644 index 0000000..be99075 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysContentClassificationMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysContentFileMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysContentFileMapper.xml new file mode 100644 index 0000000..32101c1 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysContentFileMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysContentLabelMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysContentLabelMapper.xml new file mode 100644 index 0000000..020ce5c --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysContentLabelMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysContentMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysContentMapper.xml new file mode 100644 index 0000000..a7d2030 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysContentMapper.xml @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysFilesMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysFilesMapper.xml new file mode 100644 index 0000000..ce6bfb1 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysFilesMapper.xml @@ -0,0 +1,48 @@ + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysNavigationStyleMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysNavigationStyleMapper.xml new file mode 100644 index 0000000..e466f85 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysNavigationStyleMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysPermissionMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysPermissionMapper.xml new file mode 100644 index 0000000..14ab577 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysPermissionMapper.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysTemplateMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysTemplateMapper.xml new file mode 100644 index 0000000..187b49a --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysTemplateMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysTemplateStyleConfigurationMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysTemplateStyleConfigurationMapper.xml new file mode 100644 index 0000000..b36c0e9 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysTemplateStyleConfigurationMapper.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysTemplateStyleMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysTemplateStyleMapper.xml new file mode 100644 index 0000000..f5149e2 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysTemplateStyleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/SysUserMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/SysUserMapper.xml new file mode 100644 index 0000000..ee24f1d --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/SysUserMapper.xml @@ -0,0 +1,152 @@ + + + + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/UserDeptMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/UserDeptMapper.xml new file mode 100644 index 0000000..35fd249 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/UserDeptMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/target/classes/com/huoran/iasf/mapper/xml/UserGroupMapper.xml b/target/classes/com/huoran/iasf/mapper/xml/UserGroupMapper.xml new file mode 100644 index 0000000..6a9d356 --- /dev/null +++ b/target/classes/com/huoran/iasf/mapper/xml/UserGroupMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/target/classes/com/huoran/iasf/service/DeptService.class b/target/classes/com/huoran/iasf/service/DeptService.class new file mode 100644 index 0000000..dd8c83b Binary files /dev/null and b/target/classes/com/huoran/iasf/service/DeptService.class differ diff --git a/target/classes/com/huoran/iasf/service/HomeService.class b/target/classes/com/huoran/iasf/service/HomeService.class new file mode 100644 index 0000000..2b14788 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/HomeService.class differ diff --git a/target/classes/com/huoran/iasf/service/HttpApiSessionService.class b/target/classes/com/huoran/iasf/service/HttpApiSessionService.class new file mode 100644 index 0000000..c941138 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/HttpApiSessionService.class differ diff --git a/target/classes/com/huoran/iasf/service/HttpSessionService.class b/target/classes/com/huoran/iasf/service/HttpSessionService.class new file mode 100644 index 0000000..96f320f Binary files /dev/null and b/target/classes/com/huoran/iasf/service/HttpSessionService.class differ diff --git a/target/classes/com/huoran/iasf/service/ISysGeneratorService.class b/target/classes/com/huoran/iasf/service/ISysGeneratorService.class new file mode 100644 index 0000000..e3aa737 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/ISysGeneratorService.class differ diff --git a/target/classes/com/huoran/iasf/service/LogService.class b/target/classes/com/huoran/iasf/service/LogService.class new file mode 100644 index 0000000..fdc84e9 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/LogService.class differ diff --git a/target/classes/com/huoran/iasf/service/PermissionService.class b/target/classes/com/huoran/iasf/service/PermissionService.class new file mode 100644 index 0000000..8bf9056 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/PermissionService.class differ diff --git a/target/classes/com/huoran/iasf/service/RedisService.class b/target/classes/com/huoran/iasf/service/RedisService.class new file mode 100644 index 0000000..789aa0a Binary files /dev/null and b/target/classes/com/huoran/iasf/service/RedisService.class differ diff --git a/target/classes/com/huoran/iasf/service/RolePermissionService.class b/target/classes/com/huoran/iasf/service/RolePermissionService.class new file mode 100644 index 0000000..be1371a Binary files /dev/null and b/target/classes/com/huoran/iasf/service/RolePermissionService.class differ diff --git a/target/classes/com/huoran/iasf/service/RoleService.class b/target/classes/com/huoran/iasf/service/RoleService.class new file mode 100644 index 0000000..1172a66 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/RoleService.class differ diff --git a/target/classes/com/huoran/iasf/service/SeoService.class b/target/classes/com/huoran/iasf/service/SeoService.class new file mode 100644 index 0000000..653c538 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SeoService.class differ diff --git a/target/classes/com/huoran/iasf/service/SiteService.class b/target/classes/com/huoran/iasf/service/SiteService.class new file mode 100644 index 0000000..022c1da Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SiteService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysColumnLongPageService.class b/target/classes/com/huoran/iasf/service/SysColumnLongPageService.class new file mode 100644 index 0000000..b478446 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysColumnLongPageService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysColumnService.class b/target/classes/com/huoran/iasf/service/SysColumnService.class new file mode 100644 index 0000000..787a59f Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysColumnService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysContentClassificationService.class b/target/classes/com/huoran/iasf/service/SysContentClassificationService.class new file mode 100644 index 0000000..72da21b Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysContentClassificationService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysContentFileService.class b/target/classes/com/huoran/iasf/service/SysContentFileService.class new file mode 100644 index 0000000..46dacc0 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysContentFileService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysContentLabelService.class b/target/classes/com/huoran/iasf/service/SysContentLabelService.class new file mode 100644 index 0000000..2c6e794 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysContentLabelService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysContentService.class b/target/classes/com/huoran/iasf/service/SysContentService.class new file mode 100644 index 0000000..acbd9d1 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysContentService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysDictDetailService.class b/target/classes/com/huoran/iasf/service/SysDictDetailService.class new file mode 100644 index 0000000..1c07656 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysDictDetailService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysDictService.class b/target/classes/com/huoran/iasf/service/SysDictService.class new file mode 100644 index 0000000..dfad6e1 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysDictService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysFilesService.class b/target/classes/com/huoran/iasf/service/SysFilesService.class new file mode 100644 index 0000000..0d118f6 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysFilesService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysJobLogService.class b/target/classes/com/huoran/iasf/service/SysJobLogService.class new file mode 100644 index 0000000..56386bb Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysJobLogService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysJobService.class b/target/classes/com/huoran/iasf/service/SysJobService.class new file mode 100644 index 0000000..fb92ecc Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysJobService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysNavigationStyleService.class b/target/classes/com/huoran/iasf/service/SysNavigationStyleService.class new file mode 100644 index 0000000..ca34ed6 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysNavigationStyleService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysTemplateService.class b/target/classes/com/huoran/iasf/service/SysTemplateService.class new file mode 100644 index 0000000..4afde28 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysTemplateService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysTemplateStyleConfigurationService.class b/target/classes/com/huoran/iasf/service/SysTemplateStyleConfigurationService.class new file mode 100644 index 0000000..04b2664 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysTemplateStyleConfigurationService.class differ diff --git a/target/classes/com/huoran/iasf/service/SysTemplateStyleService.class b/target/classes/com/huoran/iasf/service/SysTemplateStyleService.class new file mode 100644 index 0000000..ede3097 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/SysTemplateStyleService.class differ diff --git a/target/classes/com/huoran/iasf/service/UserDeptService.class b/target/classes/com/huoran/iasf/service/UserDeptService.class new file mode 100644 index 0000000..3b2f430 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/UserDeptService.class differ diff --git a/target/classes/com/huoran/iasf/service/UserGroupService.class b/target/classes/com/huoran/iasf/service/UserGroupService.class new file mode 100644 index 0000000..6569131 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/UserGroupService.class differ diff --git a/target/classes/com/huoran/iasf/service/UserRoleService.class b/target/classes/com/huoran/iasf/service/UserRoleService.class new file mode 100644 index 0000000..db72981 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/UserRoleService.class differ diff --git a/target/classes/com/huoran/iasf/service/UserService.class b/target/classes/com/huoran/iasf/service/UserService.class new file mode 100644 index 0000000..dfc6efb Binary files /dev/null and b/target/classes/com/huoran/iasf/service/UserService.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/DeptServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/DeptServiceImpl.class new file mode 100644 index 0000000..a446d0c Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/DeptServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/LogServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/LogServiceImpl.class new file mode 100644 index 0000000..ab714dd Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/LogServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/PermissionServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/PermissionServiceImpl.class new file mode 100644 index 0000000..52423a9 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/PermissionServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/RolePermissionServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/RolePermissionServiceImpl.class new file mode 100644 index 0000000..4639fc4 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/RolePermissionServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/RoleServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/RoleServiceImpl.class new file mode 100644 index 0000000..c93cd9d Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/RoleServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SeoServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SeoServiceImpl.class new file mode 100644 index 0000000..7ba258c Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SeoServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SiteServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SiteServiceImpl.class new file mode 100644 index 0000000..e6100e2 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SiteServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysColumnLongPageServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysColumnLongPageServiceImpl.class new file mode 100644 index 0000000..99de12f Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysColumnLongPageServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysColumnServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysColumnServiceImpl.class new file mode 100644 index 0000000..82c8a8c Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysColumnServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysContentClassificationServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysContentClassificationServiceImpl.class new file mode 100644 index 0000000..aaf429c Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysContentClassificationServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysContentFileServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysContentFileServiceImpl.class new file mode 100644 index 0000000..42820b8 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysContentFileServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysContentLabelServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysContentLabelServiceImpl.class new file mode 100644 index 0000000..fbf139e Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysContentLabelServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysContentServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysContentServiceImpl.class new file mode 100644 index 0000000..66dd926 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysContentServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysDictDetailServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysDictDetailServiceImpl.class new file mode 100644 index 0000000..ea15c60 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysDictDetailServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysDictServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysDictServiceImpl.class new file mode 100644 index 0000000..a195487 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysDictServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysFilesServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysFilesServiceImpl.class new file mode 100644 index 0000000..5ae25b5 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysFilesServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysJobLogServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysJobLogServiceImpl.class new file mode 100644 index 0000000..945adf8 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysJobLogServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysNavigationStyleServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysNavigationStyleServiceImpl.class new file mode 100644 index 0000000..7c6eea5 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysNavigationStyleServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysTemplateServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysTemplateServiceImpl.class new file mode 100644 index 0000000..f528c67 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysTemplateServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysTemplateStyleConfigurationServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysTemplateStyleConfigurationServiceImpl.class new file mode 100644 index 0000000..edc6dfb Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysTemplateStyleConfigurationServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/SysTemplateStyleServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/SysTemplateStyleServiceImpl.class new file mode 100644 index 0000000..39d6ecf Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/SysTemplateStyleServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/UserDeptServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/UserDeptServiceImpl.class new file mode 100644 index 0000000..fd8db49 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/UserDeptServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/UserGroupServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/UserGroupServiceImpl.class new file mode 100644 index 0000000..4e25af7 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/UserGroupServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/UserRoleServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/UserRoleServiceImpl.class new file mode 100644 index 0000000..54e4c45 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/UserRoleServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/UserServiceImpl$1.class b/target/classes/com/huoran/iasf/service/impl/UserServiceImpl$1.class new file mode 100644 index 0000000..3b07774 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/UserServiceImpl$1.class differ diff --git a/target/classes/com/huoran/iasf/service/impl/UserServiceImpl.class b/target/classes/com/huoran/iasf/service/impl/UserServiceImpl.class new file mode 100644 index 0000000..bf48075 Binary files /dev/null and b/target/classes/com/huoran/iasf/service/impl/UserServiceImpl.class differ diff --git a/target/classes/com/huoran/iasf/vo/CheckVo.class b/target/classes/com/huoran/iasf/vo/CheckVo.class new file mode 100644 index 0000000..1e91049 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/CheckVo.class differ diff --git a/target/classes/com/huoran/iasf/vo/FatherContentRespVO.class b/target/classes/com/huoran/iasf/vo/FatherContentRespVO.class new file mode 100644 index 0000000..37e9a40 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/FatherContentRespVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/ImportUserFailureVo.class b/target/classes/com/huoran/iasf/vo/ImportUserFailureVo.class new file mode 100644 index 0000000..adbe76d Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/ImportUserFailureVo.class differ diff --git a/target/classes/com/huoran/iasf/vo/UEditorResultVO.class b/target/classes/com/huoran/iasf/vo/UEditorResultVO.class new file mode 100644 index 0000000..923681f Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/UEditorResultVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/AllTheQuery.class b/target/classes/com/huoran/iasf/vo/req/AllTheQuery.class new file mode 100644 index 0000000..57e228f Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/AllTheQuery.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ArticleEnableOrDisable.class b/target/classes/com/huoran/iasf/vo/req/ArticleEnableOrDisable.class new file mode 100644 index 0000000..15ff979 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ArticleEnableOrDisable.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ArticleModifiedSortReq.class b/target/classes/com/huoran/iasf/vo/req/ArticleModifiedSortReq.class new file mode 100644 index 0000000..085172f Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ArticleModifiedSortReq.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ArticleTopOperation.class b/target/classes/com/huoran/iasf/vo/req/ArticleTopOperation.class new file mode 100644 index 0000000..86556c0 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ArticleTopOperation.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/CheckForHeavy.class b/target/classes/com/huoran/iasf/vo/req/CheckForHeavy.class new file mode 100644 index 0000000..7d07bf1 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/CheckForHeavy.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ColumnWeightReqVO.class b/target/classes/com/huoran/iasf/vo/req/ColumnWeightReqVO.class new file mode 100644 index 0000000..31a76d2 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ColumnWeightReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ContentHeavyTitleReqVO.class b/target/classes/com/huoran/iasf/vo/req/ContentHeavyTitleReqVO.class new file mode 100644 index 0000000..c283d47 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ContentHeavyTitleReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ContentReq.class b/target/classes/com/huoran/iasf/vo/req/ContentReq.class new file mode 100644 index 0000000..c7fc8cf Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ContentReq.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/ExcelImpUserReq.class b/target/classes/com/huoran/iasf/vo/req/ExcelImpUserReq.class new file mode 100644 index 0000000..a6df729 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/ExcelImpUserReq.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/FileParameters.class b/target/classes/com/huoran/iasf/vo/req/FileParameters.class new file mode 100644 index 0000000..7309fe8 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/FileParameters.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/LabelCheckForHeavy.class b/target/classes/com/huoran/iasf/vo/req/LabelCheckForHeavy.class new file mode 100644 index 0000000..c13f1f1 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/LabelCheckForHeavy.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/LongPageColumnReqVO.class b/target/classes/com/huoran/iasf/vo/req/LongPageColumnReqVO.class new file mode 100644 index 0000000..09ef99d Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/LongPageColumnReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/OneLevelChecksThemAll.class b/target/classes/com/huoran/iasf/vo/req/OneLevelChecksThemAll.class new file mode 100644 index 0000000..177c678 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/OneLevelChecksThemAll.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/PageContentReqVO.class b/target/classes/com/huoran/iasf/vo/req/PageContentReqVO.class new file mode 100644 index 0000000..299133c Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/PageContentReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/PageReqVO.class b/target/classes/com/huoran/iasf/vo/req/PageReqVO.class new file mode 100644 index 0000000..32eff49 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/PageReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/PaginationColumnReqVO.class b/target/classes/com/huoran/iasf/vo/req/PaginationColumnReqVO.class new file mode 100644 index 0000000..a4fa030 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/PaginationColumnReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/RolePermissionOperationReqVO.class b/target/classes/com/huoran/iasf/vo/req/RolePermissionOperationReqVO.class new file mode 100644 index 0000000..fa57297 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/RolePermissionOperationReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/SortByColumnReqVO.class b/target/classes/com/huoran/iasf/vo/req/SortByColumnReqVO.class new file mode 100644 index 0000000..49989fe Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/SortByColumnReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/SubLevelColumnsUnderALevel.class b/target/classes/com/huoran/iasf/vo/req/SubLevelColumnsUnderALevel.class new file mode 100644 index 0000000..3c96d5d Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/SubLevelColumnsUnderALevel.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/SysColumnLongRedisVO.class b/target/classes/com/huoran/iasf/vo/req/SysColumnLongRedisVO.class new file mode 100644 index 0000000..2779e63 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/SysColumnLongRedisVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/UpdatePhoneOrEmailReq.class b/target/classes/com/huoran/iasf/vo/req/UpdatePhoneOrEmailReq.class new file mode 100644 index 0000000..a56dba4 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/UpdatePhoneOrEmailReq.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/UserListReq.class b/target/classes/com/huoran/iasf/vo/req/UserListReq.class new file mode 100644 index 0000000..f1ddad2 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/UserListReq.class differ diff --git a/target/classes/com/huoran/iasf/vo/req/UserRoleOperationReqVO.class b/target/classes/com/huoran/iasf/vo/req/UserRoleOperationReqVO.class new file mode 100644 index 0000000..62ee119 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/req/UserRoleOperationReqVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/DeptRespNodeVO.class b/target/classes/com/huoran/iasf/vo/resp/DeptRespNodeVO.class new file mode 100644 index 0000000..046dfe2 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/DeptRespNodeVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/HomeRespVO.class b/target/classes/com/huoran/iasf/vo/resp/HomeRespVO.class new file mode 100644 index 0000000..52d9c66 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/HomeRespVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/LoginRespVO.class b/target/classes/com/huoran/iasf/vo/resp/LoginRespVO.class new file mode 100644 index 0000000..2d356db Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/LoginRespVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/PageContentRespVO.class b/target/classes/com/huoran/iasf/vo/resp/PageContentRespVO.class new file mode 100644 index 0000000..a86da31 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/PageContentRespVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/PermissionRespNode.class b/target/classes/com/huoran/iasf/vo/resp/PermissionRespNode.class new file mode 100644 index 0000000..278b24b Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/PermissionRespNode.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/SortColumnRespVO.class b/target/classes/com/huoran/iasf/vo/resp/SortColumnRespVO.class new file mode 100644 index 0000000..16dbf9e Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/SortColumnRespVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/UserInfoRespVO.class b/target/classes/com/huoran/iasf/vo/resp/UserInfoRespVO.class new file mode 100644 index 0000000..39c30e7 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/UserInfoRespVO.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/UserListResp.class b/target/classes/com/huoran/iasf/vo/resp/UserListResp.class new file mode 100644 index 0000000..c4f5f13 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/UserListResp.class differ diff --git a/target/classes/com/huoran/iasf/vo/resp/UserOwnRoleRespVO.class b/target/classes/com/huoran/iasf/vo/resp/UserOwnRoleRespVO.class new file mode 100644 index 0000000..62b1f68 Binary files /dev/null and b/target/classes/com/huoran/iasf/vo/resp/UserOwnRoleRespVO.class differ diff --git a/target/classes/generator.properties b/target/classes/generator.properties new file mode 100644 index 0000000..949614a --- /dev/null +++ b/target/classes/generator.properties @@ -0,0 +1,61 @@ +#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F + +mainPath=com.huoran +#\u5305\u540D +package=com.huoran.iasf +#\u4F5C\u8005 +author=cheney +#Email +email=*****@mail.com +#\u8868\u524D\u7F00 +tablePrefix= + +#\u7C7B\u578B\u8F6C\u6362\uFF0C\u914D\u7F6E\u4FE1\u606F +tinyint=Integer +smallint=Integer +mediumint=Integer +int=Integer +integer=Integer +bigint=Long +float=Float +double=Double +decimal=BigDecimal +bit=Boolean + +char=String +varchar=String +tinytext=String +text=String +mediumtext=String +longtext=String + +date=Date +datetime=Date +timestamp=Date + +NUMBER=Integer +INT=Integer +INTEGER=Integer +BINARY_INTEGER=Integer +LONG=String +FLOAT=Float +BINARY_FLOAT=Float +DOUBLE=Double +BINARY_DOUBLE=Double +DECIMAL=BigDecimal +CHAR=String +VARCHAR=String +VARCHAR2=String +NVARCHAR=String +NVARCHAR2=String +CLOB=String +BLOB=String +DATE=Date +DATETIME=Date +TIMESTAMP=Date +TIMESTAMP(6)=Date + +int8=Long +int4=Integer +int2=Integer +numeric=BigDecimal \ No newline at end of file diff --git a/target/classes/logback-spring.xml b/target/classes/logback-spring.xml new file mode 100644 index 0000000..55ec7dc --- /dev/null +++ b/target/classes/logback-spring.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + + + + + + + ${LOG_PATH}/${LOG_FILE} + + ${FILE_LOG_PATTERN} + + + ${LOG_PATH}/${LOG_HISTORY} + 30 + + + + + + + + 0 + 500 + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file