All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m43s
1.5 KiB
1.5 KiB
Context
现有资产信息组装只查询 status=1 的主套餐。套餐达到有效业务阈值会变为 status=2,但仍未到期;此时 C 端资产信息把套餐摘要投影为无套餐零值。
Goals / Non-Goals
Goals:
- 让 C 端资产信息对
status IN (1,2)的当前主套餐使用同一套摘要投影。 - 维持既有主套餐选择顺序与空套餐响应形状。
Non-Goals:
- 不改变虚流量耗尽阈值或任何套餐状态流转。
- 不改变待生效、已过期、已失效套餐的展示规则。
- 不修改套餐历史接口、价格、续费资格、Schema 或迁移。
Decisions
- 将资产信息使用的主套餐查询语义扩展为
status IN (1,2),并仅限master_usage_id IS NULL。两种状态都是当前生命周期内占位的主套餐;已有生命周期与到期扫描也以这两个状态共同处理。 - 保留既有
priority ASC, activated_at ASC排序,避免多记录异常时改变当前选择结果。 - 套餐摘要继续直接使用选中的
PackageUsage快照及统一流量指标计算,避免针对已用完状态复制或重算数据。
Risks / Trade-offs
- B1 的
current_package_*字段会从零值变为已用完套餐数据;这是用户要求的兼容性行为修正,前端需按已用完状态展示而非将有使用记录视为可继续使用。 - 若存量数据同时存在多条
status IN (1,2)主套餐,接口沿用既有排序选第一条;本变更不修复该数据不变量问题。