62 lines
3.4 KiB
Markdown
62 lines
3.4 KiB
Markdown
## 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** 展示驳回原因、异常标记与尝试记录
|