diff --git a/kqapi/logs/info-20231122-0.log b/kqapi/logs/info-20231122-0.log new file mode 100644 index 0000000..09bb614 --- /dev/null +++ b/kqapi/logs/info-20231122-0.log @@ -0,0 +1,23 @@ +2023-11-22 16:34:54.722 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final +2023-11-22 16:34:54.736 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 7560 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) +2023-11-22 16:34:54.736 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" +2023-11-22 16:34:57.112 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) +2023-11-22 16:34:57.123 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] +2023-11-22 16:34:57.124 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] +2023-11-22 16:34:57.124 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] +2023-11-22 16:34:57.241 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext +2023-11-22 16:34:57.241 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2454 ms +2023-11-22 16:34:59.543 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… +2023-11-22 16:35:00.675 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 +2023-11-22 16:35:01.087 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] +2023-11-22 16:35:01.309 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) +2023-11-22 16:35:01.562 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] +2023-11-22 16:35:01.588 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 32509 (http) with context path '/kq' +2023-11-22 16:35:01.589 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped +2023-11-22 16:35:01.592 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) +2023-11-22 16:35:01.629 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references +2023-11-22 16:35:01.772 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 7.554 seconds (JVM running for 8.94) +2023-11-22 16:35:02.189 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... +2023-11-22 16:35:02.677 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. +2023-11-22 16:35:46.625 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... +2023-11-22 16:35:46.634 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. diff --git a/kqapi/logs/info.log b/kqapi/logs/info.log index 09bb614..4ba0a3b 100644 --- a/kqapi/logs/info.log +++ b/kqapi/logs/info.log @@ -1,23 +1,80 @@ -2023-11-22 16:34:54.722 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final -2023-11-22 16:34:54.736 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 7560 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) -2023-11-22 16:34:54.736 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" -2023-11-22 16:34:57.112 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) -2023-11-22 16:34:57.123 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] -2023-11-22 16:34:57.124 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] -2023-11-22 16:34:57.124 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] -2023-11-22 16:34:57.241 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext -2023-11-22 16:34:57.241 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2454 ms -2023-11-22 16:34:59.543 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… -2023-11-22 16:35:00.675 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 -2023-11-22 16:35:01.087 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] -2023-11-22 16:35:01.309 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) -2023-11-22 16:35:01.562 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] -2023-11-22 16:35:01.588 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 32509 (http) with context path '/kq' -2023-11-22 16:35:01.589 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped -2023-11-22 16:35:01.592 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) -2023-11-22 16:35:01.629 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references -2023-11-22 16:35:01.772 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 7.554 seconds (JVM running for 8.94) -2023-11-22 16:35:02.189 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... -2023-11-22 16:35:02.677 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. -2023-11-22 16:35:46.625 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... -2023-11-22 16:35:46.634 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. +2024-04-07 11:40:43.103 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final +2024-04-07 11:40:43.116 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Starting MenuTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 27140 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) +2024-04-07 11:40:43.117 [main] INFO com.ningdatech.kqapi.menu.MenuTest -The following 1 profile is active: "prod" +2024-04-07 11:40:44.149 [main] INFO c.u.j.c.EnableEncryptablePropertiesBeanFactoryPostProcessor -Post-processing PropertySource instances +2024-04-07 11:40:44.150 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource +2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource test [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Inlined Test Properties [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource +2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletContextInitParams [class org.springframework.core.env.PropertySource$StubPropertySource +2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper +2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper +2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 11:40:44.439 [main] INFO c.u.j.f.DefaultLazyPropertyFilter -Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter +2024-04-07 11:40:44.449 [main] INFO c.u.j.r.DefaultLazyPropertyResolver -Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver +2024-04-07 11:40:44.453 [main] INFO c.u.j.d.DefaultLazyPropertyDetector -Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector +2024-04-07 11:40:45.294 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) +2024-04-07 11:40:45.306 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] +2024-04-07 11:40:45.307 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] +2024-04-07 11:40:45.307 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] +2024-04-07 11:40:45.441 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext +2024-04-07 11:40:45.442 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2275 ms +2024-04-07 11:40:47.784 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 +2024-04-07 11:40:48.621 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) +2024-04-07 11:40:48.832 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] +2024-04-07 11:40:48.855 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 9629 (http) with context path '/kq' +2024-04-07 11:40:48.856 [main] INFO c.u.j.c.RefreshScopeRefreshedEventListener -Refreshing cached encryptable property sources on ServletWebServerInitializedEvent +2024-04-07 11:40:48.856 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source test refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Inlined Test Properties refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemProperties refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemEnvironment refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source random refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' refreshed +2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource server.ports [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource +2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource +2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource servletContextInitParams [org.springframework.web.context.support.ServletContextPropertySource] to EncryptableEnumerablePropertySourceWrapper +2024-04-07 11:40:48.869 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Started MenuTest in 6.275 seconds (JVM running for 7.573) +2024-04-07 13:43:39.929 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final +2024-04-07 13:43:39.939 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Starting MenuTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 13556 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) +2024-04-07 13:43:39.939 [main] INFO com.ningdatech.kqapi.menu.MenuTest -The following 1 profile is active: "prod" +2024-04-07 13:43:40.838 [main] INFO c.u.j.c.EnableEncryptablePropertiesBeanFactoryPostProcessor -Post-processing PropertySource instances +2024-04-07 13:43:40.839 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource +2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource test [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Inlined Test Properties [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource +2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletContextInitParams [class org.springframework.core.env.PropertySource$StubPropertySource +2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper +2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper +2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 13:43:41.106 [main] INFO c.u.j.f.DefaultLazyPropertyFilter -Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter +2024-04-07 13:43:41.116 [main] INFO c.u.j.r.DefaultLazyPropertyResolver -Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver +2024-04-07 13:43:41.119 [main] INFO c.u.j.d.DefaultLazyPropertyDetector -Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector +2024-04-07 13:43:41.994 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) +2024-04-07 13:43:42.006 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] +2024-04-07 13:43:42.006 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] +2024-04-07 13:43:42.007 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] +2024-04-07 13:43:42.143 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext +2024-04-07 13:43:42.143 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2157 ms +2024-04-07 13:43:44.513 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 +2024-04-07 13:43:45.402 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) +2024-04-07 13:43:45.676 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] +2024-04-07 13:43:45.697 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 2307 (http) with context path '/kq' +2024-04-07 13:43:45.699 [main] INFO c.u.j.c.RefreshScopeRefreshedEventListener -Refreshing cached encryptable property sources on ServletWebServerInitializedEvent +2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source test refreshed +2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Inlined Test Properties refreshed +2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemProperties refreshed +2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemEnvironment refreshed +2024-04-07 13:43:45.700 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source random refreshed +2024-04-07 13:43:45.700 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' refreshed +2024-04-07 13:43:45.700 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' refreshed +2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource server.ports [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper +2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource +2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource +2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource servletContextInitParams [org.springframework.web.context.support.ServletContextPropertySource] to EncryptableEnumerablePropertySourceWrapper +2024-04-07 13:43:45.710 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Started MenuTest in 6.296 seconds (JVM running for 7.144) diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/constants/ZzsfwMenuConstant.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/constants/ZzsfwMenuConstant.java index a5152ac..3825134 100644 --- a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/constants/ZzsfwMenuConstant.java +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/constants/ZzsfwMenuConstant.java @@ -15,4 +15,6 @@ public class ZzsfwMenuConstant { public static final String MENU_TYPE_DEPARTMENT = "department"; public static final String MENU_TYPE_MATTER = "matter"; + + public static final String MENU_ITEM_TYPE = "itemType"; } diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/NdKqZzsfwMenuController.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/NdKqZzsfwMenuController.java index 32752ca..fe03b1b 100644 --- a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/NdKqZzsfwMenuController.java +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/NdKqZzsfwMenuController.java @@ -1,5 +1,7 @@ package com.ningdatech.kqapi.zzsfw.controller; +import cn.hutool.core.collection.CollUtil; +import com.ningdatech.kqapi.common.exception.BizException; import com.ningdatech.kqapi.zzsfw.entity.dto.NdKqZzsfwMattersDeduplicateDTO; import com.ningdatech.kqapi.zzsfw.entity.dto.NdKqZzsfwMenuDTO; import com.ningdatech.kqapi.zzsfw.entity.vo.MatterTopVO; @@ -9,8 +11,11 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; +import java.util.Objects; /** *

@@ -57,4 +62,19 @@ public class NdKqZzsfwMenuController { public String removeAllDup() { return matterManage.removeAllDup(); } + + + @PostMapping("/ddl") + public String ddl(@RequestParam("sql") String sql) throws IOException { + return matterManage.ddl(sql); + } + + @PostMapping("/upload-menu") + public String uploadMenu(@RequestParam("file") MultipartFile[] file) throws IOException { + if (Objects.isNull(file) || file.length == 0) { + throw new BizException("文件为空!"); + } + return matterManage.uploadMenu(file[0]); + } } + diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwMenu.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwMenu.java index 951a15a..90cb53c 100644 --- a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwMenu.java +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwMenu.java @@ -54,4 +54,16 @@ public class NdKqZzsfwMenu implements Serializable { @ApiModelProperty("是否在政务中心查到url") private Integer hasUrl; + + @ApiModelProperty("类型 1.政府服务 2.增值服务 3.特殊") + private Integer type; + + @ApiModelProperty("服务内容") + private String serviceContent; + + @ApiModelProperty("服务流程") + private String serviceProcess; + + @ApiModelProperty("咨询电话") + private String telephone; } diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/MattersVO.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/MattersVO.java index b5eb86f..a634f82 100644 --- a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/MattersVO.java +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/MattersVO.java @@ -31,4 +31,16 @@ public class MattersVO implements Serializable { @ApiModelProperty("排序编号") private Integer sort; + + @ApiModelProperty("类型 1.政府服务 2.增值服务 3.特殊") + private Integer type; + + @ApiModelProperty("服务内容") + private String serviceContent; + + @ApiModelProperty("服务流程") + private String serviceProcess; + + @ApiModelProperty("咨询电话") + private String telephone; } diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/TreeVO.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/TreeVO.java index 8041520..acf1a43 100644 --- a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/TreeVO.java +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/TreeVO.java @@ -36,6 +36,21 @@ public class TreeVO implements Serializable { @ApiModelProperty("链接") private Integer sort; + @ApiModelProperty("事项类型") + private Integer itemType; + + @ApiModelProperty("事项类型") + private Integer itemTypeName; + + @ApiModelProperty("服务内容") + private String serviceContent; + + @ApiModelProperty("服务流程") + private String serviceProcess; + + @ApiModelProperty("咨询电话") + private String telephone; + @ApiModelProperty("子级") private List chilren; } diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java new file mode 100644 index 0000000..0a14e02 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java @@ -0,0 +1,34 @@ +package com.ningdatech.kqapi.zzsfw.enumeration; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import java.util.Objects; + +@Getter +@AllArgsConstructor +@NoArgsConstructor +public enum ItemTypeEnum { + /** + * 事项类型 枚举 + */ + GOV(1,"政府服务"), + ADDED(2,"增值服务"), + SPECIAL(3,"特殊服务"); + + private Integer code; + private String desc; + + public static ItemTypeEnum match(Integer code) { + if (Objects.isNull(code)) { + return null; + } + for (ItemTypeEnum t : ItemTypeEnum.values()) { + if (code.equals(t.getCode())) { + return t; + } + } + return null; + } +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java index a9ba4ca..d67bc5f 100644 --- a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java @@ -3,6 +3,7 @@ package com.ningdatech.kqapi.zzsfw.manage; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.StopWatch; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ningdatech.kqapi.common.enumeration.CommonEnum; import com.ningdatech.kqapi.common.helper.MatterCacheHelper; @@ -13,13 +14,28 @@ import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwMattersDeduplicate; import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwMenu; import com.ningdatech.kqapi.zzsfw.entity.vo.MatterTopVO; import com.ningdatech.kqapi.zzsfw.entity.vo.TreeVO; +import com.ningdatech.kqapi.zzsfw.enumeration.ItemTypeEnum; import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwMatterDeduplicateService; import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwMenuService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.Statement; +import java.text.DecimalFormat; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -34,23 +50,35 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class MatterManage { + @Value("${spring.datasource.url}") + public String url; + + @Value("${spring.datasource.username}") + public String username; + + @Value("${spring.datasource.password}") + public String password; + private final INdKqZzsfwMenuService menuService; private final INdKqZzsfwMatterDeduplicateService matterDeduplicateService; public List getMatters() { List matters = menuService.list(Wrappers.lambdaQuery(NdKqZzsfwMenu.class) - .isNotNull(NdKqZzsfwMenu::getWebapplyurl) .orderByAsc(NdKqZzsfwMenu::getSort)); if(CollUtil.isEmpty(matters)){ return Collections.emptyList(); } + //如果是政府类型的 就隐藏 没有链接的 + List finalMatters = matters.stream().filter(m -> Objects.nonNull(m.getType()) && + (!m.getType().equals(ItemTypeEnum.GOV.getCode()) || Objects.nonNull(m.getWebapplyurl()))) + .collect(Collectors.toList()); Set zoneSet = new HashSet<>(); List res = matters.stream().filter(m -> zoneSet.add(m.getZoneName())).map(m -> { TreeVO zone = new TreeVO(); zone.setName(m.getZoneName()); - zone.setChilren(generateWindows(m, matters)); + zone.setChilren(generateWindows(m, finalMatters)); zone.setType(ZzsfwMenuConstant.MENU_TYPE_ZONE); return zone; }).collect(Collectors.toList()); @@ -77,14 +105,34 @@ public class MatterManage { .map(m -> { TreeVO department = new TreeVO(); department.setName(m.getDepartment()); - department.setChilren(generateMatters(m,matters)); + department.setChilren(generateItemType(m,matters)); department.setType(ZzsfwMenuConstant.MENU_TYPE_DEPARTMENT); return department; }).collect(Collectors.toList()); } + private List generateItemType(NdKqZzsfwMenu menu, List matters) { + Set typeSet = new HashSet<>(); + return matters.stream().filter(m -> StringUtils.isNotBlank(m.getWindow()) && m.getWindow().equals(menu.getWindow()) && + m.getZoneName().equals(menu.getZoneName()) && Objects.nonNull(m.getType()) && typeSet.add(m.getType())) + .map(m -> { + TreeVO menuType = new TreeVO(); + ItemTypeEnum itemTypeEnum = ItemTypeEnum.match(m.getType()); + if(Objects.nonNull(itemTypeEnum)){ + menuType.setName(itemTypeEnum.getDesc()); + menuType.setChilren(generateMatters(m,matters)); + menuType.setType(ZzsfwMenuConstant.MENU_ITEM_TYPE); + return menuType; + } + return null; + }) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + } + private List generateMatters(NdKqZzsfwMenu menu, List matters) { - return matters.stream().filter(m -> Objects.nonNull(m.getHasUrl()) && m.getHasUrl() == 1 && + return matters.stream().filter(m -> Objects.nonNull(m.getType()) && m.getType().equals(menu.getType()) && + (!m.getType().equals(ItemTypeEnum.GOV.getCode()) || Objects.nonNull(m.getHasUrl()) && m.getHasUrl() == 1) && StringUtils.isNotBlank(m.getDepartment()) && m.getDepartment().equals(menu.getDepartment()) && m.getWindow().equals(menu.getWindow()) && m.getZoneName().equals(menu.getZoneName())) @@ -95,6 +143,9 @@ public class MatterManage { matter.setId(m.getItemRowid()); matter.setSort(m.getSort()); matter.setType(ZzsfwMenuConstant.MENU_TYPE_MATTER); + matter.setServiceContent(m.getServiceContent()); + matter.setServiceProcess(m.getServiceProcess()); + matter.setTelephone(m.getTelephone()); return matter; }).collect(Collectors.toList()); } @@ -147,4 +198,87 @@ public class MatterManage { matterDeduplicateService.remove(Wrappers.lambdaQuery(NdKqZzsfwMattersDeduplicate.class)); return "删除成功"; } + + public String uploadMenu(MultipartFile file) throws IOException { + InputStream inputStream = file.getInputStream(); + Workbook workbook = new XSSFWorkbook(inputStream); + Assert.notNull(workbook); + Row row; + //获取最大行数 + Sheet sheet = workbook.getSheetAt(0); + int rownum = sheet.getPhysicalNumberOfRows(); + //获取最大列数 + Integer num = 1; + + for (int i = 2; i < rownum; i++) { + row = sheet.getRow(i); + if (row.getZeroHeight()) { + continue; + } + System.out.println("记数:" + (num++)); + String zoneName = row.getCell(0).getStringCellValue(); + System.out.println(zoneName); + DecimalFormat decimalFormat = new DecimalFormat("#"); + Integer sort = Integer.valueOf(decimalFormat.format(row.getCell(1).getNumericCellValue())); + System.out.println(sort); + String windowName = row.getCell(2).getStringCellValue(); + System.out.println(windowName); + String department = row.getCell(3).getStringCellValue(); + System.out.println(department); + String itemName = row.getCell(4).getStringCellValue(); + System.out.println(itemName); + String serviceContent = row.getCell(5).getStringCellValue(); + System.out.println(serviceContent); + String serviceProcess = row.getCell(6).getStringCellValue(); + System.out.println(serviceProcess); + String telephone = ""; + CellType cellType = row.getCell(7).getCellType(); + if (cellType.equals(CellType.STRING)) { + telephone = row.getCell(7).getStringCellValue(); + System.out.println(telephone); + } else if (cellType.equals(CellType.NUMERIC)) { + DecimalFormat decimalFormat2 = new DecimalFormat("#.#######"); + telephone = decimalFormat2.format(row.getCell(7).getNumericCellValue()); + System.out.println(telephone); + } + NdKqZzsfwMenu menu = new NdKqZzsfwMenu(); + menu.setItemName(itemName); + menu.setZoneName(zoneName); + menu.setWindow(windowName); + menu.setDepartment(department); + menu.setServiceContent(serviceContent); + menu.setServiceProcess(serviceProcess); + menu.setTelephone(telephone); + menu.setType(ItemTypeEnum.ADDED.getCode()); + menu.setCreateOn(LocalDateTime.now()); + menu.setSort(sort); + menuService.save(menu); + } + return "upload success!"; + } + + public String ddl(String sql) { + try { + // 1. 加载数据库驱动 + Class.forName("com.mysql.cj.jdbc.Driver"); + + // 2. 建立数据库连接 + Connection connection = DriverManager.getConnection(url, username, password); + + // 3. 创建Statement对象 + Statement statement = connection.createStatement(); + + // 4. 编写并执行DDL语句(创建一个名为`users`的表) + statement.executeUpdate(sql); + + System.out.println(" Table updated successfully."); + + // 5. 关闭资源 + statement.close(); + connection.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return "success!"; + } } diff --git a/kqapi/src/test/java/com/ningdatech/kqapi/menu/MenuTest.java b/kqapi/src/test/java/com/ningdatech/kqapi/menu/MenuTest.java index 03fcf2c..61c8abb 100644 --- a/kqapi/src/test/java/com/ningdatech/kqapi/menu/MenuTest.java +++ b/kqapi/src/test/java/com/ningdatech/kqapi/menu/MenuTest.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ningdatech.kqapi.AppTests; import com.ningdatech.kqapi.zzsfw.entity.entity.DscSxAdsShareItemQltQlsxCommonIDVKq; import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwMenu; +import com.ningdatech.kqapi.zzsfw.enumeration.ItemTypeEnum; import com.ningdatech.kqapi.zzsfw.service.IDscSxAdsShareItemQltQlsxCommonIDVKqService; import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwMenuService; import org.apache.poi.ss.usermodel.*; @@ -13,6 +14,10 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import java.io.FileInputStream; import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.Statement; +import java.text.DecimalFormat; import java.time.LocalDateTime; import java.util.Objects; @@ -22,14 +27,11 @@ import java.util.Objects; * @Date 2023/10/27 9:51 * @Author PoffyZhang */ -public class MenuTest extends AppTests { +public class MenuTest extends AppTests{ // @Autowired private INdKqZzsfwMenuService menuService; - @Autowired - private IDscSxAdsShareItemQltQlsxCommonIDVKqService itemQltQlsxCommonIDVKqService; - @Test public void test() throws IOException { FileInputStream fis = new FileInputStream("C:\\Users\\PoffyZhang\\Desktop\\11.14柯桥.xlsx"); @@ -85,4 +87,104 @@ public class MenuTest extends AppTests { } } + + @Test + public void importData() throws IOException { + FileInputStream fis = new FileInputStream("C:\\Users\\PoffyZhang\\Desktop\\增值服务数据20240403.xlsx"); + Workbook workbook = new XSSFWorkbook(fis); + Assert.assertNotNull(workbook); + Row row; + if (workbook != null) { + //获取最大行数 + Sheet sheet = workbook.getSheetAt(0); + int rownum = sheet.getPhysicalNumberOfRows(); + //获取第一行 + row = sheet.getRow(0); + //获取最大列数 + Integer num = 1; + + for (int i = 2; i < rownum; i++) { + row = sheet.getRow(i); + if (row.getZeroHeight()) { + continue; + } + System.out.println("记数:" + (num++)); + String zoneName = row.getCell(0).getStringCellValue(); + System.out.println(zoneName); + DecimalFormat decimalFormat = new DecimalFormat("#"); + Integer sort = Integer.valueOf(decimalFormat.format(row.getCell(1).getNumericCellValue())); + System.out.println(sort); + String windowName = row.getCell(2).getStringCellValue(); + System.out.println(windowName); + String department = row.getCell(3).getStringCellValue(); + System.out.println(department); + String itemName = row.getCell(4).getStringCellValue(); + System.out.println(itemName); + String serviceContent = row.getCell(5).getStringCellValue(); + System.out.println(serviceContent); + String serviceProcess = row.getCell(6).getStringCellValue(); + System.out.println(serviceProcess); + String telephone = ""; + CellType cellType = row.getCell(7).getCellType(); + if(cellType.equals(CellType.STRING)){ + telephone = row.getCell(7).getStringCellValue(); + System.out.println(telephone); + }else if(cellType.equals(CellType.NUMERIC)){ + DecimalFormat decimalFormat2 = new DecimalFormat("#.#######"); + telephone = decimalFormat2.format(row.getCell(7).getNumericCellValue()); + System.out.println(telephone); + } + NdKqZzsfwMenu menu = new NdKqZzsfwMenu(); + menu.setItemName(itemName); + menu.setZoneName(zoneName); + menu.setWindow(windowName); + menu.setDepartment(department); + menu.setServiceContent(serviceContent); + menu.setServiceProcess(serviceProcess); + menu.setTelephone(telephone); + menu.setType(ItemTypeEnum.ADDED.getCode()); + menu.setCreateOn(LocalDateTime.now()); + menu.setSort(sort); +// menuService.save(menu); + } + } + + } + + + @Test + public void tableAndColumn() throws IOException { + String url = "jdbc:mysql://47.98.125.47:3306/kqzzsfw?serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false"; // 你的数据库URL + String username = "root"; // 数据库用户名 + String password = "NingdaKeji123!"; // 数据库密码 + + String table = "nd_kq_zzsfw_menu"; + + try { + // 1. 加载数据库驱动 + Class.forName("com.mysql.cj.jdbc.Driver"); + + // 2. 建立数据库连接 + Connection connection = DriverManager.getConnection(url, username, password); + + // 3. 创建Statement对象 + Statement statement = connection.createStatement(); + + // 4. 编写并执行DDL语句(创建一个名为`users`的表) +// String createTableUsers = "alter table nd_kq_zzsfw_menu add column type tinyint default 1 comment '类型 1.政府服务 2.增值服务 3.特殊'"; +// String createTableUsers = "alter table nd_kq_zzsfw_menu add column service_content text comment '服务内容';"; +// String createTableUsers = "alter table nd_kq_zzsfw_menu add column service_process text comment '服务流程';"; + String createTableUsers = "alter table nd_kq_zzsfw_menu add column telephone text comment '咨询电话'"; + statement.executeUpdate(createTableUsers); + + System.out.println(" Table '" + table + "' updated successfully."); + + // 5. 关闭资源 + statement.close(); + connection.close(); + + } catch (Exception e) { + e.printStackTrace(); + } + } }