2.9 KiB
2.9 KiB
MODIFIED Requirements
Requirement: 创建代理系列授权时提交初始套餐
系统 SHALL 在创建代理系列授权时要求提交 packages,且 packages 必须包含 1~100 个套餐项;套餐 ID 不得重复。创建成功响应 SHALL 保持完整授权详情结构不变。
Scenario: 创建授权并提交有效初始套餐
- WHEN 用户提交
shop_id、series_id和包含 1~100 个不重复套餐项的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 不要求后端返回新的响应包装结构