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/** 路径
- 设置允许的请求方法、请求头和凭证信息
- 添加日志记录跨域配置的过程和结果
This commit is contained in:
2025-12-22 18:13:33 +08:00
parent 47bd1c5525
commit 84f74861bb
7 changed files with 497 additions and 0 deletions

104
TROUBLESHOOTING.md Normal file
View File

@@ -0,0 +1,104 @@
# 后端启动问题排查指南
## 问题:前端无法连接到后端 (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 启动)