5.1 KiB
5.1 KiB
Shop Package Allocation (单套餐分配) Specification
ADDED Requirements
Requirement: 单套餐分配列表查询
系统 SHALL 提供单套餐分配记录的查询功能。
Scenario: 查询所有单套餐分配
- WHEN 管理员访问单套餐分配管理页面
- THEN 系统显示单套餐分配列表
- AND 每条记录包含:分配ID、套餐ID、套餐编码、套餐名称
- AND 显示被分配的店铺ID和店铺名称
- AND 显示覆盖的成本价(cost_price,单位:分)
- AND 显示原计算成本价(calculated_cost_price,供参考)
- AND 显示关联的系列分配ID
- AND 显示状态、创建时间、更新时间
- AND 支持分页,每页最多100条记录
Scenario: 按店铺筛选
- WHEN 管理员选择特定店铺ID筛选
- THEN 系统返回该店铺的所有单套餐分配记录
Scenario: 按套餐筛选
- WHEN 管理员选择特定套餐ID筛选
- THEN 系统返回该套餐的所有分配记录
Scenario: 按状态筛选
- WHEN 管理员选择状态(启用/禁用)筛选
- THEN 系统返回符合状态条件的分配记录
Requirement: 创建单套餐分配
系统 SHALL 允许管理员为店铺分配特定套餐并设置成本价。
Scenario: 成功创建单套餐分配
- WHEN 管理员选择套餐ID、店铺ID
- AND 设置覆盖的成本价(必填,最小值为0)
- AND 提交分配
- THEN 系统创建单套餐分配记录
- AND 计算并保存原计算成本价(基于系列分配规则)
- AND 返回创建的分配详情,包括关联的系列分配ID
Scenario: 重复分配检查
- WHEN 管理员为同一店铺分配已分配过的套餐
- THEN 系统返回错误提示"该套餐已分配给此店铺"
Scenario: 店铺和套餐验证
- WHEN 管理员使用不存在的店铺ID或套餐ID
- THEN 系统返回错误提示"店铺或套餐不存在"
Requirement: 查看单套餐分配详情
系统 SHALL 允许管理员查看单个分配记录的详细信息。
Scenario: 查询存在的分配记录
- WHEN 管理员通过分配ID查询详情
- THEN 系统返回该分配记录的完整信息
- AND 包含套餐完整信息、店铺信息、定价信息
Scenario: 查询不存在的分配记录
- WHEN 管理员查询不存在的分配ID
- THEN 系统返回404错误
Requirement: 更新单套餐分配
系统 SHALL 允许管理员更新单套餐分配的成本价。
Scenario: 成功更新成本价
- WHEN 管理员修改覆盖的成本价
- AND 提交更新
- THEN 系统更新成本价
- AND 返回更新后的分配详情
Scenario: 成本价验证
- WHEN 管理员设置成本价小于0
- THEN 系统返回验证错误"成本价必须大于等于0"
Requirement: 删除单套餐分配
系统 SHALL 允许管理员删除单套餐分配记录。
Scenario: 成功删除分配
- WHEN 管理员删除单套餐分配记录
- THEN 系统删除该分配记录
- AND 该店铺将无法再以此定价售卖该套餐
- AND 返回成功状态
Scenario: 删除正在使用的分配
- WHEN 管理员删除正在被订单使用的分配记录
- THEN 系统可能返回警告或阻止删除(根据业务规则)
Requirement: 单套餐分配状态管理
系统 SHALL 支持单套餐分配的启用/禁用状态管理。
Scenario: 启用分配
- WHEN 管理员将禁用状态的分配切换为启用
- THEN 系统更新状态为启用(status=1)
- AND 该店铺可以使用此定价售卖套餐
Scenario: 禁用分配
- WHEN 管理员将启用状态的分配切换为禁用
- THEN 系统更新状态为禁用(status=2)
- AND 该店铺将无法使用此定价售卖套餐
Requirement: 成本价优先级规则
系统 SHALL 实现单套餐分配成本价覆盖系列分配规则。
Scenario: 单套餐分配优先
- WHEN 店铺同时拥有系列分配和单套餐分配
- THEN 系统使用单套餐分配的成本价
- AND 原计算成本价(calculated_cost_price)保存系列分配规则计算的价格,供参考
Scenario: 仅系列分配
- WHEN 店铺只有系列分配,没有单套餐分配
- THEN 系统使用系列分配规则计算成本价
Requirement: 关联系列分配追踪
系统 SHALL 追踪单套餐分配与系列分配的关联关系。
Scenario: 记录关联的系列分配
- WHEN 创建单套餐分配时
- THEN 系统记录关联的系列分配ID(allocation_id)
- AND 用于追溯定价来源
Requirement: 权限控制
系统 SHALL 对单套餐分配管理功能实施权限控制。
Scenario: 未认证用户访问
- WHEN 未登录用户访问单套餐分配接口
- THEN 系统返回401未认证错误
Scenario: 无权限用户访问
- WHEN 已登录但无权限的用户访问单套餐分配接口
- THEN 系统返回403无权访问错误
Scenario: 仅管理员可操作
- WHEN 非管理员用户尝试创建、更新或删除单套餐分配
- THEN 系统返回403无权访问错误