45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: 核销申请付款凭证识别
|
|
|
|
创建核销申请弹窗 SHALL 将付款凭证字段置于外部交易流水号字段上方,并 SHALL 支持上传付款凭证后自动识别交易流水号预填,同时保留手动「识别凭证」按钮;识别结果 MUST 只作预填且保持可编辑,识别失败 MUST NOT 阻断提交或清空已填内容。
|
|
|
|
#### Scenario: 上传凭证后自动识别
|
|
|
|
- **GIVEN** 用户在创建核销申请弹窗上传付款凭证
|
|
- **WHEN** 凭证上传成功
|
|
- **THEN** 前端 MUST 自动调用付款凭证识别接口
|
|
- **AND** 识别成功时 MUST 将返回的 `external_transaction_no` 预填入交易流水号输入框
|
|
|
|
#### Scenario: 手动识别
|
|
|
|
- **GIVEN** 付款凭证已上传
|
|
- **WHEN** 用户点击「识别凭证」
|
|
- **THEN** 前端 MUST 调用识别接口并预填交易流水号
|
|
|
|
#### Scenario: 识别失败不阻断
|
|
|
|
- **GIVEN** 识别接口返回失败或超时
|
|
- **WHEN** 自动或手动识别结束
|
|
- **THEN** 前端 MUST 只展示提示
|
|
- **AND** MUST NOT 清空已填写的交易流水号
|
|
- **AND** MUST NOT 阻止用户提交
|
|
|
|
#### Scenario: 字段顺序
|
|
|
|
- **GIVEN** 用户打开创建核销申请弹窗
|
|
- **WHEN** 表单渲染
|
|
- **THEN** 付款凭证字段 MUST 位于外部交易流水号字段之上
|
|
|
|
### Requirement: 核销申请凭证识别接口契约
|
|
|
|
核销申请付款凭证识别 SHALL 复用 `POST /api/admin/agent-recharges/payment-voucher-ocr`,请求体 `{ payment_voucher_key }`,响应取 `external_transaction_no`;请求超时 MUST NOT 低于 30 秒,请求期间 MUST 展示 loading 并防止重复触发。
|
|
|
|
#### Scenario: 识别请求契约
|
|
|
|
- **GIVEN** 已上传至少 1 个付款凭证
|
|
- **WHEN** 前端发起识别
|
|
- **THEN** 请求体 MUST 为 `{ payment_voucher_key }`,取首个已上传凭证对象键
|
|
- **AND** 响应 MUST 只用于预填 `external_transaction_no`
|
|
- **AND** 请求超时 MUST NOT 低于 30 秒
|