6.2 KiB
6.2 KiB
后台提现审核 - 快速测试指南
🚀 快速启动
1. 重启服务
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:正常用户提现
准备数据:
-- 用户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.00(100 × 90%)
- 已提现: ¥0.00
- 待审核: ¥50.00
- 审核后余额: ¥40.00 ✅ 绿色
操作:点击"批准"
- 弹出确认框(无风险警告)
- 确认后状态改为 success
测试2:超额提现(风险)
准备数据:
-- 同一用户再申请 ¥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: 查看界面
# 1. 启动服务
python devlop.py restart mycontent
# 2. 浏览器访问
http://localhost:3006/admin/withdrawals
Step 2: 检查数据显示
- 表格列是否完整(7列)
- 用户佣金信息列是否显示
- 头像是否正确显示
- 金额是否有两位小数
Step 3: 测试筛选
- 点击"待处理",只显示 pending 记录
- 点击"已完成",只显示 success 记录
- 点击"全部",显示所有记录
Step 4: 测试审核
- 找一条审核后余额为绿色的记录
- 点击"批准"
- 确认是否正常弹框
- 确认后检查状态是否更新
Step 5: 验证计算
使用验证脚本:
-- 在 phpMyAdmin 中执行
-- 文件: scripts/verify-withdrawal-data.sql
SET @user_id = 'YOUR_USER_ID';
-- 然后执行脚本中的所有查询
对比:
- SQL 计算的可提现金额
- 页面显示的审核后余额
- 应该一致 ✅
🐛 常见问题排查
问题1:用户佣金信息显示"暂无数据"
原因:后端查询失败或数据为空
排查:
# 查看后端日志
pm2 logs mycontent --lines 50
# 查找错误信息
[Withdrawals] 查询失败: ...
问题2:审核后余额计算错误
原因:数据库数据不一致
排查:
-- 检查用户的 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:批准后状态未更新
原因:审核接口可能失败
排查:
# 查看浏览器 Network 面板
# 检查 PUT /api/admin/withdrawals 的响应
# 查看后端日志
pm2 logs mycontent
问题4:头像显示不出来
原因:头像URL路径问题
排查:
-- 检查用户头像字段
SELECT id, nickname, avatar FROM users WHERE avatar IS NOT NULL LIMIT 5;
📝 验证清单
数据准确性
- 累计佣金 = 订单总金额 × 90%
- 已提现 = users.withdrawn_earnings
- 待审核 = SUM(withdrawals.amount WHERE status='pending')
- 审核后余额 = 累计 - 已提现 - 待审核
界面显示
- 用户头像/首字母
- 用户昵称
- 用户电话/推荐码
- 提现金额(橙色)
- 佣金信息(完整4项)
- 状态徽章
- 批准/拒绝按钮
功能测试
- 筛选功能
- 刷新功能
- 批准操作
- 拒绝操作
- 风险警告
安全验证
- 超额提现显示红色
- 批准时弹出风险警告
- 需要二次确认
- 批准后数据正确更新
🎉 完成标志
当所有验证项都打勾 ✅,说明提现审核功能已完全对接并正常工作!
关键指标:
- 数据显示完整准确
- 计算逻辑正确
- 风险警告有效
- 审核操作成功