# 提现功能测试清单 ## 🧪 测试环境准备 ### 前置条件 - [x] 后端服务已启动(http://localhost:8080) - [x] 前端服务已启动(http://localhost:5173) - [x] 数据库迁移已执行 - [x] 财务角色和权限已配置 --- ## 📝 用户端测试 ### 1. 收款账号管理测试 #### 1.1 添加支付宝账号 - [ ] 访问 `/wallet/payment-accounts` - [ ] 点击"添加收款账号" - [ ] 选择"支付宝" - [ ] 输入账户名(需与实名认证姓名一致) - [ ] 输入支付宝账号 - [ ] 点击"添加" - [ ] **预期结果**:成功添加,显示在列表中,账号已脱敏 #### 1.2 添加微信账号 - [ ] 选择"微信" - [ ] 输入账户名 - [ ] 输入微信号 - [ ] 点击"添加" - [ ] **预期结果**:成功添加 #### 1.3 添加银行卡账号 - [ ] 选择"银行卡" - [ ] 输入账户名 - [ ] 输入银行卡号 - [ ] 输入银行名称(如:中国工商银行) - [ ] 输入开户支行(可选) - [ ] 点击"添加" - [ ] **预期结果**:成功添加,银行信息显示 #### 1.4 实名验证测试 - [ ] 使用未实名认证的账号添加收款账号 - [ ] **预期结果**:提示"请先完成实名认证" - [ ] 使用已实名账号,但账户名与实名不一致 - [ ] **预期结果**:提示"账户名必须与实名认证姓名一致" #### 1.5 账号数量限制测试 - [ ] 添加第5个收款账号 - [ ] **预期结果**:成功添加 - [ ] 尝试添加第6个收款账号 - [ ] **预期结果**:按钮变为"已达账号数量上限",无法添加 #### 1.6 设置默认账号 - [ ] 点击某个账号的"星星"图标 - [ ] **预期结果**:该账号标记为默认,其他账号取消默认 #### 1.7 编辑账号 - [ ] 点击某个账号的"编辑"按钮 - [ ] 修改支行信息(银行卡) - [ ] 点击"更新" - [ ] **预期结果**:信息更新成功 #### 1.8 删除账号 - [ ] 点击某个账号的"删除"按钮 - [ ] 确认删除 - [ ] **预期结果**:账号删除成功 --- ### 2. 提现申请测试 #### 2.1 正常提现流程 - [ ] 访问 `/wallet/withdrawal` - [ ] 查看钱包余额显示正确 - [ ] 选择收款账号 - [ ] 输入金额 100 - [ ] 查看到账金额显示为 100(手续费0%) - [ ] 点击"提交申请" - [ ] 确认提现 - [ ] **预期结果**:提现申请提交成功,在提现记录中显示"待审核" #### 2.2 最低金额限制测试 - [ ] 输入金额 5 - [ ] **预期结果**:按钮禁用,或提示"提现金额低于最小限额" #### 2.3 最高金额限制测试 - [ ] 输入金额 6000 - [ ] **预期结果**:提示"提现金额超过最大限额" #### 2.4 余额不足测试 - [ ] 输入金额大于可用余额 - [ ] **预期结果**:显示红色警告"余额不足,可用余额:¥xxx" #### 2.5 无收款账号测试 - [ ] 删除所有收款账号 - [ ] 访问提现页面 - [ ] **预期结果**:显示"还没有收款账号",引导添加 #### 2.6 取消提现测试 - [ ] 在提现记录中找到"待审核"状态的提现 - [ ] 点击"取消"按钮 - [ ] 确认取消 - [ ] **预期结果**:状态变为"已取消",余额解冻 #### 2.7 无法取消已审核提现 - [ ] 尝试取消"处理中"或"已完成"状态的提现 - [ ] **预期结果**:没有"取消"按钮 --- ## 🔐 管理员端测试 ### 3. 提现审核测试 #### 3.1 登录财务账号 - [ ] 使用财务管理员账号登录 - [ ] 访问 `/admin/withdrawals` - [ ] **预期结果**:可以正常访问 #### 3.2 权限测试 - [ ] 使用非财务角色管理员登录 - [ ] 访问提现管理页面 - [ ] **预期结果**:无权限或看不到相关菜单 #### 3.3 查看提现列表 - [ ] 查看提现列表 - [ ] **预期结果**:显示所有提现申请,包含用户信息、金额、收款方式、状态 #### 3.4 状态筛选 - [ ] 选择"待审核"状态 - [ ] 点击"查询" - [ ] **预期结果**:只显示待审核的提现 #### 3.5 用户筛选 - [ ] 输入用户ID - [ ] 点击"查询" - [ ] **预期结果**:只显示该用户的提现记录 #### 3.6 查看提现详情 - [ ] 点击某条记录的"详情"按钮 - [ ] **预期结果**: - 显示完整的提现信息 - 显示用户信息(昵称、手机号) - 显示完整的收款账号(未脱敏) - 显示金额信息 - 如有银行卡,显示开户支行 #### 3.7 审核通过 - [ ] 在待审核的提现详情中点击"通过审核" - [ ] 输入审核备注(可选) - [ ] 确认 - [ ] **预期结果**: - 状态变为"处理中" - 显示审核人和审核时间 - 显示操作提示"请手动转账到用户收款账号" #### 3.8 审核拒绝 - [ ] 在待审核的提现详情中点击"拒绝" - [ ] 输入拒绝原因 - [ ] 确认 - [ ] **预期结果**: - 状态变为"已拒绝" - 显示审核人和审核时间 - 用户余额解冻 #### 3.9 确认打款 - [ ] 手动转账到用户收款账号 - [ ] 在"处理中"的提现详情中点击"确认打款" - [ ] 输入打款备注(如:已通过支付宝转账) - [ ] 确认 - [ ] **预期结果**: - 状态变为"已完成" - 显示打款人和打款时间 - 用户冻结余额扣除 #### 3.10 完整账号可见性测试 - [ ] 查看提现详情 - [ ] **预期结果**:管理员可以看到完整的收款账号(未脱敏) --- ## 💰 钱包余额测试 ### 4. 余额流转测试 #### 4.1 提现冻结测试 - [ ] 记录提现前的可用余额和冻结余额 - [ ] 提交提现申请 - [ ] 查看钱包余额 - [ ] **预期结果**: - 可用余额减少(提现金额) - 冻结余额增加(提现金额) #### 4.2 审核拒绝解冻测试 - [ ] 管理员拒绝提现 - [ ] 查看钱包余额 - [ ] **预期结果**: - 冻结余额减少(提现金额) - 可用余额增加(提现金额) #### 4.3 用户取消解冻测试 - [ ] 用户取消待审核提现 - [ ] 查看钱包余额 - [ ] **预期结果**:余额解冻(同上) #### 4.4 打款完成扣除测试 - [ ] 管理员确认打款 - [ ] 查看钱包余额 - [ ] **预期结果**: - 冻结余额减少(提现金额) - 总余额减少(提现金额) #### 4.5 钱包流水测试 - [ ] 访问钱包流水页面 - [ ] **预期结果**:可以看到以下流水记录 - `withdraw_freeze` - 提现冻结 - `withdraw_reject` - 提现拒绝(如有) - `withdraw_cancel` - 用户取消提现(如有) - `withdraw_complete` - 提现完成 --- ## 🔄 业务流程完整性测试 ### 5. 端到端测试 #### 场景1:正常提现流程 ``` 1. 用户添加收款账号 ✓ ↓ 2. 用户发起提现 ✓ ↓ 3. 余额冻结 ✓ ↓ 4. 管理员审核通过 ✓ ↓ 5. 管理员手动转账 ✓ ↓ 6. 管理员确认打款 ✓ ↓ 7. 冻结余额扣除 ✓ ``` #### 场景2:提现被拒绝 ``` 1. 用户发起提现 ✓ ↓ 2. 余额冻结 ✓ ↓ 3. 管理员审核拒绝 ✓ ↓ 4. 余额解冻 ✓ ``` #### 场景3:用户取消提现 ``` 1. 用户发起提现 ✓ ↓ 2. 余额冻结 ✓ ↓ 3. 用户取消提现 ✓ ↓ 4. 余额解冻 ✓ ``` --- ## 🎨 UI/UX 测试 ### 6. 界面和交互测试 #### 6.1 响应式测试 - [ ] 桌面端显示正常 - [ ] 平板端显示正常 - [ ] 手机端显示正常(如已适配) #### 6.2 加载状态 - [ ] 列表加载时显示 loading - [ ] 提交操作时按钮显示 loading - [ ] 数据为空时显示空状态 #### 6.3 错误提示 - [ ] 网络错误时显示友好提示 - [ ] 表单验证错误显示清晰 - [ ] 操作失败时显示具体原因 #### 6.4 确认对话框 - [ ] 删除账号需要确认 - [ ] 提交提现需要确认 - [ ] 取消提现需要确认 - [ ] 审核操作需要确认 #### 6.5 状态标签 - [ ] 待审核:黄色警告标签 - [ ] 处理中:蓝色主题标签 - [ ] 已完成:绿色成功标签 - [ ] 已拒绝:红色危险标签 - [ ] 已取消:灰色信息标签 --- ## 🔒 安全性测试 ### 7. 安全测试 #### 7.1 账号脱敏 - [ ] 用户端收款账号列表显示脱敏账号 - [ ] 提现记录显示脱敏账号 - [ ] 管理员端显示完整账号 #### 7.2 权限验证 - [ ] 未登录用户无法访问提现页面 - [ ] 用户只能查看自己的收款账号 - [ ] 用户只能查看自己的提现记录 - [ ] 非财务管理员无法访问提现审核 #### 7.3 实名验证 - [ ] 未实名用户无法添加收款账号 - [ ] 账户名不匹配无法添加 #### 7.4 金额验证 - [ ] 最低金额限制生效 - [ ] 最高金额限制生效 - [ ] 余额不足无法提现 --- ## 📊 数据一致性测试 ### 8. 数据库验证 #### 8.1 收款账号 - [ ] 账号加密存储(后端数据库检查) - [ ] 默认账号只有一个 - [ ] 删除是软删除(status=disabled) #### 8.2 提现记录 - [ ] 提现单号唯一 - [ ] 账号信息快照正确 - [ ] 状态流转正确 - [ ] 审核信息记录完整 - [ ] 打款信息记录完整 #### 8.3 钱包流水 - [ ] 每次操作都有对应流水 - [ ] 流水金额正确 - [ ] 余额计算正确 - [ ] 业务类型标记正确 --- ## ✅ 测试结果 ### 通过标准 - [ ] 所有核心功能测试通过 - [ ] 无阻塞性 Bug - [ ] UI/UX 友好 - [ ] 安全性验证通过 - [ ] 数据一致性正确 ### 发现的问题 | 编号 | 问题描述 | 严重程度 | 状态 | |------|----------|----------|------| | 1 | | | | | 2 | | | | | 3 | | | | --- ## 📝 测试报告 **测试日期**: **测试人员**: **测试环境**: **测试结果**: **备注**: --- ## 🚀 上线前检查清单 - [ ] 所有测试通过 - [ ] 生产环境加密密钥已更新 - [ ] 数据库迁移已在生产环境执行 - [ ] 财务管理员账号已创建 - [ ] 财务角色权限已配置 - [ ] 备份数据库 - [ ] 准备回滚方案 - [ ] 监控和告警配置 --- **测试完成后,系统即可上线使用!**