主要修复: 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 调试工具
168 lines
3.7 KiB
Markdown
168 lines
3.7 KiB
Markdown
# 测试脚本使用说明
|
||
|
||
## 快速开始
|
||
|
||
### 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`
|