Files
one-pipe-system/openspec/changes/update-package-allocation-expiry-base-override/tasks.md
luo 68aa03b538
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 9m23s
feat: 套餐分配生效条件选择
2026-07-22 14:21:15 +08:00

1.8 KiB

1. Allocation Contract

  • 1.1 扩展店铺套餐分配请求与响应类型,支持 expiry_base_overridedefault_expiry_baseeffective_expiry_base 及对应中文名称字段。
  • 1.2 接入创建分配接口 POST /api/admin/shop-package-allocationsexpiry_base_override 参数。
  • 1.3 接入修改生效条件接口 PATCH /api/admin/shop-package-allocations/{id}/expiry-base

2. Allocation Expiry Condition UI

  • 2.1 在套餐授权/分配弹框提供“跟随套餐默认”“购买即生效”“实名即生效”三选一。
  • 2.2 选择“跟随套餐默认”时显式提交 expiry_base_override: null
  • 2.3 在已分配套餐编辑弹框显示“仅影响后续新订单,不影响已购买套餐”提示。
  • 2.4 在已分配套餐详情或编辑弹框显示默认值、覆盖值和最终值的后端中文名称。

3. Series Grant Package Visibility

  • 3.1 在代理系列授权套餐列表显示默认生效条件、覆盖生效条件和最终生效条件。
  • 3.2 从代理系列授权套餐列表编辑生效条件时,使用对应套餐分配记录 ID 调用生效条件更新接口。
  • 3.3 保存成功后刷新授权套餐列表或详情,展示后端返回的最新最终生效条件。

4. Policy Integrity and Verification

  • 4.1 前端不从默认值和覆盖值计算或修改 effective_expiry_base
  • 4.2 验证新建分配时三种选项分别提交 nullfrom_purchasefrom_realname
  • 4.3 验证编辑覆盖值和恢复默认均只影响后续新订单,不影响已购买套餐。
  • 4.4 验证页面可区分默认值、覆盖值和最终生效条件,并正确显示后端中文名称。
  • 4.5 运行相关前端校验,并执行 openspec validate update-package-allocation-expiry-base-override --strict