主要修复: 1. 添加 MetaObjectHandler 自动填充时间字段 2. 启用 @EnableTransactionManagement 显式事务管理 3. 使用 LambdaUpdateWrapper 强制更新订单状态 4. 完善 MyBatis Plus 配置和字段更新策略 5. 添加详细的调试日志配置 6. 前端集成 vconsole 调试工具 关键修改文件: - SpcCloudApplication.java: 添加 @EnableTransactionManagement - FundService.java: 使用 LambdaUpdateWrapper 显式更新 - MyBatisPlusMetaObjectHandler.java: 自动填充时间字段 - application-dev.yml: 完善配置和日志 - monisuo-admin: 添加 vconsole 调试工具
126 lines
2.9 KiB
Markdown
126 lines
2.9 KiB
Markdown
# 🚀 快速开始 - 审批订单测试指南
|
|
|
|
## ⚡ 一键测试(推荐)
|
|
|
|
```bash
|
|
cd ~/Desktop/projects/monisuo
|
|
./one_click_test.sh
|
|
```
|
|
|
|
这个脚本会自动:
|
|
1. ✅ 编译项目
|
|
2. ✅ 停止旧进程
|
|
3. ✅ 启动新服务
|
|
4. ✅ 运行完整测试
|
|
5. ✅ 显示测试结果
|
|
|
|
## 📊 手动测试
|
|
|
|
### 1. 编译和启动
|
|
```bash
|
|
cd ~/Desktop/projects/monisuo
|
|
mvn clean package -DskipTests
|
|
java -jar target/monisuo-1.0.jar
|
|
```
|
|
|
|
### 2. 运行测试(另一个终端)
|
|
```bash
|
|
cd ~/Desktop/projects/monisuo
|
|
./diagnose_approval.sh
|
|
```
|
|
|
|
## 🔍 查看日志
|
|
|
|
### 实时查看日志
|
|
```bash
|
|
# 如果使用 one_click_test.sh
|
|
tail -f /tmp/monisuo_test.log
|
|
|
|
# 查看审批相关日志
|
|
grep -A 50 "审批订单开始" /tmp/monisuo_test.log
|
|
```
|
|
|
|
### 日志关键信息
|
|
```
|
|
==================== 审批订单开始 ====================
|
|
[AdminController] 接收到的完整参数: {...}
|
|
[FundService.approve] 步骤1: 查询订单...
|
|
[FundService.approve] 步骤2: 查询资金账户...
|
|
[FundService.approve] 步骤3: 确定最终状态: 3
|
|
[FundService.approve] 步骤4: 处理审批通过逻辑...
|
|
[FundService.approve] 步骤5: 更新订单状态...
|
|
- 订单更新结果: 1 (1=成功, 0=失败)
|
|
[FundService.approve] 步骤6: 验证更新结果...
|
|
- 状态验证通过 ✓
|
|
```
|
|
|
|
## ✅ 成功标志
|
|
|
|
如果看到以下信息,说明测试成功:
|
|
|
|
1. **测试脚本输出**:
|
|
```
|
|
✅✅✅ 订单状态更新成功!状态 = 3 (已完成)
|
|
✅✅✅ 余额增加正确!
|
|
```
|
|
|
|
2. **控制台日志**:
|
|
```
|
|
- 订单更新结果: 1 (1=成功, 0=失败)
|
|
- 账户更新结果: 1 (1=成功, 0=失败)
|
|
- 状态验证通过 ✓
|
|
```
|
|
|
|
## ❌ 如果失败
|
|
|
|
### 检查点1: 订单更新结果
|
|
```
|
|
如果看到: 订单更新结果: 0 (1=成功, 0=失败)
|
|
说明: 数据库更新失败
|
|
解决: 检查数据库连接、订单ID是否正确
|
|
```
|
|
|
|
### 检查点2: 账户更新结果
|
|
```
|
|
如果看到: 账户更新结果: 0 (1=成功, 0=失败)
|
|
说明: 资金账户更新失败
|
|
解决: 检查用户ID、账户是否存在
|
|
```
|
|
|
|
### 检查点3: 状态验证失败
|
|
```
|
|
如果看到: 状态验证失败!
|
|
说明: 更新成功但立即查询状态不对
|
|
解决: 可能是事务问题或缓存问题
|
|
```
|
|
|
|
## 📞 需要帮助?
|
|
|
|
如果测试失败,请提供:
|
|
1. 完整的控制台日志(复制粘贴)
|
|
2. 测试脚本的输出
|
|
3. 数据库查询结果(如果可能)
|
|
|
|
## 📝 测试前准备
|
|
|
|
确保:
|
|
- [ ] 有待审批的订单(充值待确认 或 提现待审批)
|
|
- [ ] 数据库连接正常
|
|
- [ ] 端口 5010 未被占用
|
|
|
|
## 🎯 预期行为
|
|
|
|
### 充值订单审批
|
|
- 审批前: status = 2 (待确认)
|
|
- 审批后: status = 3 (已完成)
|
|
- 资金变化: 用户余额 += 充值金额
|
|
|
|
### 提现订单审批
|
|
- 审批前: status = 1 (待审批)
|
|
- 审批后: status = 2 (已完成)
|
|
- 资金变化: 用户冻结 -= 提现金额
|
|
|
|
---
|
|
|
|
**开始测试**: `./one_click_test.sh` 或 `./diagnose_approval.sh`
|