All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m49s
1.7 KiB
1.7 KiB
Context
套餐使用记录已有 master_usage_id,不能为展示重复存储关系。
Decisions
- 查询批量读取资产全部套餐使用,按
master_usage_id内存分组并稳定排序。 - 不改变套餐状态、金额或生命周期;缺失主记录只形成读模型异常项。
查询与响应契约
- 后台资产详情及 H5
GET /api/c/v1/asset/package-history保持既有资产权限、分页和套餐字段;不新增写接口、迁移、关联表或状态变更。查询需在资产范围内一次读取该资产全部相关PackageUsage,不能按每个主套餐逐条查询加油包。 - 响应主项包含原套餐使用字段、
children加油包数组和expand_by_default;主项master_usage_id必须为null。子项保留自身package_usage_id、master_usage_id、状态、购买创建时间、生效时间和原历史字段。 - 以
master_usage_id IS NULL的记录为主套餐;关联存在的加油包嵌入对应主项。已生效加油包先按生效时间正序,待生效加油包后按购买创建时间正序;排序字段相同再按package_usage_id正序,保证后台和 H5 一致。 - 主套餐只要有一个关联子项即
expand_by_default=true;无子项为false。主套餐、子项失效、过期、用尽、退款或历史状态均不得删除或改写层级。 - 加油包的
master_usage_id指向物理不存在记录时,返回顶层异常项:保留原字段、relationship_status=master_missing、relationship_status_name=关联主套餐缺失、children=[]、expand_by_default=false;不得猜测替代主套餐或丢弃该项。
Verification
验证多主套餐、待生效/失效加油包、缺失主记录、后台/H5 数据范围和分页。