From 64fa585aa78dcd9ed7b7c4d7150b95b885fcd1ed Mon Sep 17 00:00:00 2001 From: Kevin-Laptop Date: Fri, 11 Apr 2025 11:11:36 +0800 Subject: [PATCH] init --- .idea/.gitignore | 8 + .idea/compiler.xml | 15 + .idea/encodings.xml | 13 + .idea/gradle.xml | 7 + .idea/jarRepositories.xml | 30 + .idea/misc.xml | 12 + .idea/vcs.xml | 6 + .vscode/launch.json | 22 + ...ght-loss-camp-service-api-2025-04-08-1.log | 866 ++++++++++++++++++ logs/weight-loss-camp-service-api.log | 36 + pom.xml | 10 + weight-loss-camp-api-base/pom.xml | 11 + .../api/base/core/ApiErrorCode.java | 4 +- .../api/base/entity/BaseEntity.java | 11 +- .../api/base/filter/WebLogFilter.java | 85 +- .../api/base/web/GlobalExceptionHandler.java | 32 +- .../api/base/core/ApiErrorCode.class | Bin 1886 -> 1886 bytes .../api/base/entity/BaseEntity.class | Bin 6408 -> 6994 bytes .../api/base/filter/WebLogFilter.class | Bin 4446 -> 6473 bytes .../api/base/web/GlobalExceptionHandler.class | Bin 2967 -> 5490 bytes .../api/data/config/CustomTenantHandler.java | 9 + .../api/data/config/CustomTenantHandler.class | Bin 997 -> 1173 bytes weight-loss-camp-service-api/pom.xml | 10 + weight-loss-camp-service-api/sql/init.sql | 74 ++ .../WeightLossCampServiceApiApplication.java | 2 + .../api/controller/CampInfoController.java | 62 ++ .../service/api/dto/CampClassroomDTO.java | 25 + .../service/api/dto/CampInfoDTO.java | 33 + .../service/api/entity/CampClassroom.java | 26 + .../api/entity/CampClassroomImage.java | 23 + .../service/api/entity/CampImage.java | 23 + .../service/api/entity/CampInfo.java | 32 + .../api/mapper/CampClassroomImageMapper.java | 12 + .../api/mapper/CampClassroomMapper.java | 12 + .../service/api/mapper/CampImageMapper.java | 12 + .../service/api/mapper/CampInfoMapper.java | 12 + .../service/api/service/CampInfoService.java | 40 + .../api/service/impl/CampInfoServiceImpl.java | 75 ++ .../src/main/resources/log4j2.xml | 3 +- .../WeightLossCampServiceApiApplication.class | Bin 874 -> 984 bytes .../api/controller/CampInfoController.class | Bin 0 -> 3692 bytes .../service/api/dto/CampClassroomDTO.class | Bin 0 -> 3248 bytes .../service/api/dto/CampInfoDTO.class | Bin 0 -> 4312 bytes .../service/api/entity/CampClassroom.class | Bin 0 -> 3162 bytes .../api/entity/CampClassroomImage.class | Bin 0 -> 2762 bytes .../service/api/entity/CampImage.class | Bin 0 -> 2681 bytes .../service/api/entity/CampInfo.class | Bin 0 -> 4125 bytes .../api/mapper/CampClassroomImageMapper.class | Bin 0 -> 463 bytes .../api/mapper/CampClassroomMapper.class | Bin 0 -> 448 bytes .../service/api/mapper/CampImageMapper.class | Bin 0 -> 436 bytes .../service/api/mapper/CampInfoMapper.class | Bin 0 -> 433 bytes .../service/api/service/CampInfoService.class | Bin 0 -> 1466 bytes .../service/impl/CampInfoServiceImpl.class | Bin 0 -> 7586 bytes .../target/classes/log4j2.xml | 3 +- 54 files changed, 1613 insertions(+), 43 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 .vscode/launch.json create mode 100644 logs/weight-loss-camp-service-api-2025-04-08-1.log create mode 100644 logs/weight-loss-camp-service-api.log create mode 100644 weight-loss-camp-service-api/sql/init.sql create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampImage.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampInfo.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/CampInfoService.java create mode 100644 weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.java create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampImage.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampInfo.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/CampInfoService.class create mode 100644 weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96e90e7 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..20ec4b5 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..514d7a6 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..f10d084 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a8fc129 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c72515b --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,22 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Current File", + "request": "launch", + "mainClass": "${file}" + }, + { + "type": "java", + "name": "service-api", + "request": "launch", + "mainClass": "com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication", + "projectName": "weight-loss-camp-service-api", + "vmArgs": "-Dfile.encoding=UTF-8" + } + ] +} diff --git a/logs/weight-loss-camp-service-api-2025-04-08-1.log b/logs/weight-loss-camp-service-api-2025-04-08-1.log new file mode 100644 index 0000000..9438733 --- /dev/null +++ b/logs/weight-loss-camp-service-api-2025-04-08-1.log @@ -0,0 +1,866 @@ +2025-04-08 15:25:15.907 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:25:15.906 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:25:15.912 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:25:15.912 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:25:15.915 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:25:15.915 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:25:15.917 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:25:16.088 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 19004 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:25:16.091 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:25:17.107 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:25:17.493 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:25:17.509 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:25:17.511 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:25:17.511 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:25:17.565 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:25:17.567 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1433 ms +2025-04-08 15:25:19.323 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:25:20.522 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:25:20.634 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:25:20.664 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:25:20.771 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:25:20.771 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:25:20.807 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:25:20.808 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:25:20.811 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:25:20.838 [http-nio-8080-exec-1] [] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Request: {"method":"POST","params":{},"uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:25:20.961 [http-nio-8080-exec-1] [] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - MethodArgumentNotValidException 参数校验异常: mainImage:主图不能为空;address:地址不能为空;longitude:经度不能为空;latitude:纬度不能为空 +2025-04-08 15:25:20.984 [http-nio-8080-exec-1] [] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Response: {"body":"{\"code\":400,\"msg\":\"mainImage:主图不能为空;address:地址不能为空;longitude:经度不能为空;latitude:纬度不能为空\",\"data\":null}","status":200} +2025-04-08 15:25:21.678 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:25:21.679 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:25:21.680 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:25:21.681 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:25:21.785 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:25:22.790 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:25:22.798 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.212 seconds (process running for 9.135) +2025-04-08 15:26:40.158 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:26:40.159 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:26:40.167 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:26:40.167 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:26:40.168 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:26:40.169 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:26:40.170 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:26:40.347 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 5344 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:26:40.351 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:26:41.242 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:26:41.634 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:26:41.650 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:26:41.653 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:26:41.654 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:26:41.705 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:26:41.706 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1310 ms +2025-04-08 15:26:43.429 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:26:44.610 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:26:44.704 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:26:44.725 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:26:44.787 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:26:44.787 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:26:45.610 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:26:45.612 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:26:45.613 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:26:45.614 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:26:45.708 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:26:46.722 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:26:46.734 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.968 seconds (process running for 8.802) +2025-04-08 15:27:11.437 [http-nio-8080-exec-2] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:27:11.439 [http-nio-8080-exec-2] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:27:11.441 [http-nio-8080-exec-2] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:27:11.458 [http-nio-8080-exec-2] [] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Request: {"method":"POST","params":{},"uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:27:11.583 [http-nio-8080-exec-2] [] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - MethodArgumentNotValidException 参数校验异常: latitude:纬度不能为空;address:地址不能为空;mainImage:主图不能为空;longitude:经度不能为空 +2025-04-08 15:27:11.594 [http-nio-8080-exec-2] [] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Response: {"body":"{\"code\":400,\"msg\":\"latitude:纬度不能为空;address:地址不能为空;mainImage:主图不能为空;longitude:经度不能为空\",\"data\":null}","status":200} +2025-04-08 15:29:01.816 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:29:01.818 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:29:01.821 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:29:01.821 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:29:01.824 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:29:01.824 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:29:01.824 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:29:02.004 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 19116 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:29:02.007 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:29:02.882 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:29:03.253 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:29:03.267 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:29:03.269 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:29:03.270 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:29:03.318 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:29:03.319 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1272 ms +2025-04-08 15:29:05.054 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:29:06.246 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:29:06.335 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:29:06.352 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:29:06.417 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:29:06.417 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:29:07.316 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:29:07.317 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:29:07.318 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:29:07.319 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:29:07.419 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:29:08.427 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:29:08.436 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.936 seconds (process running for 8.768) +2025-04-08 15:29:11.829 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:29:11.829 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:29:11.831 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:29:11.842 [http-nio-8080-exec-1] [1db73464-ab26-4efc-9599-a4a146df1ab6] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Request: {"method":"POST","params":{},"uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:29:11.937 [http-nio-8080-exec-1] [1db73464-ab26-4efc-9599-a4a146df1ab6] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - MethodArgumentNotValidException 参数校验异常: latitude:纬度不能为空;mainImage:主图不能为空;address:地址不能为空;longitude:经度不能为空 +2025-04-08 15:29:11.950 [http-nio-8080-exec-1] [1db73464-ab26-4efc-9599-a4a146df1ab6] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Response: {"body":"{\"code\":400,\"msg\":\"latitude:纬度不能为空;mainImage:主图不能为空;address:地址不能为空;longitude:经度不能为空\",\"data\":null}","status":200} +2025-04-08 15:31:42.750 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:31:42.748 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:31:42.757 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:31:42.757 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:31:42.758 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:31:42.758 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:31:42.759 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:31:42.946 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 8440 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:31:42.949 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:31:43.864 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:31:44.247 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:31:44.262 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:31:44.263 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:31:44.264 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:31:44.316 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:31:44.319 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1326 ms +2025-04-08 15:31:46.053 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:31:47.226 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:31:47.313 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:31:47.336 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:31:47.402 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:31:47.402 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:31:48.315 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:31:48.317 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:31:48.318 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:31:48.319 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:31:48.440 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:31:49.455 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:31:49.472 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.055 seconds (process running for 9.043) +2025-04-08 15:31:52.189 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:31:52.190 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:31:52.192 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:31:52.208 [http-nio-8080-exec-1] [9a214a86-9c53-469d-a06a-adbc061bba2f] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Request: {"method":"POST","params":{},"uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:31:52.315 [http-nio-8080-exec-1] [9a214a86-9c53-469d-a06a-adbc061bba2f] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - MethodArgumentNotValidException 参数校验异常: address:地址不能为空;latitude:纬度不能为空;longitude:经度不能为空;mainImage:主图不能为空 +2025-04-08 15:31:52.329 [http-nio-8080-exec-1] [9a214a86-9c53-469d-a06a-adbc061bba2f] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Response: {"body":"{\"code\":400,\"msg\":\"address:地址不能为空;latitude:纬度不能为空;longitude:经度不能为空;mainImage:主图不能为空\",\"data\":null}","status":200} +2025-04-08 15:34:16.004 [http-nio-8080-exec-2] [69b6baca-2c00-4c02-82c4-5e652d701d3f] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Request: {"method":"POST","params":{},"uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:34:16.072 [http-nio-8080-exec-2] [69b6baca-2c00-4c02-82c4-5e652d701d3f] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:34:16.383 [http-nio-8080-exec-2] [69b6baca-2c00-4c02-82c4-5e652d701d3f] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@70bdd2f6 +2025-04-08 15:34:16.385 [http-nio-8080-exec-2] [69b6baca-2c00-4c02-82c4-5e652d701d3f] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:34:16.663 [http-nio-8080-exec-2] [69b6baca-2c00-4c02-82c4-5e652d701d3f] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - 系统异常 +org.springframework.dao.DataIntegrityViolationException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null +### The error may exist in com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java (best guess) +### The error may involve com.wjbl.weightlosscamp.service.api.mapper.CampInfoMapper.insert-Inline +### The error occurred while setting parameters +### SQL: INSERT INTO camp_info (id, name, longitude, latitude, address, main_image, tenant_id, created_by_id, created_by, created_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null +; Column 'tenant_id' cannot be null + at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:97) ~[spring-jdbc-6.1.18.jar:6.1.18] + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) ~[spring-jdbc-6.1.18.jar:6.1.18] + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) ~[spring-jdbc-6.1.18.jar:6.1.18] + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) ~[mybatis-spring-3.0.4.jar:3.0.4] + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) ~[mybatis-spring-3.0.4.jar:3.0.4] + at jdk.proxy2/jdk.proxy2.$Proxy98.insert(Unknown Source) ~[?:?] + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:224) ~[mybatis-spring-3.0.4.jar:3.0.4] + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) ~[mybatis-plus-core-3.5.11.jar:3.5.11] + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:155) ~[mybatis-plus-core-3.5.11.jar:3.5.11] + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:92) ~[mybatis-plus-core-3.5.11.jar:3.5.11] + at jdk.proxy2/jdk.proxy2.$Proxy104.insert(Unknown Source) ~[?:?] + at com.baomidou.mybatisplus.extension.repository.IRepository.save(IRepository.java:37) ~[mybatis-plus-extension-3.5.11.jar:3.5.11] + at com.wjbl.weightlosscamp.service.api.service.impl.CampInfoServiceImpl.add(CampInfoServiceImpl.java:26) ~[classes/:?] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.18.jar:6.1.18] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) ~[spring-aop-6.1.18.jar:6.1.18] + at com.wjbl.weightlosscamp.service.api.service.impl.CampInfoServiceImpl$$SpringCGLIB$$0.add() ~[classes/:?] + at com.wjbl.weightlosscamp.service.api.controller.CampInfoController.add(CampInfoController.java:34) ~[classes/:?] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.18.jar:6.1.18] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.39.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.18.jar:6.1.18] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.39.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at com.wjbl.weightlosscamp.api.base.filter.WebLogFilter.doFilterInternal(WebLogFilter.java:42) ~[classes/:?] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at com.wjbl.weightlosscamp.api.base.filter.WebParamFilter.doFilterInternal(WebParamFilter.java:49) ~[classes/:?] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at java.base/java.lang.Thread.run(Thread.java:1583) [?:?] +Caused by: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:118) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) ~[HikariCP-5.1.0.jar:?] + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) ~[HikariCP-5.1.0.jar:?] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) ~[mybatis-3.5.19.jar:3.5.19] + at jdk.proxy3/jdk.proxy3.$Proxy129.execute(Unknown Source) ~[?:?] + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) ~[mybatis-3.5.19.jar:3.5.19] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) ~[mybatis-3.5.19.jar:3.5.19] + at jdk.proxy2/jdk.proxy2.$Proxy127.update(Unknown Source) ~[?:?] + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) ~[mybatis-3.5.19.jar:3.5.19] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) ~[mybatis-3.5.19.jar:3.5.19] + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) ~[mybatis-plus-extension-3.5.11.jar:3.5.11] + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) ~[mybatis-3.5.19.jar:3.5.19] + at jdk.proxy2/jdk.proxy2.$Proxy126.update(Unknown Source) ~[?:?] + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) ~[mybatis-3.5.19.jar:3.5.19] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ~[mybatis-spring-3.0.4.jar:3.0.4] + ... 70 more +2025-04-08 15:34:16.683 [http-nio-8080-exec-2] [69b6baca-2c00-4c02-82c4-5e652d701d3f] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - Response: {"body":"{\"code\":500,\"msg\":\"\\r\\n### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null\\r\\n### The error may exist in com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java (best guess)\\r\\n### The error may involve com.wjbl.weightlosscamp.service.api.mapper.CampInfoMapper.insert-Inline\\r\\n### The error occurred while setting parameters\\r\\n### SQL: INSERT INTO camp_info (id, name, longitude, latitude, address, main_image, tenant_id, created_by_id, created_by, created_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\\r\\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null\\n; Column 'tenant_id' cannot be null\",\"data\":null}","status":200} +2025-04-08 15:42:18.666 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:42:18.666 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:42:18.674 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:42:18.675 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:42:18.675 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:42:18.675 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:42:18.676 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:42:18.848 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 17920 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:42:18.852 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:42:19.789 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:42:20.144 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:42:20.160 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:42:20.163 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:42:20.164 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:42:20.212 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:42:20.214 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1306 ms +2025-04-08 15:42:21.903 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:42:23.092 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:42:23.192 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:42:23.211 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:42:23.272 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:42:23.273 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:42:24.134 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:42:24.135 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:42:24.136 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:42:24.136 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:42:24.246 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:42:25.257 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:42:25.265 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.925 seconds (process running for 8.783) +2025-04-08 15:42:33.214 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:42:33.215 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:42:33.216 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:42:34.768 [http-nio-8080-exec-3] [a453127a-a44e-4e5c-b6d5-684e3fd1a70b] INFO org.springdoc.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 233 ms +2025-04-08 15:42:37.673 [http-nio-8080-exec-4] [338cd5aa-cb7e-499b-9638-704fc4d8b35a] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:42:37.949 [http-nio-8080-exec-4] [338cd5aa-cb7e-499b-9638-704fc4d8b35a] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@36b2c136 +2025-04-08 15:42:37.950 [http-nio-8080-exec-4] [338cd5aa-cb7e-499b-9638-704fc4d8b35a] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:42:38.202 [http-nio-8080-exec-4] [338cd5aa-cb7e-499b-9638-704fc4d8b35a] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - 系统异常 +org.springframework.dao.DataIntegrityViolationException: +### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null +### The error may exist in com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java (best guess) +### The error may involve com.wjbl.weightlosscamp.service.api.mapper.CampInfoMapper.insert-Inline +### The error occurred while setting parameters +### SQL: INSERT INTO camp_info (id, name, longitude, latitude, address, main_image, tenant_id, created_by_id, created_by, created_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +### Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null +; Column 'tenant_id' cannot be null + at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:97) ~[spring-jdbc-6.1.18.jar:6.1.18] + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) ~[spring-jdbc-6.1.18.jar:6.1.18] + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:116) ~[spring-jdbc-6.1.18.jar:6.1.18] + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93) ~[mybatis-spring-3.0.4.jar:3.0.4] + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347) ~[mybatis-spring-3.0.4.jar:3.0.4] + at jdk.proxy2/jdk.proxy2.$Proxy98.insert(Unknown Source) ~[?:?] + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:224) ~[mybatis-spring-3.0.4.jar:3.0.4] + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) ~[mybatis-plus-core-3.5.11.jar:3.5.11] + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:155) ~[mybatis-plus-core-3.5.11.jar:3.5.11] + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:92) ~[mybatis-plus-core-3.5.11.jar:3.5.11] + at jdk.proxy2/jdk.proxy2.$Proxy104.insert(Unknown Source) ~[?:?] + at com.baomidou.mybatisplus.extension.repository.IRepository.save(IRepository.java:37) ~[mybatis-plus-extension-3.5.11.jar:3.5.11] + at com.wjbl.weightlosscamp.service.api.service.impl.CampInfoServiceImpl.add(CampInfoServiceImpl.java:26) ~[classes/:?] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) ~[spring-aop-6.1.18.jar:6.1.18] + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:716) ~[spring-aop-6.1.18.jar:6.1.18] + at com.wjbl.weightlosscamp.service.api.service.impl.CampInfoServiceImpl$$SpringCGLIB$$0.add() ~[classes/:?] + at com.wjbl.weightlosscamp.service.api.controller.CampInfoController.add(CampInfoController.java:34) ~[classes/:?] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.18.jar:6.1.18] + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.18.jar:6.1.18] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.39.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.18.jar:6.1.18] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.39.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at com.wjbl.weightlosscamp.api.base.filter.WebLogFilter.doFilterInternal(WebLogFilter.java:42) ~[classes/:?] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at com.wjbl.weightlosscamp.api.base.filter.WebParamFilter.doFilterInternal(WebParamFilter.java:49) ~[classes/:?] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.18.jar:6.1.18] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.18.jar:6.1.18] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.39.jar:10.1.39] + at java.base/java.lang.Thread.run(Thread.java:1583) [?:?] +Caused by: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:118) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) ~[mysql-connector-j-8.3.0.jar:8.3.0] + at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) ~[HikariCP-5.1.0.jar:?] + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) ~[HikariCP-5.1.0.jar:?] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) ~[mybatis-3.5.19.jar:3.5.19] + at jdk.proxy3/jdk.proxy3.$Proxy134.execute(Unknown Source) ~[?:?] + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) ~[mybatis-3.5.19.jar:3.5.19] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) ~[mybatis-3.5.19.jar:3.5.19] + at jdk.proxy2/jdk.proxy2.$Proxy132.update(Unknown Source) ~[?:?] + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) ~[mybatis-3.5.19.jar:3.5.19] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) ~[mybatis-3.5.19.jar:3.5.19] + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) ~[mybatis-plus-extension-3.5.11.jar:3.5.11] + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) ~[mybatis-3.5.19.jar:3.5.19] + at jdk.proxy2/jdk.proxy2.$Proxy131.update(Unknown Source) ~[?:?] + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) ~[mybatis-3.5.19.jar:3.5.19] + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) ~[mybatis-3.5.19.jar:3.5.19] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333) ~[mybatis-spring-3.0.4.jar:3.0.4] + ... 70 more +2025-04-08 15:42:38.352 [http-nio-8080-exec-4] [338cd5aa-cb7e-499b-9638-704fc4d8b35a] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"name\": \"是啊打撒打撒\",\n \"longitude\": \"123\",\n \"latitude\": \"1231\",\n \"address\": \"1231\",\n \"mainImage\": \"1321\"\n}","uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:42:38.352 [http-nio-8080-exec-4] [338cd5aa-cb7e-499b-9638-704fc4d8b35a] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"783ms","body":"{\"code\":500,\"msg\":\"\\r\\n### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null\\r\\n### The error may exist in com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java (best guess)\\r\\n### The error may involve com.wjbl.weightlosscamp.service.api.mapper.CampInfoMapper.insert-Inline\\r\\n### The error occurred while setting parameters\\r\\n### SQL: INSERT INTO camp_info (id, name, longitude, latitude, address, main_image, tenant_id, created_by_id, created_by, created_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\\r\\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Column 'tenant_id' cannot be null\\n; Column 'tenant_id' cannot be null\",\"data\":null}","status":200} +2025-04-08 15:44:09.503 [http-nio-8080-exec-6] [4baba96e-4cc7-427b-b4be-0abc17ed7b97] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"name\": \"是啊打撒打撒\",\n \"longitude\": \"123\",\n \"latitude\": \"1231\",\n \"address\": \"1231\",\n \"mainImage\": \"1321\"\n}","uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:44:09.504 [http-nio-8080-exec-6] [4baba96e-4cc7-427b-b4be-0abc17ed7b97] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"16ms","body":"{\"code\":200,\"msg\":\"操作成功\",\"data\":null}","status":200} +2025-04-08 15:45:37.648 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:45:37.650 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:45:37.655 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:45:37.655 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:45:37.656 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:45:37.656 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:45:37.657 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:45:37.845 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 19112 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:45:37.849 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:45:38.732 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:45:39.097 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:45:39.111 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:45:39.113 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:45:39.114 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:45:39.167 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:45:39.170 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1274 ms +2025-04-08 15:45:41.019 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:45:42.188 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:45:42.286 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:45:42.307 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:45:42.375 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:45:42.376 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:45:42.384 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:45:42.385 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:45:42.386 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:45:42.557 [http-nio-8080-exec-1] [dd6e24bd-7b46-4fb9-9bbf-db15d78cfcbe] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:45:42.931 [http-nio-8080-exec-1] [dd6e24bd-7b46-4fb9-9bbf-db15d78cfcbe] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@61509046 +2025-04-08 15:45:42.933 [http-nio-8080-exec-1] [dd6e24bd-7b46-4fb9-9bbf-db15d78cfcbe] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:45:43.196 [http-nio-8080-exec-1] [dd6e24bd-7b46-4fb9-9bbf-db15d78cfcbe] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"name\": \"是啊打撒打撒\",\n \"longitude\": \"123\",\n \"latitude\": \"1231\",\n \"address\": \"1231\",\n \"mainImage\": \"1321\"\n}","uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:45:43.197 [http-nio-8080-exec-1] [dd6e24bd-7b46-4fb9-9bbf-db15d78cfcbe] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"801ms","body":"{\"code\":200,\"msg\":\"操作成功\",\"data\":null}","status":200} +2025-04-08 15:45:43.292 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:45:43.296 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:45:43.297 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:45:43.298 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:45:43.411 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:45:44.426 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:45:44.434 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.108 seconds (process running for 8.917) +2025-04-08 15:45:58.889 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Start destroying ThreadPool +2025-04-08 15:45:58.889 [Thread-8] [] WARN com.alibaba.nacos.common.notify.NotifyCenter - [NotifyCenter] Start destroying Publisher +2025-04-08 15:45:58.889 [Thread-10] [] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder - [HttpClientBeanHolder] Start destroying common HttpClient +2025-04-08 15:45:58.889 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Destruction of the end +2025-04-08 15:45:58.889 [Thread-8] [] WARN com.alibaba.nacos.common.notify.NotifyCenter - [NotifyCenter] Destruction of the end +2025-04-08 15:45:58.889 [Thread-10] [] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder - [HttpClientBeanHolder] Destruction of the end +2025-04-08 15:45:58.895 [SpringApplicationShutdownHook] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now... +2025-04-08 15:45:58.941 [SpringApplicationShutdownHook] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - De-registration finished. +2025-04-08 15:45:58.949 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-04-08 15:45:58.955 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-04-08 15:46:31.722 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:46:31.722 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:46:31.730 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:46:31.730 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:46:31.731 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:46:31.731 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:46:31.732 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:46:31.913 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 15552 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:46:31.917 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:46:32.822 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:46:33.216 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:46:33.227 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:46:33.230 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:46:33.230 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:46:33.281 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:46:33.282 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1312 ms +2025-04-08 15:46:34.998 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:46:36.161 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:46:36.263 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:46:36.282 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:46:36.341 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:46:36.342 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:46:37.253 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:46:37.255 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:46:37.255 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:46:37.256 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:46:37.359 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:46:38.375 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:46:38.382 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.982 seconds (process running for 8.755) +2025-04-08 15:46:40.828 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:46:40.829 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:46:40.830 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:46:40.994 [http-nio-8080-exec-1] [cae0f601-5844-498e-8bfc-ef34c42ae1e7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:46:41.282 [http-nio-8080-exec-1] [cae0f601-5844-498e-8bfc-ef34c42ae1e7] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@31b48c76 +2025-04-08 15:46:41.284 [http-nio-8080-exec-1] [cae0f601-5844-498e-8bfc-ef34c42ae1e7] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:46:41.546 [http-nio-8080-exec-1] [cae0f601-5844-498e-8bfc-ef34c42ae1e7] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"name\": \"是啊打撒打撒\",\n \"longitude\": \"123\",\n \"latitude\": \"1231\",\n \"address\": \"1231\",\n \"mainImage\": \"1321\"\n}","uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:46:41.546 [http-nio-8080-exec-1] [cae0f601-5844-498e-8bfc-ef34c42ae1e7] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"706ms","body":"{\"code\":200,\"msg\":\"操作成功\",\"data\":null}","status":200} +2025-04-08 15:47:20.072 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:47:20.073 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:47:20.078 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:47:20.078 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:47:20.079 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:47:20.080 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:47:20.081 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:47:20.241 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 21780 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:47:20.245 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:47:21.117 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:47:21.457 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:47:21.472 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:47:21.473 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:47:21.474 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:47:21.519 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:47:21.521 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1239 ms +2025-04-08 15:47:23.239 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:47:24.424 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:47:24.495 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:47:24.513 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:47:24.570 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:47:24.571 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:47:25.404 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:47:25.406 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:47:25.407 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:47:25.407 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:47:25.506 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:47:26.517 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:47:26.527 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.787 seconds (process running for 8.559) +2025-04-08 15:47:29.901 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:47:29.901 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:47:29.903 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:47:30.109 [http-nio-8080-exec-1] [3f34ec7b-5686-4b8b-aaa5-9609ac83124c] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:47:30.410 [http-nio-8080-exec-1] [3f34ec7b-5686-4b8b-aaa5-9609ac83124c] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@54637bae +2025-04-08 15:47:30.413 [http-nio-8080-exec-1] [3f34ec7b-5686-4b8b-aaa5-9609ac83124c] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:47:30.645 [http-nio-8080-exec-1] [3f34ec7b-5686-4b8b-aaa5-9609ac83124c] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"name\": \"是啊打撒打撒\",\n \"longitude\": \"123\",\n \"latitude\": \"1231\",\n \"address\": \"1231\",\n \"mainImage\": \"1321\"\n}","uri":"/weight-loss-camp-service-api/camp/info/add"} +2025-04-08 15:47:30.646 [http-nio-8080-exec-1] [3f34ec7b-5686-4b8b-aaa5-9609ac83124c] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"734ms","body":"{\"code\":200,\"msg\":\"操作成功\",\"data\":null}","status":200} +2025-04-08 15:47:46.865 [http-nio-8080-exec-2] [ea59164e-7a49-4a8e-9f68-5b7f41c7f286] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"id\": \"\"\n}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 15:47:46.866 [http-nio-8080-exec-2] [ea59164e-7a49-4a8e-9f68-5b7f41c7f286] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"63ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} +2025-04-08 15:48:42.361 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:48:42.360 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:48:42.365 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:48:42.366 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:48:42.368 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:48:42.368 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:48:42.369 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:48:42.536 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 20528 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:48:42.539 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:48:43.493 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:48:43.848 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:48:43.861 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:48:43.863 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:48:43.863 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:48:43.910 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:48:43.911 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1330 ms +2025-04-08 15:48:45.623 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:48:46.786 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:48:46.859 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:48:46.883 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:48:46.945 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:48:46.946 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:48:47.807 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:48:47.809 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:48:47.810 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:48:47.811 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:48:47.919 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:48:48.930 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:48:48.936 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.903 seconds (process running for 8.677) +2025-04-08 15:48:50.504 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:48:50.505 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:48:50.506 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:48:50.592 [http-nio-8080-exec-1] [b04e31e3-f2b3-4e7c-a976-9fcce6e64c41] INFO com.wjbl.weightlosscamp.service.api.controller.CampInfoController - 哈哈哈哈2 +2025-04-08 15:48:50.705 [http-nio-8080-exec-1] [b04e31e3-f2b3-4e7c-a976-9fcce6e64c41] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:48:50.981 [http-nio-8080-exec-1] [b04e31e3-f2b3-4e7c-a976-9fcce6e64c41] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@76290563 +2025-04-08 15:48:50.982 [http-nio-8080-exec-1] [b04e31e3-f2b3-4e7c-a976-9fcce6e64c41] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:48:51.176 [http-nio-8080-exec-1] [b04e31e3-f2b3-4e7c-a976-9fcce6e64c41] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"id\": \"\"\n}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 15:48:51.177 [http-nio-8080-exec-1] [b04e31e3-f2b3-4e7c-a976-9fcce6e64c41] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"659ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} +2025-04-08 15:49:32.719 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:49:32.721 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:49:32.729 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:49:32.730 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:49:32.730 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:49:32.731 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:49:32.731 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:49:32.919 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 18428 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:49:32.924 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:49:33.827 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:49:34.178 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:49:34.193 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:49:34.195 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:49:34.196 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:49:34.251 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:49:34.254 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1275 ms +2025-04-08 15:49:36.172 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:49:37.339 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:49:37.413 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:49:37.432 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:49:37.492 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:49:37.493 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:49:38.483 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:49:38.484 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:49:38.488 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:49:38.489 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:49:38.639 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:49:39.651 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:49:39.659 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.283 seconds (process running for 9.064) +2025-04-08 15:49:41.573 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:49:41.574 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:49:41.575 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:49:41.657 [http-nio-8080-exec-1] [d3a504c8-f845-48fd-b1ee-aeb2daf0bc43] INFO com.wjbl.weightlosscamp.service.api.controller.CampInfoController - 哈哈哈哈2 +2025-04-08 15:49:41.767 [http-nio-8080-exec-1] [d3a504c8-f845-48fd-b1ee-aeb2daf0bc43] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:49:42.046 [http-nio-8080-exec-1] [d3a504c8-f845-48fd-b1ee-aeb2daf0bc43] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6122133e +2025-04-08 15:49:42.048 [http-nio-8080-exec-1] [d3a504c8-f845-48fd-b1ee-aeb2daf0bc43] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:49:42.249 [http-nio-8080-exec-1] [d3a504c8-f845-48fd-b1ee-aeb2daf0bc43] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"id\": \"\"\n}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 15:49:42.250 [http-nio-8080-exec-1] [d3a504c8-f845-48fd-b1ee-aeb2daf0bc43] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"663ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} +2025-04-08 15:52:43.356 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:52:43.360 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:52:43.364 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:52:43.364 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:52:43.365 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:52:43.365 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:52:43.366 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:52:43.567 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 20184 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:52:43.573 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:52:44.517 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:52:44.907 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:52:44.922 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:52:44.924 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:52:44.925 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:52:44.973 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:52:44.975 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1361 ms +2025-04-08 15:52:46.726 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:52:47.918 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:52:47.999 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:52:48.021 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:52:48.085 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:52:48.085 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:52:48.898 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:52:48.900 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:52:48.901 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:52:48.901 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:52:49.242 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:52:50.249 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:52:50.257 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.233 seconds (process running for 9.092) +2025-04-08 15:52:53.873 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:52:53.874 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:52:53.875 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:52:53.950 [http-nio-8080-exec-1] [af44a2b2-e7d2-40e4-946f-3820cafde60b] INFO com.wjbl.weightlosscamp.service.api.controller.CampInfoController - 哈哈哈哈2 +2025-04-08 15:52:54.115 [http-nio-8080-exec-1] [af44a2b2-e7d2-40e4-946f-3820cafde60b] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:52:54.405 [http-nio-8080-exec-1] [af44a2b2-e7d2-40e4-946f-3820cafde60b] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@14faa214 +2025-04-08 15:52:54.407 [http-nio-8080-exec-1] [af44a2b2-e7d2-40e4-946f-3820cafde60b] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:52:54.595 [http-nio-8080-exec-1] [af44a2b2-e7d2-40e4-946f-3820cafde60b] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"id\": \"\"\n}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 15:52:54.595 [http-nio-8080-exec-1] [af44a2b2-e7d2-40e4-946f-3820cafde60b] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"710ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} +2025-04-08 15:53:22.303 [Thread-8] [] WARN com.alibaba.nacos.common.notify.NotifyCenter - [NotifyCenter] Start destroying Publisher +2025-04-08 15:53:22.303 [Thread-10] [] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder - [HttpClientBeanHolder] Start destroying common HttpClient +2025-04-08 15:53:22.303 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Start destroying ThreadPool +2025-04-08 15:53:22.304 [Thread-8] [] WARN com.alibaba.nacos.common.notify.NotifyCenter - [NotifyCenter] Destruction of the end +2025-04-08 15:53:22.304 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Destruction of the end +2025-04-08 15:53:22.304 [Thread-10] [] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder - [HttpClientBeanHolder] Destruction of the end +2025-04-08 15:53:22.312 [SpringApplicationShutdownHook] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now... +2025-04-08 15:53:22.355 [SpringApplicationShutdownHook] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - De-registration finished. +2025-04-08 15:53:22.366 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-04-08 15:53:22.372 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-04-08 15:57:28.390 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:57:28.397 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:57:28.397 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:57:28.398 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:57:28.398 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:57:28.399 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:57:28.610 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 2532 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:57:28.616 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:57:29.501 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:57:29.830 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:57:29.844 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:57:29.846 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:57:29.846 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:57:29.913 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:57:29.914 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1252 ms +2025-04-08 15:57:30.272 [main] [] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultValidator' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Failed to instantiate [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]: Factory method 'defaultValidator' threw exception with message: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl +2025-04-08 15:57:30.275 [main] [] INFO org.apache.catalina.core.StandardService - Stopping service [Tomcat] +2025-04-08 15:57:30.288 [main] [] INFO org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger - + +Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. +2025-04-08 15:57:30.313 [main] [] ERROR org.springframework.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultValidator' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Failed to instantiate [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]: Factory method 'defaultValidator' threw exception with message: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:648) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1355) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1185) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971) ~[spring-context-6.1.18.jar:6.1.18] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) ~[spring-context-6.1.18.jar:6.1.18] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) [spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) [spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) [spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) [spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) [spring-boot-3.3.10.jar:3.3.10] + at com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication.main(WeightLossCampServiceApiApplication.java:17) [classes/:?] +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.validation.beanvalidation.LocalValidatorFactoryBean]: Factory method 'defaultValidator' threw exception with message: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:178) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.18.jar:6.1.18] + ... 19 more +Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl + at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:33) ~[hibernate-validator-8.0.2.Final.jar:8.0.2.Final] + at jakarta.validation.Validation$GenericBootstrapImpl.configure(Validation.java:296) ~[jakarta.validation-api-3.0.2.jar:?] + at org.springframework.boot.validation.MessageInterpolatorFactory.getMessageInterpolator(MessageInterpolatorFactory.java:79) ~[spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.validation.MessageInterpolatorFactory.getObject(MessageInterpolatorFactory.java:70) ~[spring-boot-3.3.10.jar:3.3.10] + at org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration.defaultValidator(ValidationAutoConfiguration.java:64) ~[spring-boot-autoconfigure-3.3.10.jar:3.3.10] + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] + at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:146) ~[spring-beans-6.1.18.jar:6.1.18] + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.18.jar:6.1.18] + ... 19 more +Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger [in thread "background-preinit"] + at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[?:?] + at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027) ~[?:?] + at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?] + at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) ~[?:?] + at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) ~[?:?] + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) ~[?:?] + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) ~[?:?] + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?] + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?] + at org.hibernate.validator.internal.util.logging.LoggerFactory.make(LoggerFactory.java:22) ~[hibernate-validator-8.0.2.Final.jar:8.0.2.Final] + at org.hibernate.validator.internal.util.Version.(Version.java:20) ~[hibernate-validator-8.0.2.Final.jar:8.0.2.Final] + at org.hibernate.validator.internal.engine.AbstractConfigurationImpl.(AbstractConfigurationImpl.java:85) ~[hibernate-validator-8.0.2.Final.jar:8.0.2.Final] + at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:33) ~[hibernate-validator-8.0.2.Final.jar:8.0.2.Final] + at jakarta.validation.Validation$GenericBootstrapImpl.configure(Validation.java:296) ~[jakarta.validation-api-3.0.2.jar:?] + at org.springframework.boot.autoconfigure.BackgroundPreinitializer$ValidationInitializer.run(BackgroundPreinitializer.java:158) ~[spring-boot-autoconfigure-3.3.10.jar:3.3.10] + at org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.runSafely(BackgroundPreinitializer.java:120) ~[spring-boot-autoconfigure-3.3.10.jar:3.3.10] + at org.springframework.boot.autoconfigure.BackgroundPreinitializer$1.run(BackgroundPreinitializer.java:105) ~[spring-boot-autoconfigure-3.3.10.jar:3.3.10] + at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] +2025-04-08 15:57:30.326 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Start destroying ThreadPool +2025-04-08 15:57:30.327 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Destruction of the end +2025-04-08 15:58:30.840 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:58:30.840 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 15:58:30.846 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:58:30.847 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 15:58:30.848 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 15:58:30.848 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 15:58:30.849 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 15:58:31.053 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 17100 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 15:58:31.058 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 15:58:31.952 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 15:58:32.302 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 15:58:32.316 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 15:58:32.318 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 15:58:32.318 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 15:58:32.369 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 15:58:32.371 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1259 ms +2025-04-08 15:58:34.057 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:58:35.242 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:58:35.326 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 15:58:35.349 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 15:58:35.439 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 15:58:35.439 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 15:58:36.300 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 15:58:36.302 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 15:58:36.303 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 15:58:36.304 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 15:58:36.406 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 15:58:37.421 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 15:58:37.430 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 7.939 seconds (process running for 8.862) +2025-04-08 15:58:41.554 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 15:58:41.554 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 15:58:41.555 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 15:58:41.623 [http-nio-8080-exec-1] [a97ad18a-1ed4-444d-a168-a8c21261246f] INFO com.wjbl.weightlosscamp.service.api.controller.CampInfoController - 哈哈哈哈2 +2025-04-08 15:58:41.723 [http-nio-8080-exec-1] [a97ad18a-1ed4-444d-a168-a8c21261246f] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 15:58:42.018 [http-nio-8080-exec-1] [a97ad18a-1ed4-444d-a168-a8c21261246f] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@58950204 +2025-04-08 15:58:42.020 [http-nio-8080-exec-1] [a97ad18a-1ed4-444d-a168-a8c21261246f] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 15:58:42.227 [http-nio-8080-exec-1] [a97ad18a-1ed4-444d-a168-a8c21261246f] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"id\": \"\"\n}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 15:58:42.228 [http-nio-8080-exec-1] [a97ad18a-1ed4-444d-a168-a8c21261246f] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"665ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} +2025-04-08 16:01:31.188 [Thread-8] [] WARN com.alibaba.nacos.common.notify.NotifyCenter - [NotifyCenter] Start destroying Publisher +2025-04-08 16:01:31.188 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Start destroying ThreadPool +2025-04-08 16:01:31.188 [Thread-10] [] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder - [HttpClientBeanHolder] Start destroying common HttpClient +2025-04-08 16:01:31.189 [Thread-8] [] WARN com.alibaba.nacos.common.notify.NotifyCenter - [NotifyCenter] Destruction of the end +2025-04-08 16:01:31.189 [Thread-2] [] WARN com.alibaba.nacos.common.executor.ThreadPoolManager - [ThreadPoolManager] Destruction of the end +2025-04-08 16:01:31.189 [Thread-10] [] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder - [HttpClientBeanHolder] Destruction of the end +2025-04-08 16:01:31.198 [SpringApplicationShutdownHook] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - De-registering from Nacos Server now... +2025-04-08 16:01:31.243 [SpringApplicationShutdownHook] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - De-registration finished. +2025-04-08 16:01:31.252 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-04-08 16:01:31.262 [SpringApplicationShutdownHook] [] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-04-08 16:03:56.178 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 16:03:56.178 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 16:03:56.184 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 16:03:56.184 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 16:03:56.186 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 16:03:56.186 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 16:03:56.187 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 16:03:56.353 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 300 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 16:03:56.357 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 16:03:57.366 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 16:03:57.782 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 16:03:57.800 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 16:03:57.802 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 16:03:57.803 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 16:03:57.853 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 16:03:57.854 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1456 ms +2025-04-08 16:03:59.541 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 16:04:00.733 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 16:04:00.824 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 16:04:00.853 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 16:04:00.935 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 16:04:00.935 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 16:04:01.874 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 16:04:01.877 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 16:04:01.878 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 16:04:01.879 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 16:04:01.985 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 16:04:02.992 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 16:04:03.001 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.149 seconds (process running for 8.983) +2025-04-08 16:04:06.910 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 16:04:06.910 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 16:04:06.911 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 16:04:06.983 [http-nio-8080-exec-1] [872531b8-dbd9-4937-9f2b-0def06b83dcb] INFO com.wjbl.weightlosscamp.service.api.controller.CampInfoController - 哈哈哈哈2 +2025-04-08 16:04:07.081 [http-nio-8080-exec-1] [872531b8-dbd9-4937-9f2b-0def06b83dcb] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 16:04:07.372 [http-nio-8080-exec-1] [872531b8-dbd9-4937-9f2b-0def06b83dcb] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@51e6d0cc +2025-04-08 16:04:07.374 [http-nio-8080-exec-1] [872531b8-dbd9-4937-9f2b-0def06b83dcb] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 16:04:07.577 [http-nio-8080-exec-1] [872531b8-dbd9-4937-9f2b-0def06b83dcb] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\n \"id\": \"\"\n}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 16:04:07.578 [http-nio-8080-exec-1] [872531b8-dbd9-4937-9f2b-0def06b83dcb] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"657ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} +2025-04-08 16:23:21.465 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-08 16:23:21.466 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-08 16:23:21.477 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 16:23:21.477 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-08 16:23:21.479 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-08 16:23:21.480 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-08 16:23:21.481 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-08 16:23:21.816 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 22120 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-08 16:23:21.822 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-08 16:23:23.081 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-08 16:23:23.497 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-08 16:23:23.515 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-08 16:23:23.518 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-08 16:23:23.519 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-08 16:23:23.574 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-08 16:23:23.576 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1673 ms +2025-04-08 16:23:25.293 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 16:23:26.478 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 16:23:26.562 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-08 16:23:26.586 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-08 16:23:26.652 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-08 16:23:26.653 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-08 16:23:27.524 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-08 16:23:27.525 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-08 16:23:27.526 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-08 16:23:27.527 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-08 16:23:27.623 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-08 16:23:28.631 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-08 16:23:28.639 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.709 seconds (process running for 9.934) +2025-04-08 16:23:29.426 [http-nio-8080-exec-1] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-08 16:23:29.427 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-08 16:23:29.428 [http-nio-8080-exec-1] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-08 16:23:29.496 [http-nio-8080-exec-1] [e907e10f-13a0-408b-aee1-f723d4d43a57] INFO com.wjbl.weightlosscamp.service.api.controller.CampInfoController - 哈哈哈哈2 +2025-04-08 16:23:29.591 [http-nio-8080-exec-1] [e907e10f-13a0-408b-aee1-f723d4d43a57] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-04-08 16:23:29.863 [http-nio-8080-exec-1] [e907e10f-13a0-408b-aee1-f723d4d43a57] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@207ed474 +2025-04-08 16:23:29.864 [http-nio-8080-exec-1] [e907e10f-13a0-408b-aee1-f723d4d43a57] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-04-08 16:23:30.071 [http-nio-8080-exec-1] [e907e10f-13a0-408b-aee1-f723d4d43a57] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\"id\":\"\"}","uri":"/weight-loss-camp-service-api/camp/info/get"} +2025-04-08 16:23:30.072 [http-nio-8080-exec-1] [e907e10f-13a0-408b-aee1-f723d4d43a57] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"634ms","body":"{\"code\":500,\"msg\":\"营地不存在\",\"data\":null}","status":200} diff --git a/logs/weight-loss-camp-service-api.log b/logs/weight-loss-camp-service-api.log new file mode 100644 index 0000000..fbe37b9 --- /dev/null +++ b/logs/weight-loss-camp-service-api.log @@ -0,0 +1,36 @@ +2025-04-11 11:05:12.516 [background-preinit] [] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.2.Final +2025-04-11 11:05:12.513 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback12.LogbackNacosLoggingAdapterBuilder +2025-04-11 11:05:12.525 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-11 11:05:12.525 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.logback14.LogbackNacosLoggingAdapterBuilder +2025-04-11 11:05:12.526 [main] [] WARN com.alibaba.nacos.client.logging.NacosLogging - Build Nacos Logging Adapter failed: ch/qos/logback/classic/spi/LoggerContextListener +2025-04-11 11:05:12.526 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter Builder: com.alibaba.nacos.logger.adapter.log4j2.Log4j2NacosLoggingAdapterBuilder +2025-04-11 11:05:12.526 [main] [] INFO com.alibaba.nacos.client.logging.NacosLogging - Nacos Logging Adapter: com.alibaba.nacos.logger.adapter.log4j2.Log4J2NacosLoggingAdapter match org.apache.logging.slf4j.Log4jLogger success. +2025-04-11 11:05:12.718 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Starting WeightLossCampServiceApiApplication using Java 21.0.6 with PID 17192 (C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp\weight-loss-camp-service-api\target\classes started by Administrator in C:\kevin\PROJECT\weigtht-loss-camp\code\service\weight-loss-camp) +2025-04-11 11:05:12.724 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - No active profile set, falling back to 1 default profile: "default" +2025-04-11 11:05:13.681 [main] [] INFO org.springframework.cloud.context.scope.GenericScope - BeanFactory id=d0cf9a2e-f1b7-3e4c-9f96-2847714319c9 +2025-04-11 11:05:14.042 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port 8080 (http) +2025-04-11 11:05:14.056 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"] +2025-04-11 11:05:14.058 [main] [] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-04-11 11:05:14.059 [main] [] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.39] +2025-04-11 11:05:14.114 [main] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring embedded WebApplicationContext +2025-04-11 11:05:14.116 [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1345 ms +2025-04-11 11:05:15.844 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-11 11:05:17.036 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-11 11:05:17.131 [main] [] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"] +2025-04-11 11:05:17.153 [main] [] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port 8080 (http) with context path '/weight-loss-camp-service-api' +2025-04-11 11:05:17.251 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. +2025-04-11 11:05:17.251 [main] [] INFO com.alibaba.nacos.plugin.auth.spi.client.ClientAuthPluginManager - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. +2025-04-11 11:05:18.161 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to get current node abilities... +2025-04-11 11:05:18.163 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Ready to initialize current node abilities, support modes: [SDK_CLIENT] +2025-04-11 11:05:18.165 [main] [] INFO com.alibaba.nacos.common.ability.AbstractAbilityControlManager - Initialize current abilities finish... +2025-04-11 11:05:18.166 [main] [] INFO com.alibaba.nacos.common.ability.discover.NacosAbilityManagerHolder - [AbilityControlManager] Successfully initialize AbilityControlManager +2025-04-11 11:05:18.280 [main] [] INFO com.alibaba.cloud.nacos.registry.NacosServiceRegistry - nacos registry, weight-loss-camp weight-loss-camp-service-api 192.168.137.1:8080 register finished +2025-04-11 11:05:19.297 [main] [] INFO org.springframework.cloud.commons.util.InetUtils - Cannot determine local hostname +2025-04-11 11:05:19.305 [main] [] INFO com.wjbl.weightlosscamp.service.api.WeightLossCampServiceApiApplication - Started WeightLossCampServiceApiApplication in 8.111 seconds (process running for 9.016) +2025-04-11 11:06:39.717 [http-nio-8080-exec-4] [] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/weight-loss-camp-service-api] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-11 11:06:39.718 [http-nio-8080-exec-4] [] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-04-11 11:06:39.719 [http-nio-8080-exec-4] [] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 1 ms +2025-04-11 11:06:40.505 [http-nio-8080-exec-6] [c6e2d750-d677-4d22-87d4-761ce69f6e82] INFO org.springdoc.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 222 ms +2025-04-11 11:08:56.669 [http-nio-8080-exec-7] [6d5d8acc-c6c7-4af2-aad0-c65c46c5e804] ERROR com.wjbl.weightlosscamp.api.base.web.GlobalExceptionHandler - MethodArgumentNotValidException 参数校验异常: name:营地名称不能为空;longitude:经度不能为空;address:地址不能为空;latitude:纬度不能为空;mainImage:主图不能为空 +2025-04-11 11:08:56.794 [http-nio-8080-exec-7] [6d5d8acc-c6c7-4af2-aad0-c65c46c5e804] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [请求] {"method":"POST","params":{},"body":"{\"name\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"address\":\"\",\"mainImage\":\"\"}","uri":"/weight-loss-camp-service-api/camp/info/update"} +2025-04-11 11:08:56.795 [http-nio-8080-exec-7] [6d5d8acc-c6c7-4af2-aad0-c65c46c5e804] INFO com.wjbl.weightlosscamp.api.base.filter.WebLogFilter - [响应] {"duration":"194ms","body":"{\"code\":400,\"msg\":\"name:营地名称不能为空;longitude:经度不能为空;address:地址不能为空;latitude:纬度不能为空;mainImage:主图不能为空\",\"data\":null}","status":200} diff --git a/pom.xml b/pom.xml index c3e96c3..3b6212d 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,7 @@ 2023.0.3.2 3.5.11 4.5.0 + 2.0.57 @@ -71,6 +72,13 @@ knife4j-openapi3-jakarta-spring-boot-starter ${knife4j.version} + + + + com.alibaba.fastjson2 + fastjson2 + ${fastjson2.version} + @@ -100,6 +108,8 @@ true + + diff --git a/weight-loss-camp-api-base/pom.xml b/weight-loss-camp-api-base/pom.xml index 2cd1fb0..b728c5c 100644 --- a/weight-loss-camp-api-base/pom.xml +++ b/weight-loss-camp-api-base/pom.xml @@ -16,6 +16,12 @@ org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-logging + + @@ -29,5 +35,10 @@ org.springframework.boot spring-boot-starter-validation + + + com.alibaba.fastjson2 + fastjson2 + \ No newline at end of file diff --git a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.java b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.java index 1c2f3ac..2c35649 100644 --- a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.java +++ b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.java @@ -11,10 +11,10 @@ import lombok.Getter; public enum ApiErrorCode { SUCCESS(200, "操作成功"), FAILED(500, "操作失败"), - VALIDATE_FAILED(404, "参数检验失败"), + VALIDATE_FAILED(400, "参数检验失败"), UNAUTHORIZED(401, "暂未登录或token已经过期"), FORBIDDEN(403, "没有相关权限"); private final int code; private final String msg; -} \ No newline at end of file +} \ No newline at end of file diff --git a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.java b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.java index 94b6c2d..7bf399c 100644 --- a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.java +++ b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.java @@ -1,7 +1,9 @@ package com.wjbl.weightlosscamp.api.base.entity; import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.Version; import lombok.Data; @@ -13,6 +15,13 @@ import java.time.LocalDateTime; */ @Data public class BaseEntity { + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /** * 租户ID */ @@ -66,4 +75,4 @@ public class BaseEntity { */ @Version private Integer revision; -} \ No newline at end of file +} \ No newline at end of file diff --git a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.java b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.java index c728ccd..583a6b3 100644 --- a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.java +++ b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.java @@ -1,16 +1,21 @@ + package com.wjbl.weightlosscamp.api.base.filter; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import org.slf4j.MDC; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.util.ContentCachingRequestWrapper; import org.springframework.web.util.ContentCachingResponseWrapper; -import com.fasterxml.jackson.databind.ObjectMapper; +import com.alibaba.fastjson2.JSON; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; @@ -18,66 +23,96 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; -/** - * Web日志过滤器 - */ @Slf4j @Component @Order(2) public class WebLogFilter extends OncePerRequestFilter { - private final ObjectMapper objectMapper = new ObjectMapper(); - @SuppressWarnings("null") @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + + // 包装request和response以便多次读取 ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper(request); ContentCachingResponseWrapper responseWrapper = new ContentCachingResponseWrapper(response); try { - // 记录请求信息 - logRequest(requestWrapper); + long startTime = System.currentTimeMillis(); + // 执行请求并记录日志 filterChain.doFilter(requestWrapper, responseWrapper); - // 记录响应信息 - logResponse(responseWrapper); + // 记录请求日志 + logRequest(requestWrapper); + // 记录响应日志 + long endTime = System.currentTimeMillis(); + logResponse(responseWrapper, endTime - startTime); + + // 复制响应内容到原始response responseWrapper.copyBodyToResponse(); } finally { - responseWrapper.resetBuffer(); + MDC.clear(); } } - private void logRequest(ContentCachingRequestWrapper request) throws IOException { + private void logRequest(ContentCachingRequestWrapper request) { Map requestInfo = new HashMap<>(); requestInfo.put("uri", request.getRequestURI()); requestInfo.put("method", request.getMethod()); - requestInfo.put("params", request.getParameterMap()); + requestInfo.put("params", getRequestParams(request)); - byte[] content = request.getContentAsByteArray(); - if (content.length > 0) { - requestInfo.put("body", new String(content, request.getCharacterEncoding())); + // 然后再获取请求体内容 + String contentType = request.getContentType(); + if (contentType != null && contentType.contains("application/json")) { + byte[] content = request.getContentAsByteArray(); + if (content.length > 0) { + String body = new String(content, StandardCharsets.UTF_8); + requestInfo.put("body", StringUtils.trimAllWhitespace(body)); + } } - log.info("Request: {}", objectMapper.writeValueAsString(requestInfo)); + log.info("[请求] {}", JSON.toJSONString(requestInfo)); } - private void logResponse(ContentCachingResponseWrapper response) throws IOException { + private void logResponse(ContentCachingResponseWrapper response, long duration) { Map responseInfo = new HashMap<>(); responseInfo.put("status", response.getStatus()); + responseInfo.put("duration", duration + "ms"); byte[] content = response.getContentAsByteArray(); if (content.length > 0) { - String responseBody = new String(content, response.getCharacterEncoding()); - // 如果响应体过长,只记录前1000个字符 - if (responseBody.length() > 1000) { - responseBody = responseBody.substring(0, 1000) + "..."; - } - responseInfo.put("body", responseBody); + String body = new String(content, StandardCharsets.UTF_8); + responseInfo.put("body", body); } - log.info("Response: {}", objectMapper.writeValueAsString(responseInfo)); + log.info("[响应] {}", JSON.toJSONString(responseInfo)); } + private Map getRequestParams(HttpServletRequest request) { + Map parameterMap = request.getParameterMap(); + if (parameterMap.isEmpty()) { + return Collections.emptyMap(); + } + + Map params = new HashMap<>(); + parameterMap.forEach((key, values) -> { + String value = String.join(",", values); + if (key.toLowerCase().contains("password")) { + params.put(key, "******"); + } else { + params.put(key, value); + } + }); + return params; + } + + @Override + protected boolean shouldNotFilter(HttpServletRequest request) { + String path = request.getRequestURI(); + // 排除不需要记录日志的路径 + return path.contains("/doc.html") || + path.contains("/webjars/") || + path.contains("/v3/api-docs"); + } } \ No newline at end of file diff --git a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.java b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.java index 63e7e3b..37a9fb5 100644 --- a/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.java +++ b/weight-loss-camp-api-base/src/main/java/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.java @@ -1,14 +1,15 @@ package com.wjbl.weightlosscamp.api.base.web; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + import com.wjbl.weightlosscamp.api.base.core.ApiErrorCode; import com.wjbl.weightlosscamp.api.base.core.ApiResult; import com.wjbl.weightlosscamp.api.base.exception.ApiException; + import jakarta.validation.ConstraintViolationException; import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.BindException; -import org.springframework.web.bind.MethodArgumentNotValidException; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; /** * 全局异常处理器 @@ -23,21 +24,30 @@ public class GlobalExceptionHandler { return ApiResult.failed(e.getCode(), e.getMessage()); } - @ExceptionHandler({MethodArgumentNotValidException.class, BindException.class}) - public ApiResult handleValidException(Exception e) { - log.error("参数校验异常", e); - return ApiResult.failed(ApiErrorCode.VALIDATE_FAILED); + /** + * 校验异常 + * 作用于 @Validated @Valid 注解,接收参数加上@RequestBody注解(json格式)才会有这种异常 + */ + @ExceptionHandler(value = MethodArgumentNotValidException.class) + public ApiResult exceptionHandler(MethodArgumentNotValidException e) { + + String errorMsg = e.getBindingResult().getFieldErrors().stream() + .map(n -> String.format("%s:%s", n.getField(), n.getDefaultMessage())) + .reduce((x, y) -> String.format("%s;%s", x, y)) + .orElse("参数输入有误!"); + log.error("MethodArgumentNotValidException 参数校验异常: " + errorMsg); + return ApiResult.failed(ApiErrorCode.VALIDATE_FAILED.getCode(), errorMsg); } @ExceptionHandler(ConstraintViolationException.class) public ApiResult handleConstraintViolationException(ConstraintViolationException e) { log.error("参数校验异常", e); - return ApiResult.failed(ApiErrorCode.VALIDATE_FAILED); + return ApiResult.failed(ApiErrorCode.VALIDATE_FAILED.getCode(), e.getMessage()); } @ExceptionHandler(Exception.class) public ApiResult handleException(Exception e) { log.error("系统异常", e); - return ApiResult.failed(ApiErrorCode.FAILED); + return ApiResult.failed(ApiErrorCode.FAILED.getCode(), e.getMessage()); } -} \ No newline at end of file +} \ No newline at end of file diff --git a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.class b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.class index e245ff84a1de55f526b610ac33dec475808f729c..ad92df0645067a0af37e44e254074158d3349393 100644 GIT binary patch delta 14 Vcmcb|caLvFC@bTH&0(w@OaLlQ1dIRx delta 14 Vcmcb|caLvFC@bTX&0(w@OaLlo1dsp# diff --git a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.class b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.class index 318e97be6899417a385af0f7f9dbb2feb09b2294..192b9106fdd67c70a07714856bf0869984cc7b26 100644 GIT binary patch literal 6994 zcmd5=S#%sn6}=_RKCOLm8XIF{IardFF^M72vIDYYI};?^ShA8h#&Jv2l13U$D>FTI zM1Zh_C2TQkLfE&M#gG88134THd=NN%^94Wf#~UGz0-kV)+yzS%i{w2=?Xp9t@(U8 zzfiCyibdNooxEKv3ye+65iFSYdOl}YGV7ZQw3Igrm2$?c;xcn4{jxc7MV!qIOJILX zZrR)%(ez4A%+6+ypLjSsC6I8eqFHpZ9PNRYSlrH!<*kC-|5CnC5XiLT={g;w1BVdH zo|rv)dQKp{Sh7sV${pF1Lr7Lzfn|=dV$@V9W#BT?_M%ysqL(z0EM3{i1st(6r=}+6 zj*_gZ4j_swp0f%TI~C{)tx&e;Sj$$4gs&nJ)An+HkuHgnb&(5d7h7G#d8;Jhbd4@s zZv6ZA4TnZk&6n+7zGRECgPSv^ce-G&FW76D<5tls$taL9GHK_mBm{;uL=h9{n$8!k z6P5J^tK_bqOidZYd9#$4$>b>`&PtwHc+g$WS62t@HO+av!M3DNU8g@v1w5*nRU|;z2hez8WHj-WPRVOaXO!8F~HFm|9qP;rn!SI;3u=)pj^Od^W{s%xkzGtog*ESv)GyQu&~Ux8dz6wBsQSvzU{*cWIcEI)R5Z z?8NJ&WNH{z(xQg_O0qO$l(ekjPTVDNc@1w?x-|`NRnoeKL%2&o*tL7IH#)A5?W|ZO z21XXZP<40caMhu~NLAKI?e}if$KB-TLGT^(glmU1u$f zReckP2T>TJ*0PpK=@hIIlu5P28lCE}s;YJv($p~3bm)PUu4C3Q7uROY4R51KteE8$ zxk(AM?;Fm_)qhgMNAOWD#i`TT8SdU9%bY4%UaBp+Ykybg?1|yJd&Nc`pMPu(`|`b@bN|Gy6xbp1Hp&KXfc&KWU1DlxHF(0c_PdQ^{vKpq$aEcSumD2kOu} zL!c$2i=ZW=Tkn#fZV%L@cZWbLMh`(NMz7u@LA@TRNAC@RR*gP_R*inWPlEbAP@mo( z0u_t_f(picS1Gq{0El#+NF|G=Y^Qn-#kVUtoC zzr-K$Zb};djB9v|QV0Hu=kXp&oxD$6#(ODsi5NbP_fhH=d$EScDfNg^Sa?6BUU46e z;RBTV#3>#SAEeYTY~EKsL}@@&c*l8y(jY#}`9F%?@x;H-8He~c2IFYwUxMOoN=*LG zM8=H2In-ARe;VMAv>aJfmWf=Vtqz^2zeEiB1}7x1Vf<39r;Nw~>|g=*c8?#59CpiW zNB8&&i!9MSdIj;Z>-g9OsXu2#q(P5(mV_)lWjb#}T@$O$bxP<_-*mx(_0u8D=}d8K_* z!O&cjRyAp^X-DG{ctSqgTLd`lp?r?$@>(g zC?3Qwn5wb_9DI!_FH7Jlrr&2NCHQf;g3nP(;^wuN+PZN+wrQMP$U~7)^2s@e)2AnNHNy~hGy5Xlm zj`=9R-3)FB=lNXVv%n|EXX)p7hOZSqt9%No`G9(zOag1zi=7E3F}T+b*y~F+*|m-LVjN@a-kJ99cxR_K zGd(sN?wD)1gm8-q5biM`OMpZSL|XCLPFY} zK6TD_zN$KP>Qwdq{y#7M3cx}9Ktq?np1iY`yK-r%l)GXVmsi}9Q?2H$we_5}Ud%07 zRXb;w-J-jZJ4E@2Cu)cb^j)$pTe*@|Ue29Zx@6~Ffs|{Pt+G2^5Ez&V&2w(0SYDnK zFizFzzh*BMtHq^~eXv}1T+1yw<*L8~GjbeDma|qYIJMl`#u6>n^-`^xv+B6qyhXpG zMY~iWUHoFPR1(N_rcy!}O9Sl4Wb_g^(k;aPsiM`6DE&t3!w)(+YOUW~Ty!kswW%U3=NCknj~mV#Zl6 z=IN5E*q0eor!26$qi8JJ6$zKaU$))(`mzm;jzz{)U$|}l!cCWDH+L@Gz)ZNK-kD4i9?M zcx7qHUVAv3sc=nY|F74f%l`GKNgBp=WZs-D?e*DiiH} zAmO+xc7@@PX+2Wk`Q4s6()P^ZF78qGP|@uH!usk1LPehks8=w#1pSJnLD$m=p5 z#KInhsKsw&QaS~zh529autBFftgGrBMl=mf4ITO*rR$z^t^De&weDAn)QVMIkyS<@ zHaa#fm-oFoHt-~)e)81xEQ_$1X3|vbYON$sr!d^^>_$;0l&@Nl0ntkFT%T{zt1S#IUmj`%~ zKcnOG_=3RJHEY$La>{wjJzaDensU|Uam@X4GfL)H^=7XBucqa}liXh{7u|=w6<(Ap z{H%^I;!BM8oKvghc@-#e`Fq2w$^G)$!T26>9JlILto2#jU2zK448DfvHGExQB)pgu z%a@&1JEsDo0(aEPyG~_8M)Vs3*P?Or(Tea9t6V7A)sY#;S*@*4-ZgX$j`JJqb_@8~ z2t$k2_9>>UQfaQ}+LOIWd^Lq{3tSDSJ{sil0kP}eNFFydBMq6yvKh(ahGwJ@K>hk9 zEx`slAjX*R(`BCgQzfffwW}JwC$O_A%B|w2;kv+%yFkJKwM7lcOy7PK^H)JAO=|3-|I@LcpuZef-rG0I$XC*kabVCED2; z5s$?-BO2|Dh^J~BqFtR4@lb9`nd_8O)hU4^?K$^!%Bc#Rz|r<|f2dPVRT%}2;gNRn z+}A0mDyag~?K$^%%Bf1SkY5bVoiVcnoiTMID?z#sq7(t0HMbO9K%KGVi*?(u}mqBV`2m= zloFT~J5Z#QL=&U{r0+ zLf%sNJ=RPayGET(rhoKJ?vEevw#fFr$rWypRNusPXuEIXJr|^Y&WuZg5%(=Axownb z!Ay82?ikN0Wh4UAX*21Wl64dJk@7lYYMzN($oJ9$(^)g+nNoEVHYw!go zj{LmX%T2k!=QN))e9rzHPw{n*&v`zUYMxN9Ilf+EVZ_}omwWw$7xK%#xmHBJc7BF0 mw?4ZYzjk7{<`t>0;5okKx8XPWd<)-UOa3G8yLbWLhw)zt-==B+ diff --git a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.class b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.class index 2db0a2dc97114e5a75298c0c0ec4e6f34420ca59..a677c005dc010e37ac7a9419aded9829b97bb75c 100644 GIT binary patch literal 6473 zcmcIo33waD75>MTyt2HxlnW(<9E8M{?I@5FI|OVeAx`Z$#EH`+K(dn7_S!40SgjIV zphtQiKwD@Fw54|`g_Z=`oD_P}meTvaPbj_b1Ip2VcGvRSR!Bm>#$U8Mvomkr``>&2 zyqSleIsO2E7BNRbg~0N(l}+v+NSVp~y3yC~m{y^X*0TAemN$|qt)M4+4b#!>r1woTA|QfH(twX2uxKGMwP&%4kM>;E@o4@y-lOKu32f#?9psPw*AhkHLiwH zRN^cZGZ3YgPQO8uR(3oe@M-qsjOF3ko}+7Wnki6_>JMtRqa_Qvz0cI0WWVF&lNj{ubQcLUoIVtFJql_Cn$Bol z51i7%i;<8E*9$bB&cZ&lbv;ouBB@{r-8m9?-9rUO&#G98^981)i?&URw=pR?4bzk{ z!!X}egJoEuU^!D}EZzYJsaT0sOp)PO5m+}~zf*-q>3cwJ`bk9-7>7|Nv+oCiwY6Tl zlwpKZx{tvWWoBKZVl6HfsBz_bOA1_ahJr`=r+JeUy%;SjT4n0R(pG+`)yfQQv$pEq z$SBrfgM#$}6GrHwb6uN?OXZAk+SD~$K(Re06R10l401_NGL-GFB9J(ZX+F$^px0$u zH`N5@jGG#8G*_AE>*fcgK=c3L3o_fV(j|Fo&P?8D7m#QR4yj4Tv4Ge_EcIN*Yfb2O zwDe%7mUr1w!484NV}tr6M5bV;K<%jqd&(%-JX>O1NwIQNMj_yTG(s84$x;N4Fz)#O50GqF({`x(Oqq zDOQDn0m{r59f8#{A%`b+r3Uo0BRO|WPf)r)C<0P`RaSTUt&CJHr^1q|$qlX3?Tz3n zj>v1=nF}(t3Mw2F$u%R&Z*f18{l?S6Nf76bILer2x%Pe)SIf00QnF9c+lKOb1TW%h zBxln|yL)(YpkU>qxE3!~aNTIqb0Jgl61_@ zvrUX%i`OyZw{P39XSKjA&)VP&eR7Vni5jz{ zABSa@tiikR9tH2Fhez1dE3#C)7w;n!My}UlnwK%5Oz^YHsPWmY-JLgSObqh73>mpk zGVEj#Hj+U;3?v+Xh(N{eR)HBER3$PmhvZ5+>cMN*v)E#Ix~>zw!?7x`9_U$4%ePuyD2EjM@4FSAc9ZI2zm6T z>mNOSvy2e>eVF|v-U{xd9oj%L_|cklCNi{}Q@S86Spvj-2U_&mPAjfk1;(v;3R zm+VR4hRN1V7IwKz`>={H;Sr)|6xL_+4s)M%5;@{4_?m*R5`YofYO_p}JSz_sD!wik ziRf|)Ma9UI-&FA}e4F0X(z3D@Sn7vqX+0lFx7}OJxuTM-hJ?GA2p*-G$$iV@`LdCN7@eWK<`AKXsby0cZQ)XZ zRY9<%kH?!?#&XHDzh!;VAj$dnD*k{!Quu&njS z?XJeLI;{P=-NrL=1b?Icd7c@02+lkm&gbfi2G;co-!xoMA;gR=LuW498w$)P+6YqNR+G?>&p&KTehCm zO2_VGmz`lmSCV9SRWP~LvYdj$1D97~6r!R+gcMQ9?QDc{jodzKQ0LYv%OH=9N{8u>{=I%~cDb%K~6c-v5u9qAHyRID(mDr_6DusNMj?DFO&#HqNHtIef3; z^Bl~R>x)@zNj*AGV8PD%BUsoJI)TMI8;+o^DSQ+StEw8~p?LThE~rEz9y*NGvNMv1 zhi61)ROyGYCLTVFOYT5TQ}ig>;?W2Bdx%RXeM6`!HuAf)z7w190vaRVI{3em^4qW( zT{L$ZXK%q}bU>VIZbdf@UBc_RZG4MhJLk+r#j{kgN`X+o3!4`zSf*fs!t#Y3yLgQ$ zZzH&n#AzW#R&mnM30%JO2(IjGi0!FA4DA^7O6+Ke4YH9PZsZee*a(Ng)lhE`leeAe>7axw39T8UsAf7cP6^~7KU&zYBEfcRWZY$T3rJp)QO4sm1` z&Et^{@5cvd?h4NSAnqWJ8!7cexRWbhj)}ODePMi46Z-L{_1Ag-r1$hGz_y7O^ literal 4446 zcmbtXX?GLX8Gf!UdxSh}#vw5TLQ_I4c^Q&80W23{83-;0Q%p=;x@07ct+7Wl%FM{d zrD?kFZMrwz(k*S;bj@Z1Zb|o^(_hjL{nl?ir)i&iXC%wU6gahxHFNKM*XLdCtG~T@ z^%{U7{8dAfK!3q28}l=H$C$V5=~C!;K~ONu6~nC9M&1l8W6E|y%Qwzj`B88BxLRmP z2t4HZ(?(G7ZFhRgH_O(%=g(3|zQ!=-7OXRtf7W`cY6W4$DA4S9(*o_IirJa!pD`$P z+VZmkJI_|#&@Nje?wlRidB+-ZT`x34+j9fS;&|n}H)}j*xt4E+R*@{am!Gi;;VH9H zv3!BvQR&T;8PMR1WyhE?3$uae8bvcS^R`mdV%}8MrX`9({N08+8B1sAjqb#cX9&+?$FVK zR)Ni&ZM^rm4fL^n7%F7@n-9wvM_~a?9g!+bPab4bl--fDeS}!sreoq z8<3)xVaX<He(gho%u&{+wflMkx#{#tD9nM;mb> zWN(2ms4(Q#^^}p;;gV^)SsAX>v5N((q7p>IK7l=JZHQIZ$ux8cY*T@1TBgBzK89O9!xGT!rbt?O&I4~-0IEVoahgi>RqtOsP9a#*r z0Be~faP)fXZP8_M!aK6?TR0BU(^1XT4gf&bGY*h_ICI1OCDAAr2p1_VI-o<;P>f5sV-=pKb zc#(`IzcO4HTI_c)@g~FXWP#=Ubj-qJeu`R!omjkb*Ah zc)v8QLkcQUbAgJFxdpFCm{Pci56Is33~%DD3%Lg8V;s{HNqmS&9|JzH=hD;ivipdR zkK$vj(|O+xtqIeqT0=p^BCu~ASQ|mChv*adl!i~z@U=sLj!)w=bj^0BJSJqLyqLMc z(l{pawqjpUQMN ze1%~TI8s#^_C9<~$Jg;(lo+fu?y5OxB!zF{+Zw)A%Y0Q5@~-EcrsF$!p0>_ORL7XC z+q*^@;fu+bCVfy!F3B+dK*tZIrdG#tr^Axm`jL(w<3%bDs`)^bg_5;OSnN(a=hdI; zcnLpaB9zTpi#b;?!}E4n;v4;OLt4HnurX(&W${)Lzu??h>)SGAxU4mK82bQx0xh8;9dQNiEPBPqP#2%(9tv+oGIWEiYuCIct>J{W)z=Q}?>W z1<$t(vpygjV}4N$(Jd-4%|wjD{g#~Pg#_2EM0L-AT*YrREDP*i@yT}QyjjbL@QI+U z&$%z*w*t>Krg%&p2|QuCMaK&Ej(Xl~wbIz0Vze8eTg7;eUamuap@F_uISpH}h+)%l z##!0f&8@hS#P3*(qOY%yaU5~^+dxg2V8N; zkJ)lmBu}?wme845#?Hwl?0Ox$SGYGRQ+6VOyZN(ar;;MM$%8#K6+F2YZ>6rid~fCR zKHRTN`X@Q1;kjj`C%c!>J&;&N-(=4c_7AjVIuna{sJAoG*>VL3nvv;jS;X7q*U*dD zIM6EJj&`=bp`I^OUk4uK2b3v&>Z9wR-V`-=P~Q#$uopeZ@WkM!ANz3#4`7hbA@WJz z57RnY6I(6c9>WRcNe&};J1v)cCoxJLDGr&ZaGJh#P~sTQ5bk&I{2ny@hvHf_2n}a7 zoYQbnLs}ydHzqbv2nXI6j0A;8Q2c|c6J$4+@dOcm=c%6d3*C!&_Z67UIN#Gg&4pcC zI9#~Vf^Yum-fPd}uAcU}Wn7%><<9$-@N{(i3Od?9n0XDmdlvEGEBJUbWZV)8p?ypf z(3m96xdR7?)j{GiKxDE+W{|!e!IOAYA(M%Wt0Q9)nbR~riAj7GpQAhd=*8#pERp#F zrONn6XJ6!*#H9`5-#D!yui;DF;(W|+nGkghM3V0<+_6_M_%glu>ScVR?(BD!vj=LP zevh6GBxI(1e{1vKU%g34gp7uZ|Dq`g6{aS)_*Gm(0Y&)2D7aRf`a%texmYy5u$zvoK+l==hygukHk EzZ6W@i~s-t diff --git a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.class b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.class index 4734c54fd5b36aa4798e8933cba3c31aa7c634be..f9322e8bd54bea17806a90c1d126515e0bba83f5 100644 GIT binary patch literal 5490 zcmcgw`+pSG760A@GMixv%PK-@iwKG4B_oJc*a%(nfar!ON!KE6?cLqUW|G;Nb!Ik! zK73$p#oF4IS|7Dl+tP=9fY8S9klJ@^ZT}0<{?z}VpPoB2yE~fnVp$C_nh;+ z=YG#)=I#HSJ_jI$e@bX#Nan1fIy;p$)LBh0OuB~UI5}P{sl24CS?*{wo>g}lR+bxs z2Xb1;)h%;3H}i&OOIX4XpW-uIHMm(&N3&B}&ShvetO7$KZP^9YF($T5scEZF(Cj3` z^?S>vs~5Flb4GXctf8e$({i~`>If0TDrT)|b(dypHg~l=iNyMHhHmQac2eBgm0?)Y zZ{;-^AHoU=%NbTLG&96=u4Nxo5XVY})`I5x<{3IV(>1jH26vof*J6~dV7NxXQnWCv zNb9Dyr(Dcx_BbcF-m-Gs$Z%U1_rYLGpNCLJGu9}$4l<#1Cv{rVUFi?tU|M}*((`qy zq*uMqV01Rts#P{i4a?Gc8{)}XwkCx3YEId32}A3cUNE^^wrTkfUq#b>q20<@dOo?G zz_bMn%0%#Io4=VQTQ>_6HZN+kmObqeIIEj^l~=i@R-GA8nG`Rb;YOKOxV5o|F5=r5 z+R0g|dxy`TJ#>D4ei?2;r-Yj+Mix?3K^MBoq-NWe&Cng@<(MnrCqru=pR}!6!M0>q zMn*3-O1OpLj)of<4O4-NTNxyZ3lT_OR1FKYn-$!KEetX}8PObv7wF-&on0X$0X7*Q z!<`cDU{D)^sArRct=PuUGQo92%QFmh4lh=JB^+ghHC|nCu&WFYbzYhhBbqyD8Tvf(UM!{>I8ea=25D!AQadRG ziP(NtVYrou6{VS?P|te>L9LTWF2gPiOW4iOdpU9n?#4X~%L&1dt{M435ptr|RES-6 zbwf?-j!PCsFe+gW&GyPf^@)OeaUZePaczwksfyLf`lBkv20ctBsJMe#bT$q?Q%5~ zvX_#%qGURA70g8D&rO%TyciAAzK>aIC?M;j0YFyC=`Qd*)@|J0d*3rr_&><}E(EWqd<8?3>hv z*VtLrLHsp%F`MV@)Wz(GuC*aX){=fy_{Q)orRff5TZbd#IlLg@d4{eA^`)j#!Hc3} zidBk>(D9Oj?}@>cG&rD5aO$ChZc4^9URLl5UZtf@Say-q%TgtodT&rc2<{L0E+V^C z1C^N!J&mep4J|df71wR5RgtjakljlDT09iPPduL`J1FO|19Z^V$zxX8&S^u`)=_BC%cT`xb@8cH!$ngCC-_yayG>D=Iue}w+ zUl?xpH~yk81?v{4_-*SLrL|#`zFK&n6*Nb}+tgz%@=Fw_B)r40_R>=+VfX~ZjkFET z)MGMySbUlo@n}hZirbh^4?`agp@Iy^F0e23c z>#ak%)^q)OTIvSE*-nT$&`rNR)Dv#S%^vb~zTLo4gn*FmAlyAP@_BrLa4~!l4_DXl zNW>Z*_1177%@NLP6V7|gcb<=m7WH@?FyDQ>Bz8;4eQi|`Z3N;`&wXFUSE{C;j4*w8 zvFWEOrk^H2LTu{(-jt E0;?)+ga7~l delta 615 zcmb79IZvWd6g~Gt5abi##chlRMq=WUXr$2SS12mDz>JOyZq*kch#{cF7&{Yd6HQ)> zrDHo4N=$Hx_E!1}royH52TZ)8!xWB%#k)86ymQaF=c#qS#(w?h>=J+%3#Cv9np`FA zD6m_iRxatuNFo~26Y+>Vv1a9ivClwgm$&7v&VhI`;@b#ESJvXGq-MqdLF9L~?)EZw zKMx;&ZRanx^0}M^L-3cvNAO5eT5P^_I+Y$wMWQN(F(R{;fVB%_DtZtg#ALtXmMbM@ zOOYlIjh?YOjm(J7O$P`reqR@%gwYp9KYsyZFhJoh zjv<7%?G#N09Ahwt(F~&sD!G;w81>9=Ko!r`uN(M+I-YnJ8iFiM_=fMS*T9&9aX7i# z-fS1ym%^C%q-i7b-5;7x6ik1}8{v!v-z!i4jWhk9IL*v&`B3>Kj)K`jkhww-6C?A$ EGtiuO%K!iX diff --git a/weight-loss-camp-api-data/src/main/java/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.java b/weight-loss-camp-api-data/src/main/java/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.java index 0f059ae..c71b192 100644 --- a/weight-loss-camp-api-data/src/main/java/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.java +++ b/weight-loss-camp-api-data/src/main/java/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.java @@ -1,5 +1,7 @@ package com.wjbl.weightlosscamp.api.data.config; +import org.springframework.stereotype.Component; + import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; import com.wjbl.weightlosscamp.api.base.web.WebContextHolder; @@ -9,11 +11,15 @@ import net.sf.jsqlparser.expression.StringValue; /** * 自定义租户处理器 */ +@Component public class CustomTenantHandler implements TenantLineHandler { @Override public Expression getTenantId() { String tenantId = WebContextHolder.getTenantId(); + if (tenantId == null) { + return null; + } return new StringValue(tenantId); } @@ -24,6 +30,9 @@ public class CustomTenantHandler implements TenantLineHandler { @Override public boolean ignoreTable(String tableName) { + if (WebContextHolder.getTenantId() == null) { + return true; + } // 这里可以配置不需要进行租户过滤的表 return false; } diff --git a/weight-loss-camp-api-data/target/classes/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.class b/weight-loss-camp-api-data/target/classes/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.class index d962fbf0ef187e98e3c50fa1bf6db58ad5ad8f45..e7173ee8e57c07bed4b30d4bd0270d70585907ed 100644 GIT binary patch delta 412 zcmYk0%Sr=56hy0MVje>t8Z{xHMq}b5L1wGC3a*5RU_^A;N+(Pn-NQ_)xXMQi{zVoM z7m7l*g8$(+xDoM=3F4w}af@5k=OcEXu-?C4#sKQ5Jy?52In~tss(ZxUQ-0YKF|0Do zcK8jqdtA2druH1!4(djZtq12u>yV*vaxJyf7iW&|P@*oS(p)=A`V7^E^4hlVhM|_n z`{Gu4UE9~f6H4E?!ah)aS4koDelRw6Stj^2iUST41|iKqBipFGVTO%fk-w-tp)exb zM3QC}k?@4(0^(SNg*;N^=5a76Os-=}o2<)h z!N@Z?jak0lm4TUo38;s62ZNB$ZU*s4?d=Sb8-M~#3_L)R3oI$Xz``KNzzgJyK@>Ca zG4KOHt4KpNy4CgwGhSVR>ewlP6%1Gz~VYMTm35rZlKj*c72 diff --git a/weight-loss-camp-service-api/pom.xml b/weight-loss-camp-service-api/pom.xml index b66aec4..e38e40f 100644 --- a/weight-loss-camp-service-api/pom.xml +++ b/weight-loss-camp-service-api/pom.xml @@ -30,6 +30,12 @@ org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-logging + + @@ -45,5 +51,9 @@ knife4j-openapi3-jakarta-spring-boot-starter + + com.alibaba.fastjson2 + fastjson2 + \ No newline at end of file diff --git a/weight-loss-camp-service-api/sql/init.sql b/weight-loss-camp-service-api/sql/init.sql new file mode 100644 index 0000000..d0a4fe5 --- /dev/null +++ b/weight-loss-camp-service-api/sql/init.sql @@ -0,0 +1,74 @@ +-- 营地信息表 +CREATE TABLE `camp_info` ( + `id` varchar(32) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(32) NOT NULL COMMENT '租户ID', + `name` varchar(100) NOT NULL COMMENT '营地名称', + `longitude` varchar(20) NOT NULL COMMENT '经度', + `latitude` varchar(20) NOT NULL COMMENT '纬度', + `address` varchar(200) NOT NULL COMMENT '地址', + `main_image` varchar(200) NOT NULL COMMENT '主图', + `created_by_id` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `created_time` datetime DEFAULT NULL COMMENT '创建时间', + `updated_by_id` varchar(32) DEFAULT NULL COMMENT '更新人ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `updated_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `revision` int(11) DEFAULT '1' COMMENT '版本号', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='营地信息'; + +-- 营地图片表 +CREATE TABLE `camp_image` ( + `id` varchar(32) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(32) NOT NULL COMMENT '租户ID', + `camp_id` varchar(32) NOT NULL COMMENT '营地ID', + `image_url` varchar(200) NOT NULL COMMENT '图片URL', + `created_by_id` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `created_time` datetime DEFAULT NULL COMMENT '创建时间', + `updated_by_id` varchar(32) DEFAULT NULL COMMENT '更新人ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `updated_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `revision` int(11) DEFAULT '1' COMMENT '版本号', + PRIMARY KEY (`id`), + KEY `idx_camp_id` (`camp_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='营地图片'; + +-- 营地教室表 +CREATE TABLE `camp_classroom` ( + `id` varchar(32) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(32) NOT NULL COMMENT '租户ID', + `camp_id` varchar(32) NOT NULL COMMENT '营地ID', + `name` varchar(100) NOT NULL COMMENT '教室名称', + `main_image` varchar(200) NOT NULL COMMENT '主图', + `created_by_id` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `created_time` datetime DEFAULT NULL COMMENT '创建时间', + `updated_by_id` varchar(32) DEFAULT NULL COMMENT '更新人ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `updated_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `revision` int(11) DEFAULT '1' COMMENT '版本号', + PRIMARY KEY (`id`), + KEY `idx_camp_id` (`camp_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='营地教室'; + +-- 教室图片表 +CREATE TABLE `camp_classroom_image` ( + `id` varchar(32) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(32) NOT NULL COMMENT '租户ID', + `classroom_id` varchar(32) NOT NULL COMMENT '教室ID', + `image_url` varchar(200) NOT NULL COMMENT '图片URL', + `created_by_id` varchar(32) DEFAULT NULL COMMENT '创建人ID', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `created_time` datetime DEFAULT NULL COMMENT '创建时间', + `updated_by_id` varchar(32) DEFAULT NULL COMMENT '更新人ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `updated_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `revision` int(11) DEFAULT '1' COMMENT '版本号', + PRIMARY KEY (`id`), + KEY `idx_classroom_id` (`classroom_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='教室图片'; \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.java index 966a276..73e202c 100644 --- a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.java +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.java @@ -3,12 +3,14 @@ package com.wjbl.weightlosscamp.service.api; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.context.annotation.ComponentScan; /** * 服务启动类 */ @SpringBootApplication @EnableDiscoveryClient +@ComponentScan(basePackages = { "com.wjbl.weightlosscamp" }) public class WeightLossCampServiceApiApplication { public static void main(String[] args) { diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.java new file mode 100644 index 0000000..189283d --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.java @@ -0,0 +1,62 @@ +package com.wjbl.weightlosscamp.service.api.controller; + +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wjbl.weightlosscamp.api.base.core.ApiResult; +import com.wjbl.weightlosscamp.api.base.core.IdParam; +import com.wjbl.weightlosscamp.api.base.core.PageParam; +import com.wjbl.weightlosscamp.service.api.dto.CampInfoDTO; +import com.wjbl.weightlosscamp.service.api.service.CampInfoService; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * 营地信息控制器 + */ +@Tag(name = "营地信息") +@RestController +@RequestMapping("/camp/info") +@RequiredArgsConstructor +@Slf4j +public class CampInfoController { + + private final CampInfoService campInfoService; + + @Operation(summary = "新增营地") + @PostMapping("/add") + public ApiResult add(@Valid @RequestBody CampInfoDTO dto) { + return campInfoService.add(dto); + } + + @Operation(summary = "修改营地") + @PostMapping("/update") + public ApiResult update(@Valid @RequestBody CampInfoDTO dto) { + return campInfoService.update(dto); + } + + @Operation(summary = "删除营地") + @PostMapping("/delete") + public ApiResult delete(@Valid @RequestBody IdParam param) { + return campInfoService.delete(param); + } + + @Operation(summary = "获取营地详情") + @PostMapping("/get") + public ApiResult get(@Valid @RequestBody IdParam param) { + return campInfoService.get(param); + } + + @Operation(summary = "分页查询营地") + @PostMapping("/page") + public ApiResult> page(@Valid @RequestBody PageParam param) { + return campInfoService.page(param); + } +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.java new file mode 100644 index 0000000..41b633d --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.java @@ -0,0 +1,25 @@ +package com.wjbl.weightlosscamp.service.api.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +/** + * 营地教室DTO + */ +@Data +@Schema(description = "营地教室DTO") +public class CampClassroomDTO { + + @Schema(description = "营地ID") + @NotBlank(message = "营地ID不能为空") + private String campId; + + @Schema(description = "教室名称") + @NotBlank(message = "教室名称不能为空") + private String name; + + @Schema(description = "主图") + @NotBlank(message = "主图不能为空") + private String mainImage; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.java new file mode 100644 index 0000000..7d0d553 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.java @@ -0,0 +1,33 @@ +package com.wjbl.weightlosscamp.service.api.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +/** + * 营地信息DTO + */ +@Data +@Schema(description = "营地信息DTO") +public class CampInfoDTO { + + @Schema(description = "营地名称") + @NotBlank(message = "营地名称不能为空") + private String name; + + @Schema(description = "经度") + @NotBlank(message = "经度不能为空") + private String longitude; + + @Schema(description = "纬度") + @NotBlank(message = "纬度不能为空") + private String latitude; + + @Schema(description = "地址") + @NotBlank(message = "地址不能为空") + private String address; + + @Schema(description = "主图") + @NotBlank(message = "主图不能为空") + private String mainImage; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.java new file mode 100644 index 0000000..e5f2a9d --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.java @@ -0,0 +1,26 @@ +package com.wjbl.weightlosscamp.service.api.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.wjbl.weightlosscamp.api.base.entity.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 营地教室 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("camp_classroom") +@Schema(description = "营地教室") +public class CampClassroom extends BaseEntity { + + @Schema(description = "营地ID") + private String campId; + + @Schema(description = "教室名称") + private String name; + + @Schema(description = "主图") + private String mainImage; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.java new file mode 100644 index 0000000..25767b4 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.java @@ -0,0 +1,23 @@ +package com.wjbl.weightlosscamp.service.api.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.wjbl.weightlosscamp.api.base.entity.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 教室图片 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("camp_classroom_image") +@Schema(description = "教室图片") +public class CampClassroomImage extends BaseEntity { + + @Schema(description = "教室ID") + private String classroomId; + + @Schema(description = "图片URL") + private String imageUrl; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampImage.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampImage.java new file mode 100644 index 0000000..0c57b93 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampImage.java @@ -0,0 +1,23 @@ +package com.wjbl.weightlosscamp.service.api.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.wjbl.weightlosscamp.api.base.entity.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 营地图片 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("camp_image") +@Schema(description = "营地图片") +public class CampImage extends BaseEntity { + + @Schema(description = "营地ID") + private String campId; + + @Schema(description = "图片URL") + private String imageUrl; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampInfo.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampInfo.java new file mode 100644 index 0000000..0721358 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/entity/CampInfo.java @@ -0,0 +1,32 @@ +package com.wjbl.weightlosscamp.service.api.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.wjbl.weightlosscamp.api.base.entity.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 营地信息 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("camp_info") +@Schema(description = "营地信息") +public class CampInfo extends BaseEntity { + + @Schema(description = "营地名称") + private String name; + + @Schema(description = "经度") + private String longitude; + + @Schema(description = "纬度") + private String latitude; + + @Schema(description = "地址") + private String address; + + @Schema(description = "主图") + private String mainImage; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.java new file mode 100644 index 0000000..99a733a --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.java @@ -0,0 +1,12 @@ +package com.wjbl.weightlosscamp.service.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wjbl.weightlosscamp.service.api.entity.CampClassroomImage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 教室图片Mapper + */ +@Mapper +public interface CampClassroomImageMapper extends BaseMapper { +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.java new file mode 100644 index 0000000..8a4fa69 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.java @@ -0,0 +1,12 @@ +package com.wjbl.weightlosscamp.service.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wjbl.weightlosscamp.service.api.entity.CampClassroom; +import org.apache.ibatis.annotations.Mapper; + +/** + * 营地教室Mapper + */ +@Mapper +public interface CampClassroomMapper extends BaseMapper { +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.java new file mode 100644 index 0000000..ebb475f --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.java @@ -0,0 +1,12 @@ +package com.wjbl.weightlosscamp.service.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wjbl.weightlosscamp.service.api.entity.CampImage; +import org.apache.ibatis.annotations.Mapper; + +/** + * 营地图片Mapper + */ +@Mapper +public interface CampImageMapper extends BaseMapper { +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java new file mode 100644 index 0000000..6a21bb8 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.java @@ -0,0 +1,12 @@ +package com.wjbl.weightlosscamp.service.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wjbl.weightlosscamp.service.api.entity.CampInfo; +import org.apache.ibatis.annotations.Mapper; + +/** + * 营地信息Mapper + */ +@Mapper +public interface CampInfoMapper extends BaseMapper { +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/CampInfoService.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/CampInfoService.java new file mode 100644 index 0000000..f181db2 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/CampInfoService.java @@ -0,0 +1,40 @@ +package com.wjbl.weightlosscamp.service.api.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.wjbl.weightlosscamp.api.base.core.ApiResult; +import com.wjbl.weightlosscamp.api.base.core.IdParam; +import com.wjbl.weightlosscamp.api.base.core.PageParam; +import com.wjbl.weightlosscamp.service.api.dto.CampInfoDTO; +import com.wjbl.weightlosscamp.service.api.entity.CampInfo; + +/** + * 营地信息服务接口 + */ +public interface CampInfoService extends IService { + + /** + * 新增营地 + */ + ApiResult add(CampInfoDTO dto); + + /** + * 修改营地 + */ + ApiResult update(CampInfoDTO dto); + + /** + * 删除营地 + */ + ApiResult delete(IdParam param); + + /** + * 获取营地详情 + */ + ApiResult get(IdParam param); + + /** + * 分页查询营地 + */ + ApiResult> page(PageParam param); +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.java new file mode 100644 index 0000000..1bc24d1 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.java @@ -0,0 +1,75 @@ +package com.wjbl.weightlosscamp.service.api.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wjbl.weightlosscamp.api.base.core.ApiResult; +import com.wjbl.weightlosscamp.api.base.core.IdParam; +import com.wjbl.weightlosscamp.api.base.core.PageParam; +import com.wjbl.weightlosscamp.service.api.dto.CampInfoDTO; +import com.wjbl.weightlosscamp.service.api.entity.CampInfo; +import com.wjbl.weightlosscamp.service.api.mapper.CampInfoMapper; +import com.wjbl.weightlosscamp.service.api.service.CampInfoService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * 营地信息服务实现类 + */ +@Service +public class CampInfoServiceImpl extends ServiceImpl implements CampInfoService { + + @Override + public ApiResult add(CampInfoDTO dto) { + CampInfo entity = new CampInfo(); + BeanUtils.copyProperties(dto, entity); + save(entity); + return ApiResult.success(); + } + + @Override + public ApiResult update(CampInfoDTO dto) { + CampInfo entity = new CampInfo(); + BeanUtils.copyProperties(dto, entity); + updateById(entity); + return ApiResult.success(); + } + + @Override + public ApiResult delete(IdParam param) { + removeById(param.getId()); + return ApiResult.success(); + } + + @Override + public ApiResult get(IdParam param) { + CampInfo entity = getById(param.getId()); + if (entity == null) { + return ApiResult.failed("营地不存在"); + } + CampInfoDTO dto = new CampInfoDTO(); + BeanUtils.copyProperties(entity, dto); + return ApiResult.success(dto); + } + + @Override + public ApiResult> page(PageParam param) { + Page page = new Page<>(param.getPage(), param.getPageSize()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (param.getData() != null) { + CampInfoDTO dto = param.getData(); + wrapper.like(dto.getName() != null, CampInfo::getName, dto.getName()); + } + Page entityPage = page(page, wrapper); + + Page dtoPage = new Page<>(); + BeanUtils.copyProperties(entityPage, dtoPage, "records"); + dtoPage.setRecords(entityPage.getRecords().stream().map(entity -> { + CampInfoDTO dto = new CampInfoDTO(); + BeanUtils.copyProperties(entity, dto); + return dto; + }).toList()); + + return ApiResult.success(dtoPage); + } +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/resources/log4j2.xml b/weight-loss-camp-service-api/src/main/resources/log4j2.xml index 9e8a514..6e2559b 100644 --- a/weight-loss-camp-service-api/src/main/resources/log4j2.xml +++ b/weight-loss-camp-service-api/src/main/resources/log4j2.xml @@ -1,7 +1,6 @@ - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{TraceId}] %-5level %logger{36} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{seq}] %-5level %logger{36} - %msg%n logs weight-loss-camp-service-api diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.class index 4e46a4e2bd688ca4f3e9ff5a4a38a721ae5d36df..5b234922171e3326ba8810a0a6a89bf0c6043bfb 100644 GIT binary patch delta 145 zcmaFGc7vVk)W2Q(7#J8F85A~h?POwRWH6iD$Ry^OpI4GvQKFximzQ6XSdy8ar|+Df zTacfZnpYB>oS0|L$iS17SezP=n4F!Mo?6VvAfB9`t5=?tl%rRknwg$al9OLtoSc|j vF!?Z(86)51UrhF_f(+~oLX+*76~)CEm>Hyjw#oppECVBhTr>k?F@rn+y)`L; delta 51 zcmcb?{)&z3)W2Q(7#J8F8Duwd?PQv)%528SGdYIYo|T`0ok3vo0%k>SE(RtBX`mVz G1_l6xvI^}0 diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.class new file mode 100644 index 0000000000000000000000000000000000000000..44199efb607722590f18c3820f908f39b0660772 GIT binary patch literal 3692 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 literal 0 HcmV?d00001 diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..b893e1e51d21be95065d4117b12d539f33e3de42 GIT binary patch literal 4312 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 V25<2JS+0ZAO8z6tAd3$X{SV&fd1n9s literal 0 HcmV?d00001 diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.class new file mode 100644 index 0000000000000000000000000000000000000000..ba12cb3e87574889afb2e8947ea395995aac9495 GIT binary patch literal 2762 zcma)8ZF3V<6n<{9o22PBw6z5Ss8kEKNz3x4LPL2g1%hdT7K(xn-fZq9OES(2UNd!J`=-CCFOYx1;-2R^PBmZU zWf6zMaQJyCJbqC4Evc{@O_ijv9oRih%RoKg*zglD*BO|E80 z{PpG6Pk;C>e~wI3mT}#+7zUnx`}prKKEJ+FU`UmP->#GZj!jMXgSfi^F>i150XbT* zoNCco*DnZLxZD>df}$)qB{2Yo*EFbzF>EWCwpgxLi^9FesZPm;V{mJYyQUmBoQhvD zsqj;U=dt}t2PV0o+JeKQswIwH8U`hfl=r`y$ESKro?fE_6xd8a4Ej!ZVoA!iSHloe z(t1n7PNYUjX_FfEVL!u;Dqj~1j%{%NhUr(x@_cUlRMW9O8}-?`*ToP!VcMpDk|8=Z zy_Q5284d4XiYCNob#77et|~4U?+C-sP2ZFd4`|RaLlqd@UX;;t{UHrm%p`FHhvGQO zFx(bqxR`-C-GXf-Wl$ZzB3xP{k7}|@;3L6Qw{Iv2YYQ+H#INle|~R-JN=$xd>+Ma1o3Yl0Ns zzwo{hU1uG~_k5SvmV{q%N?sC|aW#%B43lm4O?$&x7me-^%IG{de8=6C`dVT5s#8Uc z=rG|$ZkH_KO%@zyyZrrhweZ?zP4o%B)e+xRREMjPVu4%Ms_Bc|wiuQZxXv)! zOYu~ToP24X&FpO+&ODnYp7J*Jji3(+FOClx_Vw`5ufjNPGQ9EPP*O-p2PWt$MCqPJ z=#Lr_jp8&Kq<4az0S`%GJVS10yqm#|(t!944=#OMXFh-v; z1kf-ZdS6f~zF?IkHsTz;5Kois1z1pFlF6_y?&t*uXPvkK+jaC)hLW z49x-h@|NEieTX?un@Vk|k`aluQ(7U`P+DpWt4atZR{9A>$a)X$Px7ghX?{3&BJ&WZ z=A|5#_YCJML}X$(dk^v12RQSo^iRwwaw4rXW)hNKn%dK!wxeO<29zj~aTW^%Bti6@ zBP&98`XCkwUKIO@#`9z;0Y#UfY+)A^qKGkKgT^ m4{?lk%@c-89zJL`o&uIALUy55dahxOM)HgM20p?qr2hjG1xtAV literal 0 HcmV?d00001 diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampImage.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampImage.class new file mode 100644 index 0000000000000000000000000000000000000000..684d62b987f44420cf2d26cfa69e7c03b092ca22 GIT binary patch literal 2681 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 - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{TraceId}] %-5level %logger{36} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{seq}] %-5level %logger{36} - %msg%n logs weight-loss-camp-service-api