Przeglądaj źródła

事项数据 变更

master
PoffyZhang 8 miesięcy temu
rodzic
commit
433bee8d57
10 zmienionych plików z 442 dodań i 31 usunięć
  1. +23
    -0
      kqapi/logs/info-20231122-0.log
  2. +80
    -23
      kqapi/logs/info.log
  3. +2
    -0
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/constants/ZzsfwMenuConstant.java
  4. +20
    -0
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/NdKqZzsfwMenuController.java
  5. +12
    -0
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwMenu.java
  6. +12
    -0
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/MattersVO.java
  7. +15
    -0
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/TreeVO.java
  8. +34
    -0
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java
  9. +138
    -4
      kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java
  10. +106
    -4
      kqapi/src/test/java/com/ningdatech/kqapi/menu/MenuTest.java

+ 23
- 0
kqapi/logs/info-20231122-0.log Wyświetl plik

@@ -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.

+ 80
- 23
kqapi/logs/info.log Wyświetl plik

@@ -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)

+ 2
- 0
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/constants/ZzsfwMenuConstant.java Wyświetl plik

@@ -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";
}

+ 20
- 0
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/NdKqZzsfwMenuController.java Wyświetl plik

@@ -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;

/**
* <p>
@@ -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]);
}
}


+ 12
- 0
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwMenu.java Wyświetl plik

@@ -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;
}

+ 12
- 0
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/MattersVO.java Wyświetl plik

@@ -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;
}

+ 15
- 0
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/TreeVO.java Wyświetl plik

@@ -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<TreeVO> chilren;
}

+ 34
- 0
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/enumeration/ItemTypeEnum.java Wyświetl plik

@@ -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;
}
}

+ 138
- 4
kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/MatterManage.java Wyświetl plik

@@ -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<TreeVO> getMatters() {
List<NdKqZzsfwMenu> matters = menuService.list(Wrappers.lambdaQuery(NdKqZzsfwMenu.class)
.isNotNull(NdKqZzsfwMenu::getWebapplyurl)
.orderByAsc(NdKqZzsfwMenu::getSort));
if(CollUtil.isEmpty(matters)){
return Collections.emptyList();
}

//如果是政府类型的 就隐藏 没有链接的
List<NdKqZzsfwMenu> finalMatters = matters.stream().filter(m -> Objects.nonNull(m.getType()) &&
(!m.getType().equals(ItemTypeEnum.GOV.getCode()) || Objects.nonNull(m.getWebapplyurl())))
.collect(Collectors.toList());
Set<String> zoneSet = new HashSet<>();
List<TreeVO> 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<TreeVO> generateItemType(NdKqZzsfwMenu menu, List<NdKqZzsfwMenu> matters) {
Set<Integer> 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<TreeVO> generateMatters(NdKqZzsfwMenu menu, List<NdKqZzsfwMenu> 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!";
}
}

+ 106
- 4
kqapi/src/test/java/com/ningdatech/kqapi/menu/MenuTest.java Wyświetl plik

@@ -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();
}
}
}

Ładowanie…
Anuluj
Zapisz