19 lines
1.8 KiB
Markdown
19 lines
1.8 KiB
Markdown
# 03 — 当前套餐提供下架续费入口
|
||
|
||
**What to build:** 当前资产所有人查看资产信息时,可以获得当前套餐的稳定套餐 ID 和服务端购买资格。当前渠道已下架但存在真实有效历史时,当前套餐明确显示为仅限该资产续费;资格不成立时返回不可购买及稳定中文原因。
|
||
|
||
**Blocked by:** 01 — 建立统一套餐可售决策与真实历史资格
|
||
|
||
**Status:** ready-for-agent
|
||
|
||
**架构通道:** Query。
|
||
|
||
**完整业务边界:** 本票只迁移和收口 `GET /api/c/v1/asset/info` 中当前套餐的读取与 DTO 投影,新增稳定 `current_package_id` 及购买资格契约。明确不修改资产实时状态、钱包、Gateway 刷新或订单流程,不实现前端页面。
|
||
|
||
- [ ] 查询继续执行个人客户认证、资产解析、当前有效绑定和当前 generation 校验,不允许上一世代或其他客户的套餐事实进入投影。
|
||
- [ ] 当前套餐区域增加稳定 `current_package_id`、`can_purchase`、`purchase_mode` 和 `disabled_reason`;续费命令依赖套餐 ID,不使用 `current_package_usage_id` 作为授权凭证。
|
||
- [ ] 当前渠道正常在售且满足既有规则时返回 `can_purchase=true, purchase_mode=normal`;渠道下架且历史资格成立时返回 `can_purchase=true, purchase_mode=renew_only`。
|
||
- [ ] 套餐禁用、历史资格不存在、渠道未授权、价格异常或既有组合规则不成立时返回 `can_purchase=false, purchase_mode=disabled` 及稳定中文原因。
|
||
- [ ] 无当前套餐时保持现有空值兼容语义,不伪造套餐 ID 或续费入口,并返回明确不可购买决策。
|
||
- [ ] HTTP 集成测试覆盖在售当前套餐、平台与代理渠道下架续费、禁用、无历史、退款、解绑、转手及 generation 变化,验证统一响应和字段枚举。
|