# 🚀 快速开始 - 审批订单测试指南

## ⚡ 一键测试（推荐）

```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`
