From ca5e88cdf172d38ce719f3eaf2481aa1e374fb02 Mon Sep 17 00:00:00 2001 From: qiube <18969599531@163.com> Date: Tue, 23 Dec 2025 16:03:24 +0800 Subject: [PATCH] =?UTF-8?q?docs(guide):=20=E6=B7=BB=E5=8A=A0PayPal?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=A3=80=E6=9F=A5=E5=92=8C=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=A1=A8=E5=88=9B=E5=BB=BA=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建PAYPAL_CONFIG_CHECK.md文档,提供PayPal配置错误的解决方案 - 添加mt-pay/database/README_CUSTOMER_ORDER.md文档,说明客户订单表创建方法 - 提供详细的数据库表结构和SQL脚本执行指南 - 包含配置文件格式要求和调试方法说明 --- PAYPAL_CONFIG_CHECK.md | 68 + logs/mt-pay-error.2025-12-23.log | 1333 ++++++++ logs/mt-pay.2025-12-23.log | 3655 ++++++++++++++++++++++ mt-pay/database/README_CUSTOMER_ORDER.md | 111 + 4 files changed, 5167 insertions(+) create mode 100644 PAYPAL_CONFIG_CHECK.md create mode 100644 logs/mt-pay-error.2025-12-23.log create mode 100644 logs/mt-pay.2025-12-23.log create mode 100644 mt-pay/database/README_CUSTOMER_ORDER.md diff --git a/PAYPAL_CONFIG_CHECK.md b/PAYPAL_CONFIG_CHECK.md new file mode 100644 index 0000000..f3c8568 --- /dev/null +++ b/PAYPAL_CONFIG_CHECK.md @@ -0,0 +1,68 @@ +# PayPal配置检查指南 + +## 错误信息 +``` +Username must not be null +``` + +这个错误表示PayPal的`clientId`(Client ID)配置为空。 + +## 问题原因 + +Spring Boot的`@ConfigurationProperties`在绑定配置时,需要确保: +1. 配置文件中的属性名格式正确 +2. 配置类能够正确加载 +3. 配置文件被正确读取 + +## 解决方案 + +### 1. 检查配置文件 + +确保 `application-dev.yml` 中有以下配置: + +```yaml +paypal: + client-id: AdGYUZpvLuHR30dybOApvM-RNB1pVKtd74SVfh-6TK52xV-1JEBddHVMCWuDdyyHri4DXd4kABBi7Icb + client-secret: ENblspyRmwsOU_PWFurlhEYUF5Da6aYKl0pjK4ehm7p3R5aSqvbpaF_YsIIs8v0ty1c9WJu15XP-Fe_1 + mode: sandbox + enabled: true +``` + +### 2. 检查Spring Boot配置 + +确保主应用类或配置类启用了配置属性绑定。 + +### 3. 重启应用 + +修改配置后,**必须重启应用**才能生效。 + +### 4. 验证配置加载 + +启动应用后,检查日志中是否有PayPal配置相关的错误信息。 + +## 配置属性映射 + +Spring Boot会自动将以下格式进行映射: +- `client-id` (kebab-case) → `clientId` (camelCase) +- `client-secret` (kebab-case) → `clientSecret` (camelCase) + +## 调试方法 + +如果配置仍然无法加载,可以: + +1. **添加启动日志**:在`PayPalProperties`类中添加`@PostConstruct`方法打印配置值 +2. **检查环境变量**:确认使用的是`dev`环境(`spring.profiles.active=dev`) +3. **检查配置文件位置**:确保`application-dev.yml`在`src/main/resources`目录下 + +## 临时解决方案 + +如果配置仍然无法加载,可以在代码中临时硬编码(仅用于测试): + +```java +// 仅用于测试,生产环境必须使用配置文件 +if (clientId == null) { + clientId = "AdGYUZpvLuHR30dybOApvM-RNB1pVKtd74SVfh-6TK52xV-1JEBddHVMCWuDdyyHri4DXd4kABBi7Icb"; + clientSecret = "ENblspyRmwsOU_PWFurlhEYUF5Da6aYKl0pjK4ehm7p3R5aSqvbpaF_YsIIs8v0ty1c9WJu15XP-Fe_1"; +} +``` + diff --git a/logs/mt-pay-error.2025-12-23.log b/logs/mt-pay-error.2025-12-23.log new file mode 100644 index 0000000..b6297b9 --- /dev/null +++ b/logs/mt-pay-error.2025-12-23.log @@ -0,0 +1,1333 @@ +2025-12-23 10:39:21.374 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:41:06.695 [http-nio-8082-exec-4] ERROR com.mtkj.mtpay.exception.GlobalExceptionHandler - 运行时异常 +org.springframework.jdbc.BadSqlGrammarException: +### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist +### The error may exist in com/mtkj/mtpay/mapper/CustomerOrderMapper.java (best guess) +### The error may involve com.mtkj.mtpay.mapper.CustomerOrderMapper.insert-Inline +### The error occurred while setting parameters +### SQL: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +### Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy76.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy3/jdk.proxy3.$Proxy83.insert(Unknown Source) + at com.mtkj.mtpay.service.impl.CustomerOrderServiceImpl.createOrder(CustomerOrderServiceImpl.java:94) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) + at com.mtkj.mtpay.service.impl.CustomerOrderServiceImpl$$SpringCGLIB$$0.createOrder() + at com.mtkj.mtpay.controller.CustomerOrderController.createOrder(CustomerOrderController.java:29) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy4/jdk.proxy4.$Proxy98.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at jdk.proxy2/jdk.proxy2.$Proxy96.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy95.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 73 common frames omitted +2025-12-23 10:45:42.541 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:46:24.286 [http-nio-8082-exec-3] ERROR com.mtkj.mtpay.exception.GlobalExceptionHandler - 运行时异常 +java.lang.IllegalArgumentException: Username must not be null + at org.springframework.util.Assert.notNull(Assert.java:172) + at org.springframework.http.HttpHeaders.encodeBasicAuth(HttpHeaders.java:1927) + at org.springframework.http.HttpHeaders.setBasicAuth(HttpHeaders.java:802) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.getAccessToken(PayPalServiceImpl.java:58) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:99) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:43) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 10:48:42.753 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:48:51.137 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 10:49:01.643 [http-nio-8082-exec-4] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 10:53:03.324 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:53:53.918 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 11:01:26.424 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:01:28.929 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 11:04:26.683 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Parameter 0 of constructor in com.mtkj.mtpay.controller.PayPalController required a bean of type 'com.mtkj.mtpay.service.PayPalService' that could not be found. + + +Action: + +Consider defining a bean of type 'com.mtkj.mtpay.service.PayPalService' in your configuration. + +2025-12-23 11:04:26.684 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'payPalController' defined in file [E:\MTKJPAY\mt-pay\target\classes\com\mtkj\mtpay\controller\PayPalController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:802) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:241) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1193) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} + at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1878) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1404) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) + ... 22 common frames omitted +2025-12-23 11:04:28.473 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:28.473 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:28.474 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:28.474 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:41.817 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine suitable jdbc url + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev are currently active). + +2025-12-23 11:04:41.817 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Generic.class]: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:643) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1166) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:178) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651) + ... 22 common frames omitted +Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine suitable jdbc url + at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineUrl(DataSourceProperties.java:232) + at org.springframework.boot.autoconfigure.jdbc.PropertiesJdbcConnectionDetails.getJdbcUrl(PropertiesJdbcConnectionDetails.java:44) + at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:56) + at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Generic.dataSource(DataSourceConfiguration.java:193) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) + ... 23 common frames omitted +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:59.326 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置! +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 配置属性对象: PayPalProperties(clientId=null, clientSecret=null, mode=sandbox, sandboxBaseUrl=https://api-m.sandbox.paypal.com, productionBaseUrl=https://api-m.paypal.com, enabled=true, webhookId=null) +2025-12-23 11:05:05.594 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:06:44.113 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:08:11.266 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:08:11.667 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:12:01.733 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:14:22.777 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:14:22.777 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:14:22.778 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:14:22.778 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:14:23.439 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:14:23.439 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:14:23.440 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:14:23.440 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:14:23.870 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:17:14.359 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed +java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. + at org.springframework.util.Assert.state(Assert.java:97) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:87) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:61) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:55) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49) + at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:376) + at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:375) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +2025-12-23 11:17:14.361 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. + at org.springframework.util.Assert.state(Assert.java:97) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:87) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:61) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:55) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49) + at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:376) + at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:375) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +2025-12-23 11:17:14.364 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:19:05.802 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:499) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'paypal.clientId' in value "${paypal.clientId}" + at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) + at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) + at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) + at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) + at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:200) + at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:921) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1372) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:752) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:493) + ... 20 common frames omitted +2025-12-23 11:19:05.804 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:499) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'paypal.clientId' in value "${paypal.clientId}" + at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) + at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) + at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) + at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) + at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:200) + at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:921) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1372) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:752) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:493) + ... 20 common frames omitted +2025-12-23 11:19:05.805 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:21:49.306 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:21:49.306 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:21:50.266 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:22:40.996 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:22:40.996 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:22:42.059 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:24:45.032 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:24:45.032 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:24:46.005 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:24:54.479 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置! +2025-12-23 11:24:54.479 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 配置属性对象: PayPalProperties(environment=ApplicationServletEnvironment {activeProfiles=[dev], defaultProfiles=[default], propertySources=[MapPropertySource {name='server.ports'}, ConfigurationPropertySourcesPropertySource {name='configurationProperties'}, StubPropertySource {name='servletConfigInitParams'}, ServletContextPropertySource {name='servletContextInitParams'}, PropertiesPropertySource {name='systemProperties'}, OriginAwareSystemEnvironmentPropertySource {name='systemEnvironment'}, RandomValuePropertySource {name='random'}, OriginTrackedMapPropertySource {name='Config resource 'class path resource [application-dev.yml]' via location 'optional:classpath:/''}, OriginTrackedMapPropertySource {name='Config resource 'class path resource [application.yml]' via location 'optional:classpath:/''}, MapPropertySource {name='devtools'}]}, clientId=, clientSecret=, mode=sandbox, sandboxBaseUrl=https://api-m.sandbox.paypal.com, productionBaseUrl=https://api-m.paypal.com, enabled=true, webhookId=) +2025-12-23 11:24:54.484 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:28:22.097 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:28:22.097 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:28:23.075 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:30:10.759 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:30:10.759 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:32:54.127 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:32:54.127 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:32:55.116 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:37:38.300 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:38.300 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:38.663 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:38.663 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:40.592 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:40.592 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:40.879 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:40.879 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:40:14.297 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:40:14.297 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:40:14.926 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:40:14.926 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:40:15.289 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:45:46.645 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:45:46.646 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:45:47.331 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:45:47.331 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:45:47.697 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:46:55.839 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:46:55.839 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:46:56.516 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:46:56.516 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:46:56.862 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 13:05:52.471 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 13:05:52.471 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 13:11:03.193 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 13:11:03.193 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 13:11:03.643 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 13:11:17.909 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 13:11:38.663 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 +org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f829202161e82","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" + at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) + at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) + at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) + at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 13:46:27.154 [http-nio-8082-exec-2] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 +org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f955704b6ad13","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" + at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) + at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) + at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) + at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 14:15:24.908 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 14:15:35.539 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 +org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"issue":"CURRENCY_NOT_SUPPORTED","description":"Currency code is not currently supported. Please refer https://developer.paypal.com/docs/integration/direct/rest/currency-codes/ for list of supported currency codes."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f994592ddfc20","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#CURRENCY_NOT_SUPPORTED","rel":"information_link"}]}" + at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) + at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) + at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) + at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) diff --git a/logs/mt-pay.2025-12-23.log b/logs/mt-pay.2025-12-23.log new file mode 100644 index 0000000..3e4d470 --- /dev/null +++ b/logs/mt-pay.2025-12-23.log @@ -0,0 +1,3655 @@ +2025-12-23 10:39:18.305 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 10:39:18.360 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23952 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:39:18.361 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:39:19.813 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:39:19.815 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:39:19.815 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:39:19.875 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:39:19.954 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:39:19.958 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:39:19.961 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:39:19.961 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:39:19.989 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:39:20.564 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:39:20.881 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:39:21.006 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:39:21.009 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:39:21.345 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:39:21.366 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 3.617 seconds (process running for 5.164) +2025-12-23 10:39:21.369 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:39:21.369 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:39:21.374 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:40:27.733 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 10:40:27.795 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.ProductController - 获取商品列表 +2025-12-23 10:40:27.798 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询商品列表 +2025-12-23 10:40:30.273 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectList - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE (status <> ?) ORDER BY create_time DESC +2025-12-23 10:40:30.309 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectList - ==> Parameters: DELETED(String) +2025-12-23 10:40:30.379 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectList - <== Total: 1 +2025-12-23 10:40:30.383 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询到商品数量: 1 +2025-12-23 10:40:30.425 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE (product_id = ?) +2025-12-23 10:40:30.426 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Parameters: 1(Long) +2025-12-23 10:40:30.474 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - <== Total: 15 +2025-12-23 10:40:30.477 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品列表成功,商品数量: 1 +2025-12-23 10:40:30.639 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.controller.ProductController - 获取商品URL,商品ID:1 +2025-12-23 10:40:30.639 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品URL,商品ID: 1 +2025-12-23 10:40:30.641 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 10:40:30.641 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 10:40:30.681 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 10:40:30.732 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 创建或获取商品链接,商品ID: 1, 有效期: 90天 +2025-12-23 10:40:30.746 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Preparing: SELECT id,product_id,link_code,full_url,expire_days,expire_time,status,create_time,update_time FROM mt_product_link WHERE (product_id = ? AND status = ? AND expire_time > ?) ORDER BY create_time DESC LIMIT 1 +2025-12-23 10:40:30.746 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Parameters: 1(Long), ACTIVE(String), 2025-12-23T10:40:30.734491100(LocalDateTime) +2025-12-23 10:40:30.795 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - <== Total: 1 +2025-12-23 10:40:30.795 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 找到现有有效链接,链接码: 3582a1dfbb174d84aac9f465b7180b50, 商品ID: 1 +2025-12-23 10:40:30.877 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品URL成功,商品ID: 1, 链接码: 3582a1dfbb174d84aac9f465b7180b50, URL: http://localhost:3000/product/3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 10:40:39.692 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.controller.ProductController - 根据链接码获取商品详情,链接码:3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 10:40:39.692 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 根据链接码获取商品ID,链接码: 3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 10:40:39.692 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 根据链接码获取商品链接,链接码: 3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 10:40:39.694 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Preparing: SELECT id,product_id,link_code,full_url,expire_days,expire_time,status,create_time,update_time FROM mt_product_link WHERE (link_code = ?) LIMIT 1 +2025-12-23 10:40:39.695 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Parameters: 3582a1dfbb174d84aac9f465b7180b50(String) +2025-12-23 10:40:39.758 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - <== Total: 1 +2025-12-23 10:40:39.759 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 根据链接码获取商品ID成功,链接码: 3582a1dfbb174d84aac9f465b7180b50, 商品ID: 1 +2025-12-23 10:40:39.759 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询商品详情,商品ID: 1 +2025-12-23 10:40:39.759 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 10:40:39.759 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 10:40:39.807 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 10:40:39.810 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE (product_id = ? AND status = ?) +2025-12-23 10:40:39.810 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Parameters: 1(Long), ACTIVE(String) +2025-12-23 10:40:39.857 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - <== Total: 15 +2025-12-23 10:40:39.857 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询到商品SKU数量: 15, 商品ID: 1 +2025-12-23 10:40:39.858 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 解析商品主图(多图),数量: 5 +2025-12-23 10:40:39.866 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品详情成功,商品ID: 1, 商品名称: 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, SKU数量: 15, 主图数量: 5 +2025-12-23 10:41:06.051 [http-nio-8082-exec-4] INFO com.mtkj.mtpay.controller.CustomerOrderController - 创建客户订单请求:CreateCustomerOrderRequestDTO(productId=1, skuId=1, quantity=1, customerName=邱斌, customerPhone=18969599531, customerEmail=18969599531@163.com, shippingName=邱斌, shippingPhone=18969599531, shippingCountry=CN, shippingState=浙江省, shippingCity=丽水市, shippingStreet=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingPostcode=323000, remark=null) +2025-12-23 10:41:06.192 [http-nio-8082-exec-4] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 创建客户订单,商品ID: 1, SKU ID: 1, 数量: 1 +2025-12-23 10:41:06.192 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 10:41:06.192 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 10:41:06.258 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 10:41:06.258 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE id=? +2025-12-23 10:41:06.259 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 10:41:06.333 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - <== Total: 1 +2025-12-23 10:41:06.333 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.util.OrderIdGenerator - 生成商户订单号: MTN17664576663337034 +2025-12-23 10:41:06.338 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.config.MyMetaObjectHandler - 开始插入填充... +2025-12-23 10:41:06.341 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - ==> Preparing: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2025-12-23 10:41:06.342 [http-nio-8082-exec-4] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - ==> Parameters: MTN17664576663337034(String), 1(Long), 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人(String), 1(Long), 【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】(String), 1(Integer), 13.31(BigDecimal), 13.31(BigDecimal), MYR(String), PENDING(String), 邱斌(String), 18969599531(String), 18969599531@163.com(String), 邱斌(String), 18969599531(String), CN(String), 浙江省(String), 丽水市(String), 丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆(String), 323000(String), UNPAID(String), 2025-12-23T10:41:06.338756(LocalDateTime), 2025-12-23T10:41:06.341138400(LocalDateTime) +2025-12-23 10:41:06.695 [http-nio-8082-exec-4] ERROR com.mtkj.mtpay.exception.GlobalExceptionHandler - 运行时异常 +org.springframework.jdbc.BadSqlGrammarException: +### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist +### The error may exist in com/mtkj/mtpay/mapper/CustomerOrderMapper.java (best guess) +### The error may involve com.mtkj.mtpay.mapper.CustomerOrderMapper.insert-Inline +### The error occurred while setting parameters +### SQL: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +### Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist +; bad SQL grammar [] + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) + at jdk.proxy2/jdk.proxy2.$Proxy76.insert(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy3/jdk.proxy3.$Proxy83.insert(Unknown Source) + at com.mtkj.mtpay.service.impl.CustomerOrderServiceImpl.createOrder(CustomerOrderServiceImpl.java:94) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) + at com.mtkj.mtpay.service.impl.CustomerOrderServiceImpl$$SpringCGLIB$$0.createOrder() + at com.mtkj.mtpay.controller.CustomerOrderController.createOrder(CustomerOrderController.java:29) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +Caused by: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist + at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) + at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) + at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) + at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) + at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) + at jdk.proxy4/jdk.proxy4.$Proxy98.execute(Unknown Source) + at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) + at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) + at jdk.proxy2/jdk.proxy2.$Proxy96.update(Unknown Source) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) + at jdk.proxy2/jdk.proxy2.$Proxy95.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) + at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) + ... 73 common frames omitted +2025-12-23 10:41:06.699 [http-nio-8082-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist### The error may exist in com/mtkj/mtpay/mapper/CustomerOrderMapper.java (best guess)### The error may involve com.mtkj.mtpay.mapper.CustomerOrderMapper.insert-Inline### The error occurred while setting parameters### SQL: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )### Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist; bad SQL grammar []] +2025-12-23 10:45:39.592 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 10:45:39.635 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 8504 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:45:39.635 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:45:41.265 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:45:41.267 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:45:41.268 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:45:41.318 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:45:41.401 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:45:41.406 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:45:41.410 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:45:41.410 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:45:41.437 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:45:41.984 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:45:42.142 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:45:42.238 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:45:42.241 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:45:42.519 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:45:42.535 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 3.507 seconds (process running for 4.56) +2025-12-23 10:45:42.538 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:45:42.538 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:45:42.541 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:46:01.643 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 10:46:01.912 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.CustomerOrderController - 创建客户订单请求:CreateCustomerOrderRequestDTO(productId=1, skuId=1, quantity=1, customerName=邱斌, customerPhone=18969599531, customerEmail=18969599531@163.com, shippingName=邱斌, shippingPhone=18969599531, shippingCountry=CN, shippingState=浙江省, shippingCity=丽水市, shippingStreet=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingPostcode=323000, remark=null) +2025-12-23 10:46:04.135 [http-nio-8082-exec-1] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 创建客户订单,商品ID: 1, SKU ID: 1, 数量: 1 +2025-12-23 10:46:04.155 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 10:46:04.171 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 10:46:04.225 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 10:46:04.227 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE id=? +2025-12-23 10:46:04.228 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 10:46:04.267 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - <== Total: 1 +2025-12-23 10:46:04.269 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.util.OrderIdGenerator - 生成商户订单号: MTN17664579642691703 +2025-12-23 10:46:04.307 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.config.MyMetaObjectHandler - 开始插入填充... +2025-12-23 10:46:04.309 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - ==> Preparing: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2025-12-23 10:46:04.310 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - ==> Parameters: MTN17664579642691703(String), 1(Long), 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人(String), 1(Long), 【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】(String), 1(Integer), 13.31(BigDecimal), 13.31(BigDecimal), MYR(String), PENDING(String), 邱斌(String), 18969599531(String), 18969599531@163.com(String), 邱斌(String), 18969599531(String), CN(String), 浙江省(String), 丽水市(String), 丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆(String), 323000(String), UNPAID(String), 2025-12-23T10:46:04.307177800(LocalDateTime), 2025-12-23T10:46:04.308257600(LocalDateTime) +2025-12-23 10:46:04.396 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - <== Updates: 1 +2025-12-23 10:46:04.398 [http-nio-8082-exec-1] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 客户订单创建成功,订单ID: 1, 订单号: MTN17664579642691703 +2025-12-23 10:46:04.751 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664579642691703 +2025-12-23 10:46:04.751 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664579642691703 +2025-12-23 10:46:04.793 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 10:46:04.794 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664579642691703(String) +2025-12-23 10:46:04.843 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 10:46:24.277 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 10:46:24.284 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 10:46:24.284 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 10:46:24.286 [http-nio-8082-exec-3] ERROR com.mtkj.mtpay.exception.GlobalExceptionHandler - 运行时异常 +java.lang.IllegalArgumentException: Username must not be null + at org.springframework.util.Assert.notNull(Assert.java:172) + at org.springframework.http.HttpHeaders.encodeBasicAuth(HttpHeaders.java:1927) + at org.springframework.http.HttpHeaders.setBasicAuth(HttpHeaders.java:802) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.getAccessToken(PayPalServiceImpl.java:58) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:99) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:43) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 10:46:24.291 [http-nio-8082-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [java.lang.IllegalArgumentException: Username must not be null] +2025-12-23 10:48:40.429 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 10:48:40.465 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 14420 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:48:40.466 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:48:41.545 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:48:41.546 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:48:41.547 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:48:41.671 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:48:41.745 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:48:41.749 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:48:41.753 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:48:41.753 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:48:41.776 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:48:42.254 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:48:42.371 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:48:42.461 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:48:42.463 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:48:42.729 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:48:42.750 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.851 seconds (process running for 3.714) +2025-12-23 10:48:42.752 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:48:42.752 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:48:42.753 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:48:50.872 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 10:48:51.123 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 10:48:51.137 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 10:48:51.137 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 10:48:51.137 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 10:48:51.141 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: PayPal Client ID未配置 +2025-12-23 10:48:51.186 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: PayPal Client ID未配置] +2025-12-23 10:49:01.642 [http-nio-8082-exec-4] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 10:49:01.643 [http-nio-8082-exec-4] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 10:49:01.643 [http-nio-8082-exec-4] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 10:49:01.643 [http-nio-8082-exec-4] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 10:49:01.643 [http-nio-8082-exec-4] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: PayPal Client ID未配置 +2025-12-23 10:49:01.644 [http-nio-8082-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: PayPal Client ID未配置] +2025-12-23 10:50:50.716 [Thread-8] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 10:50:50.813 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:50:50.879 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 14420 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:50:50.879 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:50:51.254 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:50:51.255 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:50:51.255 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:50:51.297 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:50:51.310 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 10:50:51.310 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 未配置 +2025-12-23 10:50:51.311 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 未配置 +2025-12-23 10:50:51.311 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 10:50:51.311 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 10:50:51.311 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client ID未配置!请检查application.yml中的paypal.client-id配置 +2025-12-23 10:50:51.311 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client Secret未配置!请检查application.yml中的paypal.client-secret配置 +2025-12-23 10:50:51.318 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:50:51.318 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:50:51.320 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:50:51.321 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:50:51.321 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:50:51.611 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:50:51.615 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:50:51.687 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:50:51.687 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:50:51.785 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:50:51.794 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.973 seconds (process running for 132.758) +2025-12-23 10:50:51.797 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:50:51.797 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:50:53.217 [Thread-10] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 10:50:53.276 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:50:53.308 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 14420 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:50:53.308 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:50:53.683 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:50:53.684 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:50:53.684 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:50:53.721 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:50:53.733 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 10:50:53.734 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 未配置 +2025-12-23 10:50:53.734 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 未配置 +2025-12-23 10:50:53.734 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 10:50:53.734 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 10:50:53.734 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client ID未配置!请检查application.yml中的paypal.client-id配置 +2025-12-23 10:50:53.734 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client Secret未配置!请检查application.yml中的paypal.client-secret配置 +2025-12-23 10:50:53.739 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:50:53.739 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:50:53.742 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:50:53.742 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:50:53.742 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:50:54.034 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:50:54.038 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:50:54.093 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:50:54.093 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:50:54.161 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:50:54.167 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.887 seconds (process running for 135.132) +2025-12-23 10:50:54.169 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:50:54.169 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:52:30.185 [Thread-17] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 10:52:30.238 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:52:30.268 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 14420 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:52:30.268 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:52:30.548 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:52:30.548 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:52:30.548 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:52:30.563 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:52:30.572 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 10:52:30.572 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 未配置 +2025-12-23 10:52:30.572 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 未配置 +2025-12-23 10:52:30.572 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 10:52:30.572 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 10:52:30.572 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client ID未配置!请检查application.yml中的paypal.client-id配置 +2025-12-23 10:52:30.572 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client Secret未配置!请检查application.yml中的paypal.client-secret配置 +2025-12-23 10:52:30.578 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:52:30.578 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:52:30.580 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:52:30.580 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:52:30.580 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:52:30.814 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:52:30.816 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:52:30.859 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:52:30.859 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:52:30.911 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:52:30.917 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.676 seconds (process running for 231.882) +2025-12-23 10:52:30.919 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:52:30.919 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:52:35.435 [Thread-24] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 10:52:35.490 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:52:35.520 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 14420 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:52:35.520 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:52:35.820 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:52:35.820 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:52:35.820 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:52:35.835 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:52:35.846 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 10:52:35.846 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 未配置 +2025-12-23 10:52:35.846 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 未配置 +2025-12-23 10:52:35.846 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 10:52:35.846 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 10:52:35.846 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client ID未配置!请检查application.yml中的paypal.client-id配置 +2025-12-23 10:52:35.846 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client Secret未配置!请检查application.yml中的paypal.client-secret配置 +2025-12-23 10:52:35.853 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:52:35.853 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:52:35.855 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:52:35.855 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:52:35.855 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:52:36.100 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:52:36.102 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:52:36.149 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:52:36.149 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:52:36.213 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:52:36.219 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.725 seconds (process running for 237.184) +2025-12-23 10:52:36.220 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:52:36.220 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:53:00.558 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 10:53:00.608 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 13320 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 10:53:00.609 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 10:53:02.184 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 10:53:02.185 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 10:53:02.186 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 10:53:02.241 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 10:53:02.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 10:53:02.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 未配置 +2025-12-23 10:53:02.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 未配置 +2025-12-23 10:53:02.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 10:53:02.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 10:53:02.300 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client ID未配置!请检查application.yml中的paypal.client-id配置 +2025-12-23 10:53:02.300 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client Secret未配置!请检查application.yml中的paypal.client-secret配置 +2025-12-23 10:53:02.316 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 10:53:02.320 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 10:53:02.324 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 10:53:02.324 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 10:53:02.345 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 10:53:02.810 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 10:53:02.940 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 10:53:03.031 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 10:53:03.033 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 10:53:03.303 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 10:53:03.320 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 3.315 seconds (process running for 4.164) +2025-12-23 10:53:03.322 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 10:53:03.322 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 10:53:03.324 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 10:53:53.723 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 10:53:53.910 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 10:53:53.918 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 10:53:53.918 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 10:53:53.918 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 10:53:53.920 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: PayPal Client ID未配置 +2025-12-23 10:53:53.956 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: PayPal Client ID未配置] +2025-12-23 11:01:24.054 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:01:24.098 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2216 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:01:24.099 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:01:25.283 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:01:25.285 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:01:25.285 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:01:25.342 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:01:25.394 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:01:25.395 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 未配置 +2025-12-23 11:01:25.395 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 未配置 +2025-12-23 11:01:25.395 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:01:25.395 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:01:25.395 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client ID未配置!请检查application.yml中的paypal.client-id配置 +2025-12-23 11:01:25.395 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - ⚠️ PayPal Client Secret未配置!请检查application.yml中的paypal.client-secret配置 +2025-12-23 11:01:25.409 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:01:25.412 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:01:25.416 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:01:25.416 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:01:25.434 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:01:25.884 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:01:26.031 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:01:26.141 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:01:26.143 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:01:26.402 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:01:26.420 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.95 seconds (process running for 3.689) +2025-12-23 11:01:26.422 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:01:26.422 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:01:26.424 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:01:28.653 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 11:01:28.914 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 11:01:28.928 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 11:01:28.929 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 11:01:28.929 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 +2025-12-23 11:01:28.934 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: PayPal Client ID未配置 +2025-12-23 11:01:28.988 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: PayPal Client ID未配置] +2025-12-23 11:04:25.756 [Thread-8] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:25.822 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:25.863 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2216 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:04:25.863 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:04:26.224 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:26.224 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:04:26.224 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:04:26.241 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:04:26.261 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:04:26.261 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:04:26.267 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:04:26.267 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:04:26.267 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:04:26.625 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:04:26.630 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:04:26.641 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'payPalController' defined in file [E:\MTKJPAY\mt-pay\target\classes\com\mtkj\mtpay\controller\PayPalController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} +2025-12-23 11:04:26.641 [restartedMain] INFO org.apache.catalina.core.StandardService - Stopping service [Tomcat] +2025-12-23 11:04:26.683 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Parameter 0 of constructor in com.mtkj.mtpay.controller.PayPalController required a bean of type 'com.mtkj.mtpay.service.PayPalService' that could not be found. + + +Action: + +Consider defining a bean of type 'com.mtkj.mtpay.service.PayPalService' in your configuration. + +2025-12-23 11:04:26.684 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'payPalController' defined in file [E:\MTKJPAY\mt-pay\target\classes\com\mtkj\mtpay\controller\PayPalController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:802) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:241) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1193) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} + at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1878) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1404) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) + ... 22 common frames omitted +2025-12-23 11:04:28.138 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:28.172 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2216 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:04:28.173 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:04:28.449 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:28.450 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:04:28.450 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:04:28.465 [restartedMain] INFO o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:28.473 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:28.473 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:28.473 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:28.474 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:28.474 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:28.480 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:04:28.480 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:04:28.482 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:04:28.482 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:04:28.482 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:04:28.714 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:04:28.716 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:28.747 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:28.765 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:04:28.765 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:04:28.822 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:28.829 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.688 seconds (process running for 186.098) +2025-12-23 11:04:28.830 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:28.830 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:04:36.401 [Thread-10] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:36.483 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:41.463 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2216 (started by 18969 in E:\MTKJPAY) +2025-12-23 11:04:41.463 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:04:41.672 [restartedMain] WARN org.mybatis.spring.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.mtkj.mtkjpay]' package. Please check your configuration. +2025-12-23 11:04:41.717 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:04:41.717 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:04:41.735 [restartedMain] INFO o.a.c.c.ContainerBase.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:04:41.805 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Generic.class]: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url +2025-12-23 11:04:41.807 [restartedMain] INFO org.apache.catalina.core.StandardService - Stopping service [Tomcat] +2025-12-23 11:04:41.817 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - + +*************************** +APPLICATION FAILED TO START +*************************** + +Description: + +Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. + +Reason: Failed to determine suitable jdbc url + + +Action: + +Consider the following: + If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. + If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev are currently active). + +2025-12-23 11:04:41.817 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Generic.class]: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:643) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1166) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:178) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651) + ... 22 common frames omitted +Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine suitable jdbc url + at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineUrl(DataSourceProperties.java:232) + at org.springframework.boot.autoconfigure.jdbc.PropertiesJdbcConnectionDetails.getJdbcUrl(PropertiesJdbcConnectionDetails.java:44) + at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:56) + at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Generic.dataSource(DataSourceConfiguration.java:193) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) + ... 23 common frames omitted +2025-12-23 11:04:44.742 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:44.799 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2216 (started by 18969 in E:\MTKJPAY) +2025-12-23 11:04:44.799 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:04:45.150 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:04:45.150 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:04:45.164 [restartedMain] INFO o.a.c.c.ContainerBase.[Tomcat-3].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:04:45.174 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:45.174 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:45.175 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 已配置 (AdGYUZpvLuHR30dybOAp...) +2025-12-23 11:04:45.175 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 已配置 (ENblspyRmwsOU_PWFurl...) +2025-12-23 11:04:45.175 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:45.175 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:45.175 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:45.175 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:45.182 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:04:45.182 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:04:45.184 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:04:45.184 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:04:45.185 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:04:45.465 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:04:45.468 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: 已配置 (AdGYUZpvLuHR30dybOAp...) +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: 已配置 (ENblspyRmwsOU_PWFurl...) +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:45.506 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:45.525 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:04:45.525 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:04:45.605 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.86 seconds (process running for 202.874) +2025-12-23 11:04:45.606 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:45.606 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:04:47.108 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:47.139 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2216 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:04:47.139 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:04:47.404 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:04:47.404 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:04:47.422 [restartedMain] INFO o.a.c.c.ContainerBase.[Tomcat-3].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:47.431 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:47.437 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:04:47.437 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:04:47.439 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:04:47.439 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:04:47.439 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:04:47.686 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:04:47.688 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:47.722 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:47.738 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:04:47.738 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:04:47.802 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.691 seconds (process running for 205.071) +2025-12-23 11:04:47.804 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:47.804 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:04:57.097 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:04:57.138 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 24596 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:04:57.139 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:04:58.251 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:58.252 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:04:58.252 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:04:58.301 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:04:58.358 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:58.358 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:58.358 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:04:58.358 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:04:58.359 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:58.359 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:58.359 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:58.359 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:58.376 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:04:58.380 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:04:58.384 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:04:58.384 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:04:58.403 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:04:58.817 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:04:58.938 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:04:58.978 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:58.978 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:04:58.979 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:04:58.979 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:04:58.979 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:04:58.979 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:04:58.979 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:04:58.979 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:04:59.024 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:04:59.026 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:04:59.304 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:04:59.321 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.724 seconds (process running for 3.424) +2025-12-23 11:04:59.324 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:04:59.324 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:04:59.326 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:05:05.331 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 11:05:05.575 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal配置检查 - Client ID: null, Client Secret: null +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置! +2025-12-23 11:05:05.589 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 配置属性对象: PayPalProperties(clientId=null, clientSecret=null, mode=sandbox, sandboxBaseUrl=https://api-m.sandbox.paypal.com, productionBaseUrl=https://api-m.paypal.com, enabled=true, webhookId=null) +2025-12-23 11:05:05.594 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:05:05.599 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: PayPal Client ID未配置,请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:05:05.648 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: PayPal Client ID未配置,请检查application-dev.yml中的paypal.client-id配置] +2025-12-23 11:06:41.820 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:06:41.866 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 24448 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:06:41.867 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:06:42.969 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:06:42.970 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:06:42.970 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:06:43.013 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:06:43.064 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:06:43.078 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:06:43.083 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:06:43.086 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:06:43.086 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:06:43.104 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:06:43.516 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:06:43.638 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:06:43.681 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:06:43.736 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:06:43.738 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:06:44.083 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:06:44.107 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.826 seconds (process running for 3.564) +2025-12-23 11:06:44.110 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:06:44.111 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:06:44.113 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:08:09.473 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:08:09.514 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23520 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:08:09.514 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:08:10.577 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:08:10.578 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:08:10.578 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:08:10.621 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:08:10.671 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:08:10.687 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:08:10.690 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:08:10.693 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:08:10.693 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:08:10.712 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:08:11.111 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:08:11.222 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:08:11.265 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:08:11.266 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:08:11.327 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:08:11.329 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:08:11.644 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:08:11.661 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.663 seconds (process running for 3.384) +2025-12-23 11:08:11.664 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:08:11.665 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:08:11.667 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:11:59.398 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:11:59.440 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23600 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:11:59.440 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:12:00.531 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:12:00.533 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:12:00.533 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:12:00.585 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:12:00.641 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:12:00.657 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:12:00.660 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:12:00.665 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:12:00.665 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:12:00.684 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:12:01.137 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:12:01.278 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:12:01.354 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null +2025-12-23 11:12:01.421 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:12:01.424 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:12:01.713 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:12:01.729 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.85 seconds (process running for 3.525) +2025-12-23 11:12:01.731 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:12:01.731 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:12:01.733 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:14:21.510 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:14:21.550 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 19236 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:14:21.550 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:14:22.680 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:14:22.682 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:14:22.682 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:14:22.726 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:14:22.777 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 从Environment读取 - Client ID: null, Client Secret: null +2025-12-23 11:14:22.777 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:14:22.777 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:14:22.778 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:14:22.778 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:14:22.793 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:14:22.796 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:14:22.799 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:14:22.799 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:14:22.818 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:14:23.277 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:14:23.391 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:14:23.437 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:14:23.437 [restartedMain] WARN com.mtkj.mtpay.config.PayPalProperties - 无法从Environment读取配置 +java.lang.NullPointerException: Cannot invoke "org.springframework.core.env.Environment.getProperty(String)" because "this.environment" is null + at com.mtkj.mtpay.config.PayPalProperties.validate(PayPalProperties.java:93) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:421) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1767) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +2025-12-23 11:14:23.439 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:14:23.439 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = +2025-12-23 11:14:23.440 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:14:23.440 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = +2025-12-23 11:14:23.492 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:14:23.496 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:14:23.849 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:14:23.866 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.85 seconds (process running for 3.592) +2025-12-23 11:14:23.868 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:14:23.868 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:14:23.870 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:17:13.645 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:17:13.697 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 2724 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:17:13.698 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:17:14.332 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. +2025-12-23 11:17:14.359 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed +java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. + at org.springframework.util.Assert.state(Assert.java:97) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:87) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:61) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:55) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49) + at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:376) + at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:375) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +2025-12-23 11:17:14.361 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. + at org.springframework.util.Assert.state(Assert.java:97) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:87) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:61) + at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:55) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49) + at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:376) + at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:375) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) + at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) + at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) + at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) + at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +2025-12-23 11:17:14.364 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:19:04.590 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:19:04.628 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 26892 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:19:04.629 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:19:05.666 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:19:05.668 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:19:05.668 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:19:05.710 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:19:05.759 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed +2025-12-23 11:19:05.762 [restartedMain] INFO org.apache.catalina.core.StandardService - Stopping service [Tomcat] +2025-12-23 11:19:05.802 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:499) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'paypal.clientId' in value "${paypal.clientId}" + at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) + at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) + at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) + at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) + at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:200) + at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:921) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1372) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:752) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:493) + ... 20 common frames omitted +2025-12-23 11:19:05.804 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:499) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) +Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'paypal.clientId' in value "${paypal.clientId}" + at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) + at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) + at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) + at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) + at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:200) + at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:921) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1372) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:752) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:493) + ... 20 common frames omitted +2025-12-23 11:19:05.805 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:21:48.101 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:21:48.146 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 22976 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:21:48.147 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:21:49.198 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:21:49.199 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:21:49.200 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:21:49.247 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:21:49.305 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:21:49.306 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:21:49.306 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:21:49.306 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:21:49.323 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:21:49.327 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:21:49.330 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:21:49.331 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:21:49.350 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:21:49.779 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:21:49.893 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:21:49.975 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:21:49.977 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:21:50.240 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:21:50.261 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.62 seconds (process running for 3.385) +2025-12-23 11:21:50.264 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:21:50.264 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:21:50.266 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:22:39.751 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:22:39.791 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 26424 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:22:39.793 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:22:40.868 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:22:40.869 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:22:40.869 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:22:40.922 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:22:40.995 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:22:40.995 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:22:40.995 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:22:40.996 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:22:40.996 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:22:40.996 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:22:40.996 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:22:40.996 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:22:40.996 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:22:40.996 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:22:41.014 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:22:41.018 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:22:41.022 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:22:41.023 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:22:41.048 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:22:41.536 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:22:41.661 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:22:41.760 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:22:41.762 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:22:42.037 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:22:42.054 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.938 seconds (process running for 3.693) +2025-12-23 11:22:42.057 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:22:42.057 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:22:42.059 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:24:43.856 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:24:43.900 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 24504 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:24:43.901 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:24:44.934 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:24:44.936 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:24:44.936 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:24:44.979 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【调试信息】从Environment读取: +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientId = null +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientSecret = null +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.mode = null +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.enabled = null +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【最终结果】: +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:24:45.031 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:24:45.032 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:24:45.032 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:24:45.032 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:24:45.032 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:24:45.032 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:24:45.047 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:24:45.050 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:24:45.054 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:24:45.054 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:24:45.072 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:24:45.480 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:24:45.600 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:24:45.689 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:24:45.692 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:24:45.980 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:24:45.999 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.623 seconds (process running for 3.297) +2025-12-23 11:24:46.002 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:24:46.002 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:24:46.005 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:24:54.195 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 11:24:54.463 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 11:24:54.478 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 11:24:54.478 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 11:24:54.478 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal配置检查 - Client ID: ..., Client Secret: ... +2025-12-23 11:24:54.479 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置! +2025-12-23 11:24:54.479 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 配置属性对象: PayPalProperties(environment=ApplicationServletEnvironment {activeProfiles=[dev], defaultProfiles=[default], propertySources=[MapPropertySource {name='server.ports'}, ConfigurationPropertySourcesPropertySource {name='configurationProperties'}, StubPropertySource {name='servletConfigInitParams'}, ServletContextPropertySource {name='servletContextInitParams'}, PropertiesPropertySource {name='systemProperties'}, OriginAwareSystemEnvironmentPropertySource {name='systemEnvironment'}, RandomValuePropertySource {name='random'}, OriginTrackedMapPropertySource {name='Config resource 'class path resource [application-dev.yml]' via location 'optional:classpath:/''}, OriginTrackedMapPropertySource {name='Config resource 'class path resource [application.yml]' via location 'optional:classpath:/''}, MapPropertySource {name='devtools'}]}, clientId=, clientSecret=, mode=sandbox, sandboxBaseUrl=https://api-m.sandbox.paypal.com, productionBaseUrl=https://api-m.paypal.com, enabled=true, webhookId=) +2025-12-23 11:24:54.484 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:24:54.489 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: PayPal Client ID未配置,请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:24:54.529 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: PayPal Client ID未配置,请检查application-dev.yml中的paypal.client-id配置] +2025-12-23 11:28:20.938 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:28:20.974 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 26932 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:28:20.975 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:28:21.999 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:28:22.000 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:28:22.000 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:28:22.044 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【调试信息】从Environment读取: +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientId (camelCase) = null +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.client-id (kebab-case) = null +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientSecret (camelCase) = null +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.client-secret (kebab-case) = null +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.mode = null +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.enabled = null +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【最终结果】: +2025-12-23 11:28:22.096 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:28:22.097 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:28:22.097 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:28:22.097 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:28:22.097 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:28:22.097 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:28:22.097 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:28:22.097 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:28:22.113 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:28:22.116 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:28:22.119 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:28:22.119 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:28:22.137 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:28:22.553 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:28:22.676 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:28:22.767 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:28:22.770 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:28:23.049 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:28:23.069 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.607 seconds (process running for 3.253) +2025-12-23 11:28:23.072 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:28:23.072 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:28:23.075 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:30:10.290 [Thread-8] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 11:30:10.351 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:30:10.393 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 26932 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:30:10.393 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:30:10.693 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:30:10.693 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:30:10.693 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:30:10.747 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:30:10.758 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:30:10.758 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【调试信息】从Environment读取: +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientId (camelCase) = null +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.client-id (kebab-case) = null +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientSecret (camelCase) = null +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.client-secret (kebab-case) = null +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.mode = null +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.enabled = null +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【最终结果】: +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:30:10.759 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:30:10.759 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:30:10.759 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:30:10.766 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:30:10.766 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:30:10.768 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:30:10.768 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:30:10.768 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:30:11.042 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:30:11.045 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:30:11.100 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:30:11.100 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:30:11.163 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:30:11.169 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.813 seconds (process running for 111.353) +2025-12-23 11:30:11.172 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:30:11.172 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:32:52.936 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:32:52.971 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 7736 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:32:52.972 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:32:54.033 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:32:54.034 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:32:54.034 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:32:54.076 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【调试信息】从Environment读取: +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientId (camelCase) = null +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.client-id (kebab-case) = null +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.clientSecret (camelCase) = null +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.client-secret (kebab-case) = null +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.mode = null +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - paypal.enabled = null +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - 【最终结果】: +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:32:54.127 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:32:54.127 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 +2025-12-23 11:32:54.127 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 +2025-12-23 11:32:54.143 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:32:54.146 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:32:54.149 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:32:54.149 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:32:54.167 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:32:54.590 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:32:54.713 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:32:54.808 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:32:54.811 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:32:55.094 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:32:55.111 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.65 seconds (process running for 3.4) +2025-12-23 11:32:55.113 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:32:55.113 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:32:55.116 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:37:37.816 [Thread-8] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 11:37:37.894 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:37:37.936 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 7736 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:37:37.936 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:37:38.269 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:37:38.269 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:37:38.269 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:37:38.290 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:37:38.299 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:38.299 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:37:38.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:37:38.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:37:38.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:37:38.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:37:38.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:37:38.300 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:38.300 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:38.300 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:38.308 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:37:38.309 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:37:38.312 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:37:38.312 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:37:38.312 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:37:38.608 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:37:38.612 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:37:38.662 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:37:38.663 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:38.663 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:38.663 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:38.681 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:37:38.682 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:37:38.756 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:37:38.763 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.864 seconds (process running for 287.052) +2025-12-23 11:37:38.765 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:37:38.765 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:37:40.192 [Thread-10] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 11:37:40.250 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:37:40.284 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 7736 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:37:40.284 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:37:40.564 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:37:40.564 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:37:40.566 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:37:40.581 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:37:40.592 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:40.592 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:40.592 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:40.598 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:37:40.598 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:37:40.600 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:37:40.600 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:37:40.600 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:37:40.846 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:37:40.848 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:37:40.879 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:37:40.879 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:37:40.879 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:37:40.899 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:37:40.899 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:37:41.019 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:37:41.028 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.772 seconds (process running for 289.317) +2025-12-23 11:37:41.030 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:37:41.030 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:40:13.091 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:40:13.136 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 24592 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:40:13.137 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:40:14.197 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:40:14.198 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:40:14.198 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:40:14.243 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:40:14.296 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:40:14.296 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:40:14.296 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:40:14.296 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:40:14.297 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:40:14.297 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:40:14.297 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:40:14.297 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:40:14.297 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:40:14.297 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:40:14.312 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:40:14.317 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:40:14.320 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:40:14.320 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:40:14.339 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:40:14.767 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:40:14.884 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:40:14.926 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:40:14.926 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:40:14.926 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:40:14.973 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:40:14.976 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:40:15.267 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:40:15.284 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.682 seconds (process running for 3.372) +2025-12-23 11:40:15.287 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:40:15.287 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:40:15.289 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:45:45.495 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:45:45.531 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23212 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:45:45.532 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:45:46.550 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:45:46.551 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:45:46.551 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:45:46.594 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:45:46.645 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:45:46.645 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:45:46.646 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:45:46.661 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:45:46.664 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:45:46.668 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:45:46.668 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:45:46.687 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:45:47.164 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:45:47.291 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:45:47.331 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:45:47.331 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:45:47.331 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:45:47.382 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:45:47.385 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:45:47.676 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 11:45:47.693 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 2.767 seconds (process running for 3.581) +2025-12-23 11:45:47.695 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:45:47.695 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:45:47.697 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:46:09.443 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:46:09.475 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 25724 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:46:09.475 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:46:10.539 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:46:10.541 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:46:10.541 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:46:10.599 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 11:46:13.328 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:46:13.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:46:55.835 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:46:55.836 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:46:55.837 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:46:55.837 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:46:55.837 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:46:55.839 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:46:55.839 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:46:55.839 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:46:55.859 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 11:46:55.863 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 11:46:55.868 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 11:46:55.869 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 11:46:55.889 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 11:46:56.354 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 11:46:56.475 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 11:46:56.516 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 11:46:56.516 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 11:46:56.516 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 11:46:56.566 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 11:46:56.567 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 11:46:56.856 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 47.889 seconds (process running for 48.824) +2025-12-23 11:46:56.858 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 11:46:56.858 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 11:46:56.862 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 11:46:59.556 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 11:46:59.596 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 26296 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 11:46:59.596 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 11:47:00.676 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 11:47:00.677 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 11:47:00.677 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 11:47:00.719 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 13:05:52.470 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 13:05:52.471 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 13:05:52.471 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 13:05:52.471 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 13:05:52.505 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 13:05:52.511 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 13:05:52.518 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 13:05:52.518 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 13:05:52.545 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 13:05:53.028 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 13:05:53.152 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 13:11:03.192 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ❌ 未配置 +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ❌ 未配置 +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 13:11:03.193 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 13:11:03.193 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 +2025-12-23 13:11:03.193 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 +2025-12-23 13:11:03.268 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 13:11:03.271 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 13:11:03.635 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 5044.71 seconds (process running for 5045.652) +2025-12-23 13:11:03.638 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 13:11:03.638 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 13:11:03.643 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 13:11:08.210 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 13:11:08.241 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 24724 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 13:11:08.243 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 13:11:09.390 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 13:11:09.392 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 13:11:09.392 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 13:11:09.442 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 13:11:16.894 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 13:11:16.894 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 13:11:16.896 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) +2025-12-23 13:11:16.896 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) +2025-12-23 13:11:16.897 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 13:11:16.897 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 13:11:16.897 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 13:11:16.897 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 13:11:16.917 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 13:11:16.920 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 13:11:16.924 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 13:11:16.924 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 13:11:16.943 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 13:11:17.381 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 13:11:17.516 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 13:11:17.603 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 13:11:17.605 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 13:11:17.875 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 13:11:17.903 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 10.225 seconds (process running for 11.063) +2025-12-23 13:11:17.907 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 13:11:17.907 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 13:11:17.909 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 13:11:36.142 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 13:11:36.287 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 13:11:36.294 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 13:11:36.294 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 13:11:36.294 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal配置检查 - Client ID: AdGYUZpvLuHR30dybOAp..., Client Secret: ENblspyRmwsOU_PWFurl... +2025-12-23 13:11:37.732 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal访问令牌获取成功 +2025-12-23 13:11:38.663 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 +org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f829202161e82","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" + at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) + at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) + at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) + at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 13:11:38.667 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: 创建PayPal订单异常: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f829202161e82","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" +2025-12-23 13:11:38.684 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: 创建PayPal订单异常: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f829202161e82","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}"] +2025-12-23 13:46:26.388 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 13:46:26.388 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 13:46:27.154 [http-nio-8082-exec-2] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 +org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f955704b6ad13","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" + at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) + at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) + at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) + at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 13:46:27.157 [http-nio-8082-exec-2] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: 创建PayPal订单异常: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f955704b6ad13","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" +2025-12-23 13:46:27.157 [http-nio-8082-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: 创建PayPal订单异常: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f955704b6ad13","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}"] +2025-12-23 14:15:22.001 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final +2025-12-23 14:15:22.048 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 20936 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 14:15:22.049 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 14:15:23.495 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 14:15:23.497 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 14:15:23.497 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 14:15:23.551 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 14:15:23.610 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 14:15:23.611 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 14:15:23.628 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 14:15:23.632 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 14:15:23.635 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 14:15:23.636 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 14:15:23.657 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 14:15:24.165 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 14:15:24.345 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 14:15:24.483 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 14:15:24.486 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 14:15:24.880 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 14:15:24.902 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 3.525 seconds (process running for 4.505) +2025-12-23 14:15:24.906 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 14:15:24.906 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 14:15:24.908 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null + at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) + at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) + at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) + at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) + at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) + at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) + at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) + at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) + at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) + at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) + at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) + at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) +2025-12-23 14:15:33.481 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 14:15:33.668 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664579642691703, amount=13.31, currencyCode=MYR, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=13.31, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664579642691703, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664579642691703, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 14:15:33.677 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664579642691703 +2025-12-23 14:15:33.677 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 14:15:33.678 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal配置检查 - Client ID: AdGYUZpvLuHR30dybOAp..., Client Secret: ENblspyRmwsOU_PWFurl... +2025-12-23 14:15:34.634 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal访问令牌获取成功 +2025-12-23 14:15:35.539 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 +org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"issue":"CURRENCY_NOT_SUPPORTED","description":"Currency code is not currently supported. Please refer https://developer.paypal.com/docs/integration/direct/rest/currency-codes/ for list of supported currency codes."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f994592ddfc20","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#CURRENCY_NOT_SUPPORTED","rel":"information_link"}]}" + at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) + at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) + at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) + at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) + at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) + at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) + at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:842) +2025-12-23 14:15:35.541 [http-nio-8082-exec-1] WARN com.mtkj.mtpay.exception.GlobalExceptionHandler - 业务异常: 创建PayPal订单异常: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"issue":"CURRENCY_NOT_SUPPORTED","description":"Currency code is not currently supported. Please refer https://developer.paypal.com/docs/integration/direct/rest/currency-codes/ for list of supported currency codes."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f994592ddfc20","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#CURRENCY_NOT_SUPPORTED","rel":"information_link"}]}" +2025-12-23 14:15:35.555 [http-nio-8082-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [com.mtkj.mtpay.exception.BusinessException: 创建PayPal订单异常: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"issue":"CURRENCY_NOT_SUPPORTED","description":"Currency code is not currently supported. Please refer https://developer.paypal.com/docs/integration/direct/rest/currency-codes/ for list of supported currency codes."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f994592ddfc20","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#CURRENCY_NOT_SUPPORTED","rel":"information_link"}]}"] +2025-12-23 14:16:10.836 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.controller.ProductController - 根据链接码获取商品详情,链接码:3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 14:16:10.837 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 根据链接码获取商品ID,链接码: 3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 14:16:10.838 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 根据链接码获取商品链接,链接码: 3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 14:16:13.240 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Preparing: SELECT id,product_id,link_code,full_url,expire_days,expire_time,status,create_time,update_time FROM mt_product_link WHERE (link_code = ?) LIMIT 1 +2025-12-23 14:16:13.284 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Parameters: 3582a1dfbb174d84aac9f465b7180b50(String) +2025-12-23 14:16:13.348 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - <== Total: 1 +2025-12-23 14:16:13.351 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 根据链接码获取商品ID成功,链接码: 3582a1dfbb174d84aac9f465b7180b50, 商品ID: 1 +2025-12-23 14:16:13.352 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询商品详情,商品ID: 1 +2025-12-23 14:16:13.353 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 14:16:13.353 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 14:16:13.672 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 14:16:13.674 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE (product_id = ? AND status = ?) +2025-12-23 14:16:13.675 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Parameters: 1(Long), ACTIVE(String) +2025-12-23 14:16:13.729 [http-nio-8082-exec-2] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - <== Total: 15 +2025-12-23 14:16:13.729 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询到商品SKU数量: 15, 商品ID: 1 +2025-12-23 14:16:13.734 [http-nio-8082-exec-2] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 解析商品主图(多图),数量: 5 +2025-12-23 14:16:13.736 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品详情成功,商品ID: 1, 商品名称: 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, SKU数量: 15, 主图数量: 5 +2025-12-23 14:19:09.365 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.controller.CustomerOrderController - 创建客户订单请求:CreateCustomerOrderRequestDTO(productId=1, skuId=5, quantity=1, customerName=邱斌, customerPhone=18969599531, customerEmail=18969599531@163.com, shippingName=邱斌, shippingPhone=18969599531, shippingCountry=CN, shippingState=浙江省, shippingCity=丽水市, shippingStreet=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingPostcode=323000, remark=null) +2025-12-23 14:19:09.465 [http-nio-8082-exec-3] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 创建客户订单,商品ID: 1, SKU ID: 5, 数量: 1 +2025-12-23 14:19:09.467 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 14:19:09.467 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 14:19:09.514 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 14:19:09.516 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE id=? +2025-12-23 14:19:09.516 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - ==> Parameters: 5(Long) +2025-12-23 14:19:09.560 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectById - <== Total: 1 +2025-12-23 14:19:09.561 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.util.OrderIdGenerator - 生成商户订单号: MTN17664707495606021 +2025-12-23 14:19:09.568 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.config.MyMetaObjectHandler - 开始插入填充... +2025-12-23 14:19:09.570 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - ==> Preparing: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) +2025-12-23 14:19:09.572 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - ==> Parameters: MTN17664707495606021(String), 1(Long), 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人(String), 5(Long), 【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】(String), 1(Integer), 4.22(BigDecimal), 4.22(BigDecimal), SGD(String), PENDING(String), 邱斌(String), 18969599531(String), 18969599531@163.com(String), 邱斌(String), 18969599531(String), CN(String), 浙江省(String), 丽水市(String), 丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆(String), 323000(String), UNPAID(String), 2025-12-23T14:19:09.568172800(LocalDateTime), 2025-12-23T14:19:09.570191100(LocalDateTime) +2025-12-23 14:19:09.668 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.CustomerOrderMapper.insert - <== Updates: 1 +2025-12-23 14:19:09.669 [http-nio-8082-exec-3] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 客户订单创建成功,订单ID: 2, 订单号: MTN17664707495606021 +2025-12-23 14:19:09.876 [http-nio-8082-exec-4] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:19:09.876 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:19:09.877 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:19:09.878 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:19:09.922 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:19:12.292 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664707495606021, amount=4.22, currencyCode=SGD, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=4.22, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664707495606021, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664707495606021, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 14:19:12.292 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664707495606021 +2025-12-23 14:19:13.827 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal订单创建成功,订单ID: 7SM16675R4295403F, 状态: PAYER_ACTION_REQUIRED +2025-12-23 14:20:06.446 [http-nio-8082-exec-6] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:20:06.446 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:20:06.447 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:20:06.448 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:20:06.489 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:20:08.258 [http-nio-8082-exec-8] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664707495606021, amount=4.22, currencyCode=SGD, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=4.22, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664707495606021, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664707495606021, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 14:20:08.259 [http-nio-8082-exec-8] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664707495606021 +2025-12-23 14:20:09.729 [http-nio-8082-exec-8] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal订单创建成功,订单ID: 11F082449P851340T, 状态: PAYER_ACTION_REQUIRED +2025-12-23 14:20:20.160 [Thread-8] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 14:20:20.264 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 14:20:20.315 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 20936 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 14:20:20.315 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 14:20:20.709 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 14:20:20.709 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 14:20:20.709 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 14:20:20.732 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 14:20:20.743 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 14:20:20.743 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 14:20:20.743 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) +2025-12-23 14:20:20.744 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) +2025-12-23 14:20:20.744 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 14:20:20.744 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 14:20:20.744 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 14:20:20.744 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 14:20:20.752 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 14:20:20.753 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 14:20:20.755 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 14:20:20.755 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 14:20:20.756 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 14:20:21.081 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 14:20:21.084 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 14:20:21.163 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 14:20:21.164 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 14:20:21.256 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 14:20:21.263 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.994 seconds (process running for 300.865) +2025-12-23 14:20:21.265 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 14:20:21.265 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 14:20:22.688 [Thread-10] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] +2025-12-23 14:20:22.752 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ MTKJ PAY 支付系统正在启动... ║ +║ ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 14:20:22.783 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 20936 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) +2025-12-23 14:20:22.783 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" +2025-12-23 14:20:23.188 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] +2025-12-23 14:20:23.188 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] +2025-12-23 14:20:23.188 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] +2025-12-23 14:20:23.203 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-12-23 14:20:23.218 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 14:20:23.218 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: +2025-12-23 14:20:23.219 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) +2025-12-23 14:20:23.219 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) +2025-12-23 14:20:23.219 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox +2025-12-23 14:20:23.219 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true +2025-12-23 14:20:23.219 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com +2025-12-23 14:20:23.219 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ +2025-12-23 14:20:23.225 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL +2025-12-23 14:20:23.225 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 +2025-12-23 14:20:23.227 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 +2025-12-23 14:20:23.227 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 +2025-12-23 14:20:23.227 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +2025-12-23 14:20:23.484 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 +2025-12-23 14:20:23.488 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 +2025-12-23 14:20:23.553 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许所有来源 +2025-12-23 14:20:23.553 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 +2025-12-23 14:20:23.608 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] +2025-12-23 14:20:23.613 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.857 seconds (process running for 303.216) +2025-12-23 14:20:23.615 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +╔══════════════════════════════════════════════════════════╗ +║ ║ +║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ +║ ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用信息 ║ +╠══════════════════════════════════════════════════════════╣ +║ 应用名称: {:<45} ║ +║ 运行环境: {:<45} ║ +║ 服务端口: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 访问地址 ║ +╠══════════════════════════════════════════════════════════╣ +║ 后端服务: {:<45} ║ +║ API接口: {:<45} ║ +║ Druid监控: {:<45} ║ +╠══════════════════════════════════════════════════════════╣ +║ 状态: 🟢 服务运行中,可以接收请求 ║ +╚══════════════════════════════════════════════════════════╝ + +2025-12-23 14:20:23.615 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - +📌 提示: + - 前端代理地址: http://localhost:3000 + - 后端API地址: http://localhost:8082//api + - 图片上传接口: http://localhost:8082//api/product/upload/image + - 商品管理接口: http://localhost:8082//api/product + +2025-12-23 14:21:56.673 [http-nio-8082-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-12-23 14:21:56.676 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:21:56.676 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:21:58.404 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:21:58.406 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:21:58.444 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:22:00.128 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.controller.PayPalController - 创建PayPal订单请求:CreatePayPalOrderRequestDTO(intent=CAPTURE, referenceId=MTN17664707495606021, amount=4.22, currencyCode=SGD, itemName=名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, itemDescription=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemSku=【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】, itemQuantity=1, itemUnitAmount=4.22, returnUrl=http://localhost:3000/paypal/success?orderNo=MTN17664707495606021, cancelUrl=http://localhost:3000/paypal/cancel?orderNo=MTN17664707495606021, shippingName=邱斌, shippingAddressLine1=丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆, shippingAddressLine2=null, shippingCity=丽水市, shippingState=浙江省, shippingPostalCode=323000, shippingCountryCode=CN, emailAddress=18969599531@163.com) +2025-12-23 14:22:00.134 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单,ERP订单号: MTN17664707495606021 +2025-12-23 14:22:00.134 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 获取PayPal访问令牌 +2025-12-23 14:22:00.134 [http-nio-8082-exec-5] DEBUG com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal配置检查 - Client ID: AdGYUZpvLuHR30dybOAp..., Client Secret: ENblspyRmwsOU_PWFurl... +2025-12-23 14:22:00.736 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal访问令牌获取成功 +2025-12-23 14:22:01.972 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal订单创建成功,订单ID: 5TD00278742431722, 状态: PAYER_ACTION_REQUIRED +2025-12-23 14:24:35.962 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.controller.ProductController - 根据链接码获取商品详情,链接码:3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 14:24:35.962 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 根据链接码获取商品ID,链接码: 3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 14:24:35.962 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 根据链接码获取商品链接,链接码: 3582a1dfbb174d84aac9f465b7180b50 +2025-12-23 14:24:36.003 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Preparing: SELECT id,product_id,link_code,full_url,expire_days,expire_time,status,create_time,update_time FROM mt_product_link WHERE (link_code = ?) LIMIT 1 +2025-12-23 14:24:36.003 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Parameters: 3582a1dfbb174d84aac9f465b7180b50(String) +2025-12-23 14:24:36.042 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - <== Total: 1 +2025-12-23 14:24:36.043 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 根据链接码获取商品ID成功,链接码: 3582a1dfbb174d84aac9f465b7180b50, 商品ID: 1 +2025-12-23 14:24:36.043 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询商品详情,商品ID: 1 +2025-12-23 14:24:36.043 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 14:24:36.044 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 14:24:36.085 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 14:24:36.087 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE (product_id = ? AND status = ?) +2025-12-23 14:24:36.087 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Parameters: 1(Long), ACTIVE(String) +2025-12-23 14:24:36.130 [http-nio-8082-exec-3] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - <== Total: 15 +2025-12-23 14:24:36.130 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询到商品SKU数量: 15, 商品ID: 1 +2025-12-23 14:24:36.132 [http-nio-8082-exec-3] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 解析商品主图(多图),数量: 5 +2025-12-23 14:24:36.135 [http-nio-8082-exec-3] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品详情成功,商品ID: 1, 商品名称: 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人, SKU数量: 15, 主图数量: 5 +2025-12-23 14:27:08.300 [http-nio-8082-exec-9] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:27:08.300 [http-nio-8082-exec-9] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:27:08.339 [http-nio-8082-exec-9] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:27:08.340 [http-nio-8082-exec-9] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:27:08.379 [http-nio-8082-exec-9] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:27:08.389 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.controller.PayPalController - 查询PayPal订单,订单ID:5TD00278742431722 +2025-12-23 14:27:08.389 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 查询PayPal订单,订单ID: 5TD00278742431722 +2025-12-23 14:27:09.030 [http-nio-8082-exec-2] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 查询PayPal订单成功,订单ID: 5TD00278742431722, 状态: APPROVED +2025-12-23 14:27:09.040 [http-nio-8082-exec-6] INFO com.mtkj.mtpay.controller.PayPalController - 捕获PayPal订单,订单ID:5TD00278742431722, ERP订单号:MTN17664707495606021 +2025-12-23 14:27:09.041 [http-nio-8082-exec-6] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 捕获PayPal订单,订单ID: 5TD00278742431722 +2025-12-23 14:27:10.782 [http-nio-8082-exec-6] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 捕获PayPal订单成功,订单ID: 5TD00278742431722, 状态: COMPLETED +2025-12-23 14:27:10.782 [http-nio-8082-exec-6] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 更新订单支付状态,订单号: MTN17664707495606021, 支付状态: PAID, 支付订单ID: null +2025-12-23 14:27:10.784 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:27:10.784 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:27:10.841 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:27:10.849 [http-nio-8082-exec-6] DEBUG com.mtkj.mtpay.config.MyMetaObjectHandler - 开始更新填充... +2025-12-23 14:27:10.849 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.updateById - ==> Preparing: UPDATE customer_order SET order_no=?, product_id=?, product_name=?, sku_id=?, sku_name=?, quantity=?, unit_price=?, total_amount=?, currency=?, status=?, customer_name=?, customer_phone=?, customer_email=?, shipping_name=?, shipping_phone=?, shipping_country=?, shipping_state=?, shipping_city=?, shipping_street=?, shipping_postcode=?, payment_status=?, create_time=?, update_time=? WHERE id=? +2025-12-23 14:27:10.850 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.updateById - ==> Parameters: MTN17664707495606021(String), 1(Long), 名创优品毛巾女2025新款洗澡男士浴巾比全棉100纯棉吸水干发成人(String), 5(Long), 【✅性价比首选】米白色+浅水蓝+天空灰【⭐️毛巾实惠3条装】(String), 1(Integer), 4.22(BigDecimal), 4.22(BigDecimal), SGD(String), PAID(String), 邱斌(String), 18969599531(String), 18969599531@163.com(String), 邱斌(String), 18969599531(String), CN(String), 浙江省(String), 丽水市(String), 丽水市莲都区万象街道晶都步行街阿姨奶茶隔壁潮童馆(String), 323000(String), PAID(String), 2025-12-23T14:19:10(LocalDateTime), 2025-12-23T14:19:10(LocalDateTime), 2(Long) +2025-12-23 14:27:10.937 [http-nio-8082-exec-6] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.updateById - <== Updates: 1 +2025-12-23 14:27:10.937 [http-nio-8082-exec-6] INFO c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 订单支付状态更新成功,订单号: MTN17664707495606021 +2025-12-23 14:27:10.937 [http-nio-8082-exec-6] INFO com.mtkj.mtpay.controller.PayPalController - ERP订单支付状态已更新,订单号:MTN17664707495606021 +2025-12-23 14:27:10.949 [http-nio-8082-exec-7] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:27:10.949 [http-nio-8082-exec-7] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:27:10.950 [http-nio-8082-exec-7] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:27:10.952 [http-nio-8082-exec-7] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:27:11.001 [http-nio-8082-exec-7] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:27:15.238 [http-nio-8082-exec-8] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:27:15.238 [http-nio-8082-exec-8] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:27:15.238 [http-nio-8082-exec-8] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:27:15.239 [http-nio-8082-exec-8] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:27:15.278 [http-nio-8082-exec-8] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:27:22.274 [http-nio-8082-exec-4] INFO com.mtkj.mtpay.controller.CustomerOrderController - 获取订单详情,订单号:MTN17664707495606021 +2025-12-23 14:27:22.274 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.service.impl.CustomerOrderServiceImpl - 查询订单,订单号: MTN17664707495606021 +2025-12-23 14:27:22.276 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Preparing: SELECT id,order_no,product_id,product_name,sku_id,sku_name,quantity,unit_price,total_amount,currency,status,customer_name,customer_phone,customer_email,shipping_name,shipping_phone,shipping_country,shipping_state,shipping_city,shipping_street,shipping_postcode,payment_order_id,payment_status,remark,create_time,update_time FROM customer_order WHERE (order_no = ?) +2025-12-23 14:27:22.277 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - ==> Parameters: MTN17664707495606021(String) +2025-12-23 14:27:22.320 [http-nio-8082-exec-4] DEBUG c.mtkj.mtpay.mapper.CustomerOrderMapper.selectList - <== Total: 1 +2025-12-23 14:27:22.330 [http-nio-8082-exec-10] INFO com.mtkj.mtpay.controller.PayPalController - 查询PayPal订单,订单ID:5TD00278742431722 +2025-12-23 14:27:22.330 [http-nio-8082-exec-10] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 查询PayPal订单,订单ID: 5TD00278742431722 +2025-12-23 14:27:23.026 [http-nio-8082-exec-10] INFO com.mtkj.mtpay.service.impl.PayPalServiceImpl - 查询PayPal订单成功,订单ID: 5TD00278742431722, 状态: COMPLETED +2025-12-23 14:27:25.097 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.controller.ProductController - 获取商品列表 +2025-12-23 14:27:25.097 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询商品列表 +2025-12-23 14:27:25.099 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectList - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE (status <> ?) ORDER BY create_time DESC +2025-12-23 14:27:25.100 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectList - ==> Parameters: DELETED(String) +2025-12-23 14:27:25.167 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectList - <== Total: 1 +2025-12-23 14:27:25.167 [http-nio-8082-exec-1] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 查询到商品数量: 1 +2025-12-23 14:27:25.169 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Preparing: SELECT id,product_id,sku,price,currency,stock,sales_attrs,sku_image,weight,size,specification,status,create_time,update_time FROM mt_product_sku WHERE (product_id = ?) +2025-12-23 14:27:25.169 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - ==> Parameters: 1(Long) +2025-12-23 14:27:25.212 [http-nio-8082-exec-1] DEBUG c.mtkj.mtpay.mapper.MtProductSkuMapper.selectList - <== Total: 15 +2025-12-23 14:27:25.219 [http-nio-8082-exec-1] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品列表成功,商品数量: 1 +2025-12-23 14:27:25.234 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.controller.ProductController - 获取商品URL,商品ID:1 +2025-12-23 14:27:25.234 [http-nio-8082-exec-5] DEBUG com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品URL,商品ID: 1 +2025-12-23 14:27:25.235 [http-nio-8082-exec-5] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Preparing: SELECT id,name,price,main_image,status,shop_id,create_time,update_time FROM mt_product WHERE id=? +2025-12-23 14:27:25.235 [http-nio-8082-exec-5] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - ==> Parameters: 1(Long) +2025-12-23 14:27:25.272 [http-nio-8082-exec-5] DEBUG com.mtkj.mtpay.mapper.MtProductMapper.selectById - <== Total: 1 +2025-12-23 14:27:25.312 [http-nio-8082-exec-5] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 创建或获取商品链接,商品ID: 1, 有效期: 90天 +2025-12-23 14:27:25.315 [http-nio-8082-exec-5] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Preparing: SELECT id,product_id,link_code,full_url,expire_days,expire_time,status,create_time,update_time FROM mt_product_link WHERE (product_id = ? AND status = ? AND expire_time > ?) ORDER BY create_time DESC LIMIT 1 +2025-12-23 14:27:25.315 [http-nio-8082-exec-5] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - ==> Parameters: 1(Long), ACTIVE(String), 2025-12-23T14:27:25.313843200(LocalDateTime) +2025-12-23 14:27:25.354 [http-nio-8082-exec-5] DEBUG c.mtkj.mtpay.mapper.MtProductLinkMapper.selectList - <== Total: 1 +2025-12-23 14:27:25.354 [http-nio-8082-exec-5] DEBUG c.mtkj.mtpay.service.impl.ProductLinkServiceImpl - 找到现有有效链接,链接码: 3582a1dfbb174d84aac9f465b7180b50, 商品ID: 1 +2025-12-23 14:27:25.426 [http-nio-8082-exec-5] INFO com.mtkj.mtpay.service.impl.ProductServiceImpl - 获取商品URL成功,商品ID: 1, 链接码: 3582a1dfbb174d84aac9f465b7180b50, URL: http://localhost:3000/product/3582a1dfbb174d84aac9f465b7180b50 diff --git a/mt-pay/database/README_CUSTOMER_ORDER.md b/mt-pay/database/README_CUSTOMER_ORDER.md new file mode 100644 index 0000000..4c34882 --- /dev/null +++ b/mt-pay/database/README_CUSTOMER_ORDER.md @@ -0,0 +1,111 @@ +# 客户订单表创建说明 + +## 问题 +如果遇到错误:`Table 'mtpay.customer_order' doesn't exist` + +说明数据库中没有 `customer_order` 表,需要执行SQL脚本创建。 + +## 解决方案 + +### 方法1:使用MySQL客户端执行(推荐) + +1. 连接到数据库: +```bash +mysql -h rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com -P 3306 -u mtkj2025 -p mtpay +``` + +2. 执行SQL脚本: +```sql +source E:/MTKJPAY/mt-pay/database/customer_order_schema.sql +``` + +或者直接复制SQL内容执行: +```sql +CREATE TABLE `customer_order` ( + `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `order_no` VARCHAR(64) NOT NULL UNIQUE COMMENT '订单号(全局唯一)', + `product_id` BIGINT NOT NULL COMMENT '商品ID', + `product_name` VARCHAR(500) NOT NULL COMMENT '商品名称', + `sku_id` BIGINT NOT NULL COMMENT 'SKU ID', + `sku_name` VARCHAR(500) NOT NULL COMMENT 'SKU名称/描述', + `quantity` INT NOT NULL COMMENT '购买数量', + `unit_price` DECIMAL(10, 2) NOT NULL COMMENT '单价', + `total_amount` DECIMAL(10, 2) NOT NULL COMMENT '订单总金额', + `currency` VARCHAR(3) NOT NULL COMMENT '货币代码', + `status` VARCHAR(20) NOT NULL DEFAULT 'PENDING' COMMENT '订单状态:PENDING-待支付,PAID-已支付,SHIPPED-已发货,COMPLETED-已完成,CANCELLED-已取消', + + -- 客户信息 + `customer_name` VARCHAR(100) NOT NULL COMMENT '客户姓名', + `customer_phone` VARCHAR(20) NOT NULL COMMENT '客户电话', + `customer_email` VARCHAR(100) COMMENT '客户邮箱', + + -- 收货地址 + `shipping_name` VARCHAR(100) NOT NULL COMMENT '收货人姓名', + `shipping_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话', + `shipping_country` VARCHAR(50) NOT NULL COMMENT '收货国家', + `shipping_state` VARCHAR(50) COMMENT '收货州/省', + `shipping_city` VARCHAR(50) NOT NULL COMMENT '收货城市', + `shipping_street` VARCHAR(200) NOT NULL COMMENT '收货街道地址', + `shipping_postcode` VARCHAR(20) COMMENT '收货邮编', + + -- 支付信息 + `payment_order_id` BIGINT COMMENT '关联的支付订单ID', + `payment_status` VARCHAR(20) DEFAULT 'UNPAID' COMMENT '支付状态:UNPAID-未支付,PAID-已支付,FAILED-支付失败', + + -- 备注 + `remark` VARCHAR(500) COMMENT '订单备注', + + `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `idx_order_no` (`order_no`), + KEY `idx_product_id` (`product_id`), + KEY `idx_status` (`status`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='客户订单表'; +``` + +### 方法2:使用数据库管理工具 + +使用Navicat、DBeaver、MySQL Workbench等工具: + +1. 连接到数据库 `mtpay` +2. 打开SQL编辑器 +3. 复制 `customer_order_schema.sql` 文件内容 +4. 执行SQL脚本 + +### 方法3:使用命令行(Windows PowerShell) + +```powershell +# 读取SQL文件内容 +$sql = Get-Content "E:\MTKJPAY\mt-pay\database\customer_order_schema.sql" -Raw + +# 执行SQL(需要先安装mysql客户端) +mysql -h rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com -P 3306 -u mtkj2025 -p mtpay -e $sql +``` + +## 验证 + +执行完成后,可以验证表是否创建成功: + +```sql +-- 查看表是否存在 +SHOW TABLES LIKE 'customer_order'; + +-- 查看表结构 +DESC customer_order; + +-- 或者 +SHOW CREATE TABLE customer_order; +``` + +## 注意事项 + +1. 确保数据库连接信息正确 +2. 确保有创建表的权限 +3. 如果表已存在,可以先删除再创建: + ```sql + DROP TABLE IF EXISTS `customer_order`; + ``` + 然后重新执行创建脚本 +