Files
2026-09-17 12:16:20 +08:00

62 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## ADDED Requirements
### Requirement: 提交/替换提现资料资格
代理本人 MUST 能提交或替换提现资料资格,调用 `POST /api/admin/shops/{shop_id}/withdrawal-qualifications`,请求体包含 `subject_type``subject_code``legal_person_id_card` 与合同、身份证正反面、营业执照、门头照、发票等 `*_file_key`,以及 `invoice_title``invoice_subject_code`;附件 MUST 先通过对象存储上传接口取得 `file_key` 再提交。
#### Scenario: 提交资格成功
- **GIVEN** 代理本人已登录并选好主体类型
- **WHEN** 其上传资料并提交
- **THEN** 前端 MUST 先取得全部附件 `file_key`
- **AND** 再调用提交接口并在成功后刷新资格列表
#### Scenario: 替换资格使旧资格失效
- **GIVEN** 已存在通过审批的资格
- **WHEN** 代理提交合同或法人身份证变更
- **THEN** 旧资格 MUST 立即失效
- **AND** 新资格 MUST 重新审批通过后方可提现
### Requirement: 查询提现资料资格
代理本人 MUST 能分页查询提现资料资格,调用 `GET /api/admin/shops/{shop_id}/withdrawal-qualifications``page` / `page_size` / `status`);响应 MUST 展示脱敏的 `subject_code_masked``legal_person_id_card_masked`,并展示 `status``approval_status``invalid_reason``invalidated_at` 与各附件 `file_key` 预览。
#### Scenario: 查看资格版本与审批状态
- **GIVEN** 代理本人打开提现资料资格列表
- **WHEN** 接口返回资格记录
- **THEN** 列表 MUST 展示脱敏证件号与审批状态
- **AND** 证件号 MUST NOT 以明文展示
### Requirement: 作废提现资料资格
超级管理员 MUST 能作废提现资料资格,调用 `POST /api/admin/withdrawal-qualifications/{id}/void``reason` 必填。
#### Scenario: 作废资格须填原因
- **GIVEN** 超级管理员打开作废弹窗
- **WHEN** 其未填写原因直接提交
- **THEN** 前端 MUST 阻止提交并提示填写原因
#### Scenario: 超管作废资格
- **GIVEN** 超级管理员选择一条资格
- **WHEN** 其填写原因并确认作废
- **THEN** 系统 MUST 调用作废接口并在成功后刷新列表
### Requirement: 重提被驳回的提现
代理本人 MUST 能重提被驳回的提现,调用 `PUT /api/admin/shops/{shop_id}/withdrawal-requests/{id}`,请求体包含 `account_name``account_number``amount``withdrawal_method``invoice_keys`;成功响应返回新提现单(`withdrawal_no``actual_amount``fee``fee_rate``status`)。
#### Scenario: 重提被驳回的提现
- **GIVEN** 代理本人的提现申请被驳回
- **WHEN** 其修改信息并重新提交
- **THEN** 系统 MUST 调用重提接口
- **AND** 成功后 MUST 刷新提现记录并展示新单号
#### Scenario: 非驳回状态不可重提
- **GIVEN** 提现申请不是被驳回状态
- **WHEN** 代理尝试重提
- **THEN** 重提入口 MUST 不可用或不展示
### Requirement: 提现申请详情
代理本人 MUST 能查看提现申请详情,调用 `GET /api/admin/shops/{shop_id}/withdrawal-requests/{id}`;响应包含 `reject_reason``anomaly_flag``anomaly_name``anomaly_reason``attempts` 尝试记录,前端 MUST 展示这些字段。
#### Scenario: 查看提现详情
- **GIVEN** 代理本人点击提现记录
- **WHEN** 详情返回
- **THEN** 页面 MUST 展示提现金额、实际到账、手续费、状态
- **AND** 展示驳回原因、异常标记与尝试记录