## ADDED Requirements ### Requirement: Refund Order Voucher Upload The system SHALL require a refund voucher file key when creating a refund order in refund management. #### Scenario: Create refund order with uploaded voucher - **GIVEN** 用户正在退款管理中创建退款订单 - **WHEN** 用户通过 `/storage/upload-url` 上传退款凭证图片并获得 `file_key` - **AND** 用户提交创建退款订单表单 - **THEN** 系统 MUST 将该 `file_key` 作为 `refund_voucher_key` 提交 - **AND** `refund_voucher_key` MUST be a non-empty string #### Scenario: Block refund order creation without voucher - **GIVEN** 用户正在退款管理中创建退款订单 - **WHEN** 用户未上传退款凭证图片或未获得 `file_key` - **AND** 用户尝试提交创建退款订单表单 - **THEN** 系统 MUST prevent submission - **AND** 系统 MUST 提示用户上传退款凭证 ### Requirement: Refund Voucher Viewing The system SHALL allow users to view refund vouchers from refund order list operations and refund order details when `refund_voucher_key` exists. #### Scenario: View refund voucher from refund order list action - **GIVEN** 用户正在查看退款订单列表 - **WHEN** 某条退款订单存在 `refund_voucher_key` - **THEN** 系统 MUST 在操作列提供查看退款凭证入口 - **AND** 该入口的查看体验 MUST be consistent with the existing order list payment voucher preview behavior #### Scenario: Hide refund voucher action when no voucher exists - **GIVEN** 用户正在查看退款订单列表 - **WHEN** 某条退款订单不存在 `refund_voucher_key` - **THEN** 系统 MUST NOT display an enabled refund voucher preview action for that order #### Scenario: Display refund voucher in refund order detail - **GIVEN** 用户打开退款订单详情 - **WHEN** 详情数据包含 `refund_voucher_key` - **THEN** 系统 MUST directly display the refund voucher image or preview entry in the detail content - **AND** 用户 MUST NOT need to return to the list to view the voucher