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 e245ff8..ad92df0 100644 Binary files a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.class and b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/core/ApiErrorCode.class differ 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 318e97b..192b910 100644 Binary files a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.class and b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/entity/BaseEntity.class differ 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 2db0a2d..a677c00 100644 Binary files a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.class and b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/filter/WebLogFilter.class differ 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 4734c54..f9322e8 100644 Binary files a/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.class and b/weight-loss-camp-api-base/target/classes/com/wjbl/weightlosscamp/api/base/web/GlobalExceptionHandler.class differ 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 d962fbf..e7173ee 100644 Binary files a/weight-loss-camp-api-data/target/classes/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.class and b/weight-loss-camp-api-data/target/classes/com/wjbl/weightlosscamp/api/data/config/CustomTenantHandler.class differ 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 4e46a4e..5b23492 100644 Binary files a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.class and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/WeightLossCampServiceApiApplication.class differ 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 0000000..44199ef Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/controller/CampInfoController.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.class new file mode 100644 index 0000000..bc164f6 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampClassroomDTO.class differ 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 0000000..b893e1e Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/dto/CampInfoDTO.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.class new file mode 100644 index 0000000..29463b6 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroom.class differ 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 0000000..ba12cb3 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampClassroomImage.class differ 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 0000000..684d62b Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampImage.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampInfo.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampInfo.class new file mode 100644 index 0000000..95864df Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/entity/CampInfo.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.class new file mode 100644 index 0000000..1dce9ae Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomImageMapper.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.class new file mode 100644 index 0000000..0e882a3 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampClassroomMapper.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.class new file mode 100644 index 0000000..aff8001 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampImageMapper.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.class new file mode 100644 index 0000000..d98a7c0 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/mapper/CampInfoMapper.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/CampInfoService.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/CampInfoService.class new file mode 100644 index 0000000..3a368fa Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/CampInfoService.class differ diff --git a/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.class b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.class new file mode 100644 index 0000000..2a842e0 Binary files /dev/null and b/weight-loss-camp-service-api/target/classes/com/wjbl/weightlosscamp/service/api/service/impl/CampInfoServiceImpl.class differ diff --git a/weight-loss-camp-service-api/target/classes/log4j2.xml b/weight-loss-camp-service-api/target/classes/log4j2.xml index 9e8a514..6e2559b 100644 --- a/weight-loss-camp-service-api/target/classes/log4j2.xml +++ b/weight-loss-camp-service-api/target/classes/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