Files
soul-yongping/开发文档/8、部署/后台提现审核-快速测试指南.md
2026-02-09 15:09:29 +08:00

6.2 KiB
Raw Blame History

后台提现审核 - 快速测试指南

🚀 快速启动

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.00100 × 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项
  • 状态徽章
  • 批准/拒绝按钮

功能测试

  • 筛选功能
  • 刷新功能
  • 批准操作
  • 拒绝操作
  • 风险警告

安全验证

  • 超额提现显示红色
  • 批准时弹出风险警告
  • 需要二次确认
  • 批准后数据正确更新

🎉 完成标志

当所有验证项都打勾 ,说明提现审核功能已完全对接并正常工作!

关键指标

  • 数据显示完整准确
  • 计算逻辑正确
  • 风险警告有效
  • 审核操作成功