Files
MTKJPAY/TROUBLESHOOTING.md
qiube 84f74861bb feat(database): 初始化客户订单表结构
- 创建 customer_order 表,包含订单基本信息、客户信息、收货地址、支付信息等字段
- 设置订单状态和支付状态的默认值及注释说明
- 添加索引以优化查询性能,包括订单号、商品ID、状态和创建时间
- 指定表的存储引擎为 InnoDB,字符集为 utf8mb4

feat(common): 新增SKU状态枚举类

- 定义 SkuStatus 枚举,包含 ACTIVE 和 INACTIVE 两种状态
- 提供 getCode 和 getDescription 方法获取状态码和描述
- 实现 fromCode 静态方法用于根据状态码获取对应的枚举实例

docs(startup): 编写后端服务启动说明文档

- 添加启动后端服务的详细步骤和注意事项
- 说明正确的启动类位置及如何验证启动是否成功
- 提供常见问题诊断方法和解决方案
- 包含使用IDE、Maven命令和打包后的启动方式

feat(util): 新增字符串工具类

- 实现 isEmpty、isNotEmpty、isBlank、isNotBlank 等判断方法
- 提供 trim 方法去除字符串两端空白
- 添加 defaultIfEmpty 方法在字符串为空时返回默认值

docs(architecture): 编写系统架构完整性说明文档

- 描述后端和前端的完整架构组成及检查清单
- 说明系统的统一规范、代码复用、可扩展性和可维护性特点
- 展示包结构总览和最佳实践建议
- 对系统完整性进行评分并给出总结评价

docs(troubleshooting): 编写后端启动问题排查指南

- 针对前端无法连接后端的问题提供详细的排查流程
- 介绍多种启动后端服务的方法及常见失败原因
- 提供快速诊断命令和日志检查建议
- 列出需要提供的错误信息以便进一步协助

feat(config): 新增Web配置类支持跨域访问

- 配置 CORS 跨域资源共享规则,允许所有来源访问 /api/** 路径
- 设置允许的请求方法、请求头和凭证信息
- 添加日志记录跨域配置的过程和结果
2025-12-22 18:13:33 +08:00

105 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后端启动问题排查指南
## 问题:前端无法连接到后端 (ECONNREFUSED)
### 1. 检查后端服务是否启动
**方法1检查端口占用**
```bash
netstat -ano | findstr :8082
```
如果没有任何输出,说明后端服务没有启动。
**方法2访问后端接口**
在浏览器访问http://localhost:8082/api/product/1
如果无法访问,说明后端服务没有启动。
### 2. 启动后端服务
#### 在 IDE 中启动(推荐)
1. 打开 `MTKJPAY/mt-pay` 项目
2. 找到 `MtPayApplication.java` 文件
3. 右键点击 → Run 'MtPayApplication.main()'
4. 查看控制台输出,确认启动成功
#### 使用 Maven 命令启动
```bash
cd E:\MTKJPAY\mt-pay
mvn clean spring-boot:run
```
### 3. 常见启动失败原因
#### 问题1Spring Boot 版本错误
- **症状**Maven 依赖下载失败,找不到 Spring Boot 4.0.0
- **解决**:已修复为 Spring Boot 3.2.0
#### 问题2数据库连接失败
- **症状**:启动时报错 "Cannot create PoolableConnectionFactory"
- **解决**
1. 检查 `application-dev.yml` 中的数据库配置
2. 确认数据库服务是否运行
3. 确认网络是否可以访问数据库服务器
#### 问题3端口被占用
- **症状**:启动时报错 "Port 8082 is already in use"
- **解决**
1. 查找占用端口的进程:`netstat -ano | findstr :8082`
2. 结束进程或修改端口配置
#### 问题4依赖缺失
- **症状**:编译错误或 ClassNotFoundException
- **解决**
```bash
cd E:\MTKJPAY\mt-pay
mvn clean install
```
### 4. 验证启动成功
启动成功后,控制台应该显示:
```
========================================
应用启动成功!
========================================
应用名称: mt-pay
运行环境: dev
访问地址: http://localhost:8082/
========================================
```
### 5. 测试后端接口
启动成功后,测试接口:
- 商品详情http://localhost:8082/api/product/1
- 图片上传POST http://localhost:8082/api/product/upload/image
### 6. 检查日志
如果启动失败,查看日志文件:
- 位置:`MTKJPAY/mt-pay/logs/` 目录
- 或查看控制台输出的错误信息
## 快速诊断命令
```bash
# 1. 检查端口占用
netstat -ano | findstr :8082
# 2. 检查 Java 进程
jps -l | findstr mtpay
# 3. 测试后端接口(需要先安装 curl
curl http://localhost:8082/api/product/1
```
## 如果仍然无法启动
请提供以下信息:
1. 启动时的完整错误日志
2. IDE 控制台的错误信息
3. Maven 构建输出(如果使用 Maven 启动)