Files
soul-yongping/开发文档/8、部署/后台提现审核-快速测试指南.md

279 lines
6.2 KiB
Markdown
Raw Normal View History

# 后台提现审核 - 快速测试指南
## 🚀 快速启动
### 1. 重启服务
```bash
cd E:\Gongsi\Mycontent
python devlop.py restart mycontent
```
### 2. 访问页面
```
http://localhost:3006/admin/withdrawals
```
## 📊 界面功能验证
### 顶部统计卡片
应该显示:
- [ ] 总申请数量
- [ ] 待处理数量和金额
- [ ] 已完成数量和金额
- [ ] 已拒绝数量
### 筛选按钮
- [ ] 全部
- [ ] 待处理(橙色高亮)
- [ ] 已完成
- [ ] 已拒绝
### 提现记录表格
| 列名 | 内容验证 |
|------|---------|
| 申请时间 | 显示为本地时间格式 |
| 用户 | 头像 + 昵称 + 电话/推荐码 |
| 提现金额 | 橙色加粗显示 |
| **用户佣金信息** | **新增列** |
| 状态 | 显示对应颜色的徽章 |
| 处理时间 | 已处理显示时间,未处理显示"-" |
| 操作 | 待处理显示批准/拒绝按钮 |
## 🔍 关键功能:用户佣金信息
### 正常显示(绿色)
```
累计佣金: ¥100.00 [青色]
已提现: ¥30.00 [灰色]
待审核: ¥50.00 [橙色]
────────────────────────
审核后余额: ¥20.00 [绿色] ✅
```
**验证要点**
- [ ] 所有金额都正确显示两位小数
- [ ] 累计佣金为青色(#38bdac
- [ ] 审核后余额为绿色(正数)
- [ ] 有分隔线
### 风险警告(红色)
```
累计佣金: ¥100.00 [青色]
已提现: ¥30.00 [灰色]
待审核: ¥80.00 [橙色]
────────────────────────
审核后余额: -¥10.00 [红色] ❌
```
**验证要点**
- [ ] 审核后余额为红色(负数)
- [ ] 点击"批准"时弹出风险警告
- [ ] 警告文字包含负数金额
## 🧪 测试用例
### 测试1正常用户提现
**准备数据**
```sql
-- 用户A累计佣金 ¥90已提现 ¥0待审核 ¥0
-- 申请提现 ¥50
-- 插入订单(产生佣金)
INSERT INTO orders (id, user_id, amount, referrer_id, status, pay_time)
VALUES ('test_order_1', 'buyer_1', 100, 'YOUR_USER_ID', 'paid', NOW());
-- 申请提现
INSERT INTO withdrawals (id, user_id, amount, status, wechat_openid, created_at)
VALUES ('W_TEST_1', 'YOUR_USER_ID', 50, 'pending', NULL, NOW());
```
**预期结果**
- 累计佣金: ¥90.00100 × 90%
- 已提现: ¥0.00
- 待审核: ¥50.00
- 审核后余额: ¥40.00 ✅ 绿色
**操作**:点击"批准"
- 弹出确认框(无风险警告)
- 确认后状态改为 success
### 测试2超额提现风险
**准备数据**
```sql
-- 同一用户再申请 ¥60总待审核 ¥110 > 可提现 ¥90
INSERT INTO withdrawals (id, user_id, amount, status, wechat_openid, created_at)
VALUES ('W_TEST_2', 'YOUR_USER_ID', 60, 'pending', NULL, NOW());
```
**预期结果**
- W_TEST_1: 审核后余额 ¥40.00 ✅ 绿色
- W_TEST_2: 审核后余额 **-¥20.00** ❌ 红色
**操作**:点击"批准" W_TEST_2
- ⚠️ 弹出风险警告
- 显示负数余额
- 需要二次确认
### 测试3拒绝提现
**操作**:点击"拒绝" W_TEST_2
- 弹出输入框:"请输入拒绝原因"
- 输入:"余额不足"
- 确认
**预期结果**
- 提现记录状态改为 failed
- error_message 保存为"余额不足"
- 刷新页面后W_TEST_1 的"待审核"金额恢复为 ¥50
## 🎯 快速验证步骤
### Step 1: 查看界面
```bash
# 1. 启动服务
python devlop.py restart mycontent
# 2. 浏览器访问
http://localhost:3006/admin/withdrawals
```
### Step 2: 检查数据显示
- [ ] 表格列是否完整7列
- [ ] 用户佣金信息列是否显示
- [ ] 头像是否正确显示
- [ ] 金额是否有两位小数
### Step 3: 测试筛选
- [ ] 点击"待处理",只显示 pending 记录
- [ ] 点击"已完成",只显示 success 记录
- [ ] 点击"全部",显示所有记录
### Step 4: 测试审核
- [ ] 找一条审核后余额为绿色的记录
- [ ] 点击"批准"
- [ ] 确认是否正常弹框
- [ ] 确认后检查状态是否更新
### Step 5: 验证计算
使用验证脚本:
```sql
-- 在 phpMyAdmin 中执行
-- 文件: scripts/verify-withdrawal-data.sql
SET @user_id = 'YOUR_USER_ID';
-- 然后执行脚本中的所有查询
```
对比:
- SQL 计算的可提现金额
- 页面显示的审核后余额
- 应该一致 ✅
## 🐛 常见问题排查
### 问题1用户佣金信息显示"暂无数据"
**原因**:后端查询失败或数据为空
**排查**
```bash
# 查看后端日志
pm2 logs mycontent --lines 50
# 查找错误信息
[Withdrawals] 查询失败: ...
```
### 问题2审核后余额计算错误
**原因**:数据库数据不一致
**排查**
```sql
-- 检查用户的 withdrawn_earnings 是否准确
SELECT
u.withdrawn_earnings as DB中的已提现,
COALESCE(SUM(w.amount), 0) as 实际已完成提现
FROM users u
LEFT JOIN withdrawals w ON w.user_id = u.id AND w.status = 'success'
WHERE u.id = 'YOUR_USER_ID'
GROUP BY u.id, u.withdrawn_earnings;
```
### 问题3批准后状态未更新
**原因**:审核接口可能失败
**排查**
```bash
# 查看浏览器 Network 面板
# 检查 PUT /api/admin/withdrawals 的响应
# 查看后端日志
pm2 logs mycontent
```
### 问题4头像显示不出来
**原因**头像URL路径问题
**排查**
```sql
-- 检查用户头像字段
SELECT id, nickname, avatar FROM users WHERE avatar IS NOT NULL LIMIT 5;
```
## 📝 验证清单
### 数据准确性
- [ ] 累计佣金 = 订单总金额 × 90%
- [ ] 已提现 = users.withdrawn_earnings
- [ ] 待审核 = SUM(withdrawals.amount WHERE status='pending')
- [ ] 审核后余额 = 累计 - 已提现 - 待审核
### 界面显示
- [ ] 用户头像/首字母
- [ ] 用户昵称
- [ ] 用户电话/推荐码
- [ ] 提现金额(橙色)
- [ ] 佣金信息完整4项
- [ ] 状态徽章
- [ ] 批准/拒绝按钮
### 功能测试
- [ ] 筛选功能
- [ ] 刷新功能
- [ ] 批准操作
- [ ] 拒绝操作
- [ ] 风险警告
### 安全验证
- [ ] 超额提现显示红色
- [ ] 批准时弹出风险警告
- [ ] 需要二次确认
- [ ] 批准后数据正确更新
## 🎉 完成标志
当所有验证项都打勾 ✅,说明提现审核功能已完全对接并正常工作!
**关键指标**
- 数据显示完整准确
- 计算逻辑正确
- 风险警告有效
- 审核操作成功