## ADDED Requirements ### Requirement: Admin Asset Resolve Usage Summary Contract The admin asset information integration SHALL request usage summary data from `GET /api/admin/assets/resolve/:identifier` by default and preserve the returned current-generation virtual usage summary fields. #### Scenario: Asset information requests usage summary by default - **GIVEN** 用户在后台“资产信息”页查询资产标识符 - **WHEN** 前端调用 `GET /api/admin/assets/resolve/:identifier` - **THEN** 请求 Query MUST include `include_usage_summary=true` - **AND** `include_usage_summary` MUST be treated as a boolean query parameter #### Scenario: Preserve usage summary fields from resolve response - **GIVEN** `GET /api/admin/assets/resolve/:identifier?include_usage_summary=true` 返回 `total_virtual_used_mb` 和 `total_virtual_remaining_mb` - **WHEN** 前端解析资产详情响应 - **THEN** 页面状态 MUST preserve `total_virtual_used_mb` as a `number | null` field - **AND** 页面状态 MUST preserve `total_virtual_remaining_mb` as a `number | null` field - **AND** `total_virtual_used_mb` MUST represent 所有套餐已用量(MB) - **AND** `total_virtual_remaining_mb` MUST represent 所有套餐剩余量(MB) #### Scenario: Usage summary not requested - **GIVEN** a caller invokes `GET /api/admin/assets/resolve/:identifier` without `include_usage_summary=true` - **WHEN** the response is parsed - **THEN** `total_virtual_used_mb` MAY be absent or `null` - **AND** `total_virtual_remaining_mb` MAY be absent or `null` ### Requirement: Admin Asset Usage Summary Display The admin asset information view SHALL display current-generation virtual usage summary fields in both card and device asset information sections using asset-type-specific placement. #### Scenario: Show card usage summary after carrier status - **GIVEN** 用户正在查看后台“资产信息”中的卡资产详情 - **AND** 当前资产详情状态中存在 `total_virtual_used_mb` 和 `total_virtual_remaining_mb` - **WHEN** 页面渲染“卡信息”区域 - **THEN** 页面 MUST keep `运营商状态` visible - **AND** 页面 MUST display `所有套餐已用量` immediately after `运营商状态`, using `total_virtual_used_mb` - **AND** 页面 MUST display `所有套餐剩余量` immediately after `所有套餐已用量`, using `total_virtual_remaining_mb` - **AND** both values MUST be formatted as traffic sizes based on MB values #### Scenario: Show device usage summary after SN - **GIVEN** 用户正在查看后台“资产信息”中的设备资产详情 - **AND** 当前资产详情状态中存在 `total_virtual_used_mb` 和 `total_virtual_remaining_mb` - **WHEN** 页面渲染“设备信息”区域 - **THEN** 页面 MUST keep `SN` visible - **AND** 页面 MUST display `所有套餐已用量` immediately after `SN`, using `total_virtual_used_mb` - **AND** 页面 MUST display `所有套餐剩余量` immediately after `所有套餐已用量`, using `total_virtual_remaining_mb` - **AND** both values MUST be formatted as traffic sizes based on MB values #### Scenario: Show placeholder when usage summary is unavailable - **GIVEN** 用户正在查看后台“资产信息”中的卡资产详情或设备资产详情 - **AND** `total_virtual_used_mb` or `total_virtual_remaining_mb` is `null` or absent - **WHEN** 页面渲染对应汇总字段 - **THEN** 页面 MUST display `-` for the unavailable field - **AND** 页面 MUST NOT display `0` solely because the field is unavailable