166 lines
3.0 KiB
Markdown
166 lines
3.0 KiB
Markdown
|
|
# 测试提现功能
|
||
|
|
|
||
|
|
**日期:** 2026-01-31
|
||
|
|
**目的:** 验证提现申请后可提取金额立即减少
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 测试前准备
|
||
|
|
|
||
|
|
### 1. 确认测试账号
|
||
|
|
- 登录服务商账号
|
||
|
|
- 确保有已完成的订单(status=4)
|
||
|
|
- 确保有可提取金额
|
||
|
|
|
||
|
|
### 2. 记录初始状态
|
||
|
|
```
|
||
|
|
总收益: ¥______
|
||
|
|
可提取: ¥______
|
||
|
|
提现中: ¥______
|
||
|
|
已提现: ¥______
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 测试步骤
|
||
|
|
|
||
|
|
### 步骤1: 查看当前收益
|
||
|
|
1. 打开小程序
|
||
|
|
2. 切换到"服务商"身份
|
||
|
|
3. 进入"收益查看"页面
|
||
|
|
4. 记录当前数据:
|
||
|
|
- 总收益: ¥______
|
||
|
|
- 已结算: ¥______
|
||
|
|
- 待结算: ¥______
|
||
|
|
- 可提取: ¥______
|
||
|
|
|
||
|
|
### 步骤2: 提交提现申请
|
||
|
|
1. 点击"提取收益"按钮
|
||
|
|
2. 输入提现金额: ¥100
|
||
|
|
3. 选择提现方式: 微信/支付宝/银行卡
|
||
|
|
4. 点击"确认提现"
|
||
|
|
5. 等待提示"提现申请已提交成功"
|
||
|
|
|
||
|
|
### 步骤3: 验证可提取金额变化
|
||
|
|
1. 返回"收益查看"页面(会自动刷新)
|
||
|
|
2. 检查数据变化:
|
||
|
|
- 总收益: 应该不变 ✅
|
||
|
|
- 可提取: 应该减少¥100 ✅
|
||
|
|
- 提现中: 应该显示¥100 ✅
|
||
|
|
|
||
|
|
### 步骤4: 查看提现记录
|
||
|
|
1. 进入"提现记录"页面
|
||
|
|
2. 应该看到刚才的提现申请
|
||
|
|
3. 状态应该是"待审核"
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 预期结果
|
||
|
|
|
||
|
|
### 场景1: 提现申请成功
|
||
|
|
|
||
|
|
**提现前:**
|
||
|
|
```
|
||
|
|
总收益: ¥1000
|
||
|
|
可提取: ¥1000
|
||
|
|
提现中: ¥0
|
||
|
|
```
|
||
|
|
|
||
|
|
**提现¥100后:**
|
||
|
|
```
|
||
|
|
总收益: ¥1000 (不变)
|
||
|
|
可提取: ¥900 (减少¥100) ✅
|
||
|
|
提现中: ¥100 (增加¥100) ✅
|
||
|
|
```
|
||
|
|
|
||
|
|
### 场景2: 余额不足
|
||
|
|
|
||
|
|
**提现前:**
|
||
|
|
```
|
||
|
|
可提取: ¥50
|
||
|
|
```
|
||
|
|
|
||
|
|
**尝试提现¥100:**
|
||
|
|
- 应该提示"提现金额不能超过可用余额50元" ✅
|
||
|
|
- 不允许提交
|
||
|
|
|
||
|
|
### 场景3: 多次提现
|
||
|
|
|
||
|
|
**第一次提现¥100:**
|
||
|
|
```
|
||
|
|
可提取: ¥1000 → ¥900
|
||
|
|
提现中: ¥0 → ¥100
|
||
|
|
```
|
||
|
|
|
||
|
|
**第二次提现¥200:**
|
||
|
|
```
|
||
|
|
可提取: ¥900 → ¥700
|
||
|
|
提现中: ¥100 → ¥300
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 后续测试(需要管理员权限)
|
||
|
|
|
||
|
|
### 测试审核通过
|
||
|
|
1. 管理员登录后台
|
||
|
|
2. 审核提现申请 → 通过
|
||
|
|
3. 服务商端查看:
|
||
|
|
- 可提取: 不变
|
||
|
|
- 提现中: 减少 ✅
|
||
|
|
- 已提现: 增加 ✅
|
||
|
|
|
||
|
|
### 测试审核拒绝
|
||
|
|
1. 管理员登录后台
|
||
|
|
2. 审核提现申请 → 拒绝
|
||
|
|
3. 服务商端查看:
|
||
|
|
- 可提取: 增加(金额回来) ✅
|
||
|
|
- 提现中: 减少 ✅
|
||
|
|
- 已提现: 不变
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 问题排查
|
||
|
|
|
||
|
|
### 如果可提取金额没有变化
|
||
|
|
|
||
|
|
1. **检查后端日志**
|
||
|
|
```bash
|
||
|
|
# 查看日志中的收益统计信息
|
||
|
|
grep "统计收益" logs/peidu.log
|
||
|
|
grep "可提现余额" logs/peidu.log
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **检查数据库**
|
||
|
|
```sql
|
||
|
|
-- 查看提现记录
|
||
|
|
SELECT * FROM withdraw
|
||
|
|
WHERE teacher_id = ?
|
||
|
|
ORDER BY create_time DESC;
|
||
|
|
|
||
|
|
-- 检查状态
|
||
|
|
SELECT status, COUNT(*), SUM(amount)
|
||
|
|
FROM withdraw
|
||
|
|
WHERE teacher_id = ?
|
||
|
|
GROUP BY status;
|
||
|
|
```
|
||
|
|
|
||
|
|
3. **检查前端请求**
|
||
|
|
- 打开浏览器开发者工具
|
||
|
|
- 查看 Network 标签
|
||
|
|
- 找到 `/api/provider/earnings/stats` 请求
|
||
|
|
- 查看返回的数据
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 测试记录
|
||
|
|
|
||
|
|
**测试人员:** ____________
|
||
|
|
**测试时间:** ____________
|
||
|
|
**测试结果:** ☐ 通过 ☐ 失败
|
||
|
|
|
||
|
|
**问题记录:**
|
||
|
|
```
|
||
|
|
(如有问题,请详细描述)
|
||
|
|
```
|