# 测试提现功能 **日期:** 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` 请求 - 查看返回的数据 --- ## 测试记录 **测试人员:** ____________ **测试时间:** ____________ **测试结果:** ☐ 通过 ☐ 失败 **问题记录:** ``` (如有问题,请详细描述) ```