48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Order views SHALL display backend role and asset snapshots
|
|
|
|
The H5/C client SHALL use `GET /api/c/v1/orders` and `GET /api/c/v1/orders/{id}` as the source of truth for order display. Order list and detail views SHALL display the backend `purchase_role` and `asset_identifier` values when present.
|
|
|
|
#### Scenario: Order includes a purchase role
|
|
|
|
- **WHEN** an order response returns `purchase_role`
|
|
- **THEN** the order list and detail view SHALL render that role
|
|
- **AND** the client SHALL not infer the role from the current user or asset type
|
|
|
|
#### Scenario: Card order includes an asset identifier
|
|
|
|
- **WHEN** a card order returns an `asset_identifier` snapshot
|
|
- **THEN** the client SHALL display the returned card identifier, such as ICCID, without replacing it with a current asset lookup
|
|
|
|
### Requirement: Device order identifiers SHALL prefer virtual number over IMEI
|
|
|
|
For device orders, the client SHALL display `virtual_no`/`VirtualNo` when it is non-empty, and SHALL use `imei` only when the virtual number is empty. The client SHALL not use `sn` as a substitute for the order asset identifier.
|
|
|
|
#### Scenario: Device has a virtual number
|
|
|
|
- **WHEN** a device order response contains a non-empty virtual number and an IMEI
|
|
- **THEN** the client SHALL display the virtual number
|
|
- **AND** the client SHALL not display SN as the order device identifier
|
|
|
|
#### Scenario: Device virtual number is empty
|
|
|
|
- **WHEN** a device order response has an empty virtual number and a non-empty IMEI
|
|
- **THEN** the client SHALL display the IMEI
|
|
|
|
#### Scenario: Historical identifier data is empty
|
|
|
|
- **WHEN** both the virtual number and IMEI are absent or empty
|
|
- **THEN** the client SHALL show the existing empty placeholder
|
|
- **AND** the client SHALL not fabricate an identifier from SN or a new asset-info request
|
|
|
|
### Requirement: Order amounts SHALL use the common currency display rule
|
|
|
|
Order list and detail views SHALL display `total_amount` and package prices converted from integer cents to yuan while preserving the integer-cent values in API requests and response state.
|
|
|
|
#### Scenario: Display an order amount
|
|
|
|
- **WHEN** an order response returns an amount in cents
|
|
- **THEN** the client SHALL render the corresponding yuan value
|
|
- **AND** the client SHALL not expose the raw cent value as the user-facing amount
|