All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m24s
- 新增套餐系列管理 (CRUD + 状态切换) - 新增套餐管理 (CRUD + 启用/禁用 + 上架/下架双状态) - 清理 8 个废弃分佣模型及对应数据库表 - Package 模型新增建议成本价、建议售价、上架状态字段 - 完整的 Store/Service/Handler 三层实现 - 包含单元测试和集成测试 - 归档 add-package-module change - 新增多个 OpenSpec changes (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
100 lines
3.4 KiB
Markdown
100 lines
3.4 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: 创建套餐系列
|
|
|
|
系统 SHALL 允许平台管理员创建套餐系列,包含系列编码、系列名称、描述信息。系列编码 MUST 全局唯一(排除已删除记录)。新创建的套餐系列默认为启用状态。
|
|
|
|
#### Scenario: 成功创建套餐系列
|
|
- **WHEN** 管理员提交有效的套餐系列信息(系列编码、系列名称)
|
|
- **THEN** 系统创建套餐系列记录,返回创建的套餐系列详情,状态为启用(1)
|
|
|
|
#### Scenario: 系列编码重复
|
|
- **WHEN** 管理员提交的系列编码已存在(未删除)
|
|
- **THEN** 系统返回错误 "系列编码已存在"
|
|
|
|
#### Scenario: 缺少必填字段
|
|
- **WHEN** 管理员未提供系列编码或系列名称
|
|
- **THEN** 系统返回参数验证错误
|
|
|
|
---
|
|
|
|
### Requirement: 查询套餐系列列表
|
|
|
|
系统 SHALL 提供套餐系列列表查询功能,支持按系列名称模糊搜索、按状态筛选。结果 MUST 分页返回,按创建时间倒序排列。
|
|
|
|
#### Scenario: 查询所有套餐系列
|
|
- **WHEN** 管理员请求套餐系列列表,不带筛选条件
|
|
- **THEN** 系统返回所有未删除的套餐系列,分页显示
|
|
|
|
#### Scenario: 按名称搜索
|
|
- **WHEN** 管理员提供系列名称关键字
|
|
- **THEN** 系统返回名称包含该关键字的套餐系列
|
|
|
|
#### Scenario: 按状态筛选
|
|
- **WHEN** 管理员指定状态筛选(启用/禁用)
|
|
- **THEN** 系统只返回匹配状态的套餐系列
|
|
|
|
---
|
|
|
|
### Requirement: 查询套餐系列详情
|
|
|
|
系统 SHALL 允许管理员查询单个套餐系列的详细信息。
|
|
|
|
#### Scenario: 查询存在的套餐系列
|
|
- **WHEN** 管理员请求指定 ID 的套餐系列详情
|
|
- **THEN** 系统返回该套餐系列的完整信息
|
|
|
|
#### Scenario: 查询不存在的套餐系列
|
|
- **WHEN** 管理员请求不存在或已删除的套餐系列 ID
|
|
- **THEN** 系统返回 "套餐系列不存在" 错误
|
|
|
|
---
|
|
|
|
### Requirement: 更新套餐系列
|
|
|
|
系统 SHALL 允许管理员更新套餐系列的基本信息(系列名称、描述)。系列编码创建后 MUST NOT 允许修改。
|
|
|
|
#### Scenario: 成功更新套餐系列
|
|
- **WHEN** 管理员提交有效的更新信息
|
|
- **THEN** 系统更新套餐系列记录,返回更新后的详情
|
|
|
|
#### Scenario: 尝试修改系列编码
|
|
- **WHEN** 管理员尝试修改系列编码
|
|
- **THEN** 系统忽略系列编码字段,不进行修改
|
|
|
|
#### Scenario: 更新不存在的套餐系列
|
|
- **WHEN** 管理员更新不存在的套餐系列
|
|
- **THEN** 系统返回 "套餐系列不存在" 错误
|
|
|
|
---
|
|
|
|
### Requirement: 删除套餐系列
|
|
|
|
系统 SHALL 允许管理员删除套餐系列(软删除)。
|
|
|
|
#### Scenario: 成功删除套餐系列
|
|
- **WHEN** 管理员删除指定的套餐系列
|
|
- **THEN** 系统软删除该记录,后续查询不再返回
|
|
|
|
#### Scenario: 删除不存在的套餐系列
|
|
- **WHEN** 管理员删除不存在的套餐系列
|
|
- **THEN** 系统返回 "套餐系列不存在" 错误
|
|
|
|
---
|
|
|
|
### Requirement: 启用/禁用套餐系列
|
|
|
|
系统 SHALL 允许管理员切换套餐系列的启用状态。
|
|
|
|
#### Scenario: 启用套餐系列
|
|
- **WHEN** 管理员将禁用的套餐系列设置为启用
|
|
- **THEN** 系统更新状态为启用(1)
|
|
|
|
#### Scenario: 禁用套餐系列
|
|
- **WHEN** 管理员将启用的套餐系列设置为禁用
|
|
- **THEN** 系统更新状态为禁用(2)
|
|
|
|
#### Scenario: 状态未变化
|
|
- **WHEN** 管理员设置的状态与当前状态相同
|
|
- **THEN** 系统正常返回成功,不产生错误
|