fetch(add): 订单管理-企业设备
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 3m30s

This commit is contained in:
sexygoat
2026-01-29 15:43:45 +08:00
parent 1812b7a6c4
commit 841cf0442b
58 changed files with 8948 additions and 1164 deletions

View File

@@ -0,0 +1,164 @@
# 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** 系统记录关联的系列分配IDallocation_id
- **AND** 用于追溯定价来源
### Requirement: 权限控制
系统 SHALL 对单套餐分配管理功能实施权限控制。
#### Scenario: 未认证用户访问
- **WHEN** 未登录用户访问单套餐分配接口
- **THEN** 系统返回401未认证错误
#### Scenario: 无权限用户访问
- **WHEN** 已登录但无权限的用户访问单套餐分配接口
- **THEN** 系统返回403无权访问错误
#### Scenario: 仅管理员可操作
- **WHEN** 非管理员用户尝试创建、更新或删除单套餐分配
- **THEN** 系统返回403无权访问错误