# 测试脚本使用说明

## 快速开始

### 1. 确保服务正在运行

```bash
# 检查服务状态
curl http://localhost:8080/health

# 如果未运行，启动服务
cd ~/Desktop/projects/monisuo
java -jar target/monisuo-1.0.jar
```

### 2. 运行测试

#### 方式一：快速测试（推荐）
```bash
cd ~/Desktop/projects/monisuo
./test_approve_fix.sh
```

这个脚本会：
- 自动登录管理员账号
- 查询待审批订单
- 执行审批操作
- 验证订单状态和余额

#### 方式二：完整测试
```bash
cd ~/Desktop/projects/monisuo
./test_complete_flow.sh
```

这个脚本会执行更详细的测试，包括：
- 服务状态检查
- 审批前余额记录
- 审批操作
- 审批后余额验证
- 详细测试报告

### 3. 查看测试结果

测试脚本会输出详细的测试过程和结果：

```
✓ 所有测试通过！

测试结果汇总:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. ✓ 订单状态更新正确
   充值订单: 待确认(2) → 已完成(3)

2. ✓ 用户余额变化正确
   余额: 50.00 → 150.00 USDT (+100.00)

3. ✓ 资金流水记录已生成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

## 手动测试

如果没有待审批订单，可以手动创建：

### 1. 用户登录
```bash
curl -X POST http://localhost:8080/api/user/login \
  -H "Content-Type: application/json" \
  -d '{"username":"testuser","password":"password"}'
```

### 2. 申请充值
```bash
curl -X POST http://localhost:8080/api/fund/deposit \
  -H "Authorization: Bearer <USER_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"amount":100}'
```

### 3. 确认打款
```bash
curl -X POST http://localhost:8080/api/fund/confirm \
  -H "Authorization: Bearer <USER_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"orderNo":"F20260324001"}'
```

### 4. 管理员审批
```bash
curl -X POST http://localhost:8080/admin/order/approve \
  -H "Authorization: Bearer <ADMIN_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"orderNo":"F20260324001","status":2,"adminRemark":"审批通过"}'
```

## 测试数据

### 默认管理员账号
- 用户名: `admin`
- 密码: `admin123`

### 测试订单状态
- 充值订单:
  - 1 = 待付款
  - 2 = 待确认（用户已确认打款）
  - 3 = 已完成（管理员审批通过）✅
  - 4 = 已驳回
  - 5 = 已取消

- 提现订单:
  - 1 = 待审批
  - 2 = 已完成（管理员审批通过）✅
  - 3 = 已驳回
  - 4 = 已取消

## 常见问题

### Q1: 测试脚本报错 "服务未运行"
**A**: 先启动后端服务：
```bash
cd ~/Desktop/projects/monisuo
java -jar target/monisuo-1.0.jar
```

### Q2: 没有待审批订单
**A**: 先创建测试订单：
1. 用户登录
2. 申请充值
3. 确认打款
4. 再次运行测试脚本

### Q3: 登录失败
**A**: 检查数据库中是否有管理员账号，默认账号是 `admin/admin123`

### Q4: 余额未变化
**A**: 检查日志输出，确认审批操作是否成功执行

## 日志查看

### 查看应用日志
```bash
# 如果使用 nohup 启动
tail -f nohup.out

# 或者直接查看控制台输出
```

### 关键日志
```
[充值审批] 订单号: xxx, 用户ID: xxx, 充值金额: xxx, 审批前余额: xxx, 审批后余额: xxx
[审批完成] 订单号: xxx, 订单类型: 充值, 审批结果: 通过, 最终状态: 3, 审批人: 管理员
```

## 修复验证清单

- [ ] 服务正常启动
- [ ] 管理员登录成功
- [ ] 查询到待审批订单
- [ ] 审批操作成功
- [ ] 订单状态正确（充值:3, 提现:2）
- [ ] 用户余额正确变化
- [ ] 资金流水记录生成

## 联系方式

如有问题，请查看修复报告：`APPROVAL_FIX_REPORT.md`
