Files
luo dd6bceeeb7
Some checks failed
构建并部署前端到测试环境 / build-and-deploy (push) Has been cancelled
feat: 系统配置
2026-07-25 14:13:49 +08:00

2.9 KiB
Raw Blame History

MODIFIED Requirements

Requirement: 创建代理系列授权时提交初始套餐

系统 SHALL 在创建代理系列授权时要求提交 packages,且 packages 必须包含 1100 个套餐项;套餐 ID 不得重复。创建成功响应 SHALL 保持完整授权详情结构不变。

Scenario: 创建授权并提交有效初始套餐

  • WHEN 用户提交 shop_idseries_id 和包含 1100 个不重复套餐项的 packages
  • THEN 前端提交 POST /api/admin/shop-series-grants
  • AND 每个套餐项携带必要的 package_id,新增或调价时携带 cost_price
  • AND 页面按接口返回的完整授权详情刷新授权信息

Scenario: 创建授权未选择套餐

  • WHEN 用户未选择任何初始套餐
  • THEN 前端阻止提交并提示至少选择 1 个套餐

Scenario: 创建授权超过套餐数量上限或包含重复套餐

  • WHEN 用户选择超过 100 个套餐或同一 package_id 重复出现
  • THEN 前端阻止提交并提示套餐数量或重复项错误

Requirement: 合并套餐候选与授权状态

系统 SHALL 在套餐列表和授权详情相关页面以 package_id 为唯一键合并套餐候选数据与授权详情中的 packages[]。已授权套餐即使不在当前候选搜索结果中,也 SHALL 保留并标记为已授权。

Scenario: 候选套餐与已授权套餐合并

  • WHEN 套餐候选列表和授权详情均加载成功
  • THEN 页面按 package_id 合并两者
  • AND 详情中的套餐显示为已授权并保留其成本价、生效条件和状态字段
  • AND 仅出现在候选列表中的套餐显示为未授权候选

Scenario: 候选搜索结果不包含已授权套餐

  • WHEN 当前候选搜索结果缺少某个已授权套餐
  • THEN 页面仍从授权详情保留该套餐
  • AND 不将其误判为未授权或从当前编辑状态中删除

Requirement: 后续套餐管理使用批量操作删除

系统 SHALL 使用 PUT /api/admin/shop-series-grants/{id}/packages 管理既有授权套餐。新增和调价提交套餐项,删除套餐授权 SHALL 提交对应套餐项的 remove: true;操作成功后 SHALL 按接口返回的完整授权详情刷新页面。

Scenario: 新增或调整授权套餐

  • WHEN 用户在已有授权中新增套餐或调整成本价
  • THEN 前端提交 packages[] 中对应的套餐项及成本价
  • AND 不调用独立删除接口

Scenario: 删除授权套餐

  • WHEN 用户删除已有授权套餐
  • THEN 前端提交 { package_id, remove: true }
  • AND 页面使用接口返回的完整授权详情刷新套餐列表

Scenario: 套餐管理响应结构保持不变

  • WHEN 套餐批量管理接口成功
  • THEN 前端按详情响应读取授权基本信息、佣金配置、强充配置、packages[]、状态和时间字段
  • AND 不要求后端返回新的响应包装结构