3.0 KiB
3.0 KiB
ADDED Requirements
Requirement: Exchange Creation Refund Interception Feedback
The exchange creation page SHALL display the backend business reason when POST /api/admin/exchanges rejects the selected old asset because of an active refund application. The page MUST use the response code and msg contract without changing the successful exchange response structure.
Scenario: Display active refund interception reason
- GIVEN 用户已填写创建换货单表单并选择存在活跃退款申请的旧资产
- WHEN
POST /api/admin/exchanges返回失败code和msg - THEN 页面 MUST display the backend business reason in the create exchange form context
- AND 当后端
msg为“该资产存在退款申请”时,页面 MUST display that message directly - AND 系统 MUST NOT create a new exchange order
Scenario: Display other exchange creation business reason
- GIVEN 用户已填写创建换货单表单
- WHEN 创建接口返回非退款相关的业务失败
code和msg - THEN 页面 MUST display the backend
msgin the create exchange form context - AND 页面 MUST NOT replace the backend business reason with a generic frontend failure message
Requirement: Exchange Creation Retry After Interception
The exchange creation page SHALL preserve the current form values after a backend rejection and allow the user to change assets and submit again after the request completes.
Scenario: Preserve form after refund interception
- GIVEN 创建换货单请求被后端退款规则拒绝
- WHEN 页面展示后端业务原因
- THEN 页面 MUST retain the selected old asset, new asset when applicable, flow type, reason, and other form values
- AND 提交按钮 MUST leave its loading state after the request completes
Scenario: Retry with another asset
- GIVEN 用户已收到退款拦截错误
- WHEN 用户更换旧资产并再次提交创建换货单
- THEN 系统 MUST send a new
POST /api/admin/exchangesrequest using the updated form values
Requirement: Backend-Controlled Exchange Refund Eligibility
The exchange creation page MUST rely exclusively on the exchange creation response to determine refund-related eligibility. The frontend MUST NOT add a refund status lookup, a refund pre-check area, or infer eligibility from refund approval, rejection, withdrawal, or completion states.
Scenario: Do not pre-check refund eligibility
- WHEN 用户打开或填写创建换货单表单
- THEN 页面 MUST NOT issue a refund status query solely to determine exchange eligibility
- AND 页面 MUST NOT render a refund status pre-check area
Scenario: Permit assets according to backend decision
- GIVEN 用户选择曾有退款申请但后端允许换货的资产
- WHEN 创建接口成功返回
- THEN 页面 MUST treat the exchange creation as successful
- AND 页面 MUST NOT block the operation based on a frontend interpretation of refund history