Files
one-pipe-system/openspec/changes/add-carrier-management/specs/carrier-management/spec.md
sexygoat 6127b21c2c
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 2m23s
fetch(add): 运营商管理
2026-01-27 16:06:48 +08:00

201 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Carrier Management Specification
## ADDED Requirements
### Requirement: 运营商列表查询
系统 SHALL 提供运营商列表查询功能,支持分页和多条件筛选。
#### Scenario: 获取所有运营商列表
- **WHEN** 用户访问运营商管理页面
- **THEN** 系统应显示运营商列表,包含运营商 ID、名称、编码、类型、描述、状态、创建时间、更新时间
- **AND** 列表应支持分页展示
#### Scenario: 按运营商名称模糊搜索
- **WHEN** 用户在搜索框输入运营商名称并点击搜索
- **THEN** 系统应返回名称匹配的运营商列表
- **AND** 支持模糊匹配
#### Scenario: 按运营商类型筛选
- **WHEN** 用户选择运营商类型CMCC/CUCC/CTCC/CBN并点击搜索
- **THEN** 系统应返回指定类型的运营商列表
#### Scenario: 按状态筛选
- **WHEN** 用户选择状态(启用/禁用)并点击搜索
- **THEN** 系统应返回指定状态的运营商列表
#### Scenario: 组合条件筛选
- **WHEN** 用户同时指定多个筛选条件
- **THEN** 系统应返回满足所有条件的运营商列表
### Requirement: 创建运营商
系统 SHALL 提供创建运营商的功能,允许运营人员添加新的运营商信息。
#### Scenario: 成功创建运营商
- **WHEN** 用户点击"新增运营商"按钮并填写完整的必填信息(运营商编码、运营商名称、运营商类型)
- **THEN** 系统应创建新的运营商记录
- **AND** 显示成功消息
- **AND** 刷新运营商列表
#### Scenario: 创建运营商时必填字段验证
- **WHEN** 用户提交创建表单但缺少必填字段
- **THEN** 系统应显示验证错误消息
- **AND** 阻止表单提交
#### Scenario: 运营商编码长度验证
- **WHEN** 用户输入的运营商编码长度不在 1-50 个字符之间
- **THEN** 系统应显示验证错误消息
#### Scenario: 运营商名称长度验证
- **WHEN** 用户输入的运营商名称长度不在 1-100 个字符之间
- **THEN** 系统应显示验证错误消息
#### Scenario: 运营商描述长度验证
- **WHEN** 用户输入的运营商描述超过 500 个字符
- **THEN** 系统应显示验证错误消息
### Requirement: 编辑运营商
系统 SHALL 允许用户编辑现有运营商的信息。
#### Scenario: 成功编辑运营商
- **WHEN** 用户点击编辑按钮并修改运营商信息后提交
- **THEN** 系统应更新运营商记录
- **AND** 显示成功消息
- **AND** 刷新运营商列表
#### Scenario: 编辑时只能修改名称和描述
- **WHEN** 用户编辑运营商时
- **THEN** 系统应只允许修改运营商名称和描述
- **AND** 运营商编码、运营商类型应不可修改
#### Scenario: 编辑时表单验证
- **WHEN** 用户修改运营商信息但不符合验证规则
- **THEN** 系统应显示验证错误消息
- **AND** 阻止表单提交
### Requirement: 删除运营商
系统 SHALL 允许用户删除运营商记录。
#### Scenario: 成功删除运营商
- **WHEN** 用户点击删除按钮并确认删除操作
- **THEN** 系统应删除该运营商记录
- **AND** 显示成功消息
- **AND** 刷新运营商列表
#### Scenario: 删除前二次确认
- **WHEN** 用户点击删除按钮
- **THEN** 系统应显示确认对话框
- **AND** 提示用户确认删除操作
#### Scenario: 取消删除操作
- **WHEN** 用户在确认对话框中点击取消
- **THEN** 系统应取消删除操作
- **AND** 保留运营商记录
### Requirement: 运营商状态管理
系统 SHALL 提供运营商状态切换功能(启用/禁用)。
#### Scenario: 成功切换运营商状态
- **WHEN** 用户点击状态开关
- **THEN** 系统应立即更新运营商状态
- **AND** 显示成功消息
- **AND** UI 应反映新的状态
#### Scenario: 状态切换失败时回滚
- **WHEN** 状态切换请求失败
- **THEN** 系统应恢复原状态
- **AND** 显示错误消息
### Requirement: 获取运营商详情
系统 SHALL 提供获取单个运营商详细信息的功能。
#### Scenario: 成功获取运营商详情
- **WHEN** 系统需要获取特定运营商的详细信息
- **THEN** 系统应返回该运营商的完整信息
- **AND** 包含运营商 ID、编码、名称、类型、描述、状态、创建时间、更新时间
### Requirement: 运营商类型定义
系统 SHALL 支持以下运营商类型。
#### Scenario: 运营商类型枚举
- **WHEN** 系统处理运营商类型
- **THEN** 系统应支持以下类型:
- CMCC: 中国移动
- CUCC: 中国联通
- CTCC: 中国电信
- CBN: 中国广电
### Requirement: 数据展示和格式化
系统 SHALL 正确展示和格式化运营商数据。
#### Scenario: 运营商类型显示
- **WHEN** 在列表中显示运营商类型
- **THEN** 系统应将类型代码转换为可读的中文名称
- **AND** 使用不同的标签颜色区分不同类型
#### Scenario: 状态显示
- **WHEN** 在列表中显示运营商状态
- **THEN** 系统应使用开关组件展示状态
- **AND** 启用状态显示为绿色"启用"
- **AND** 禁用状态显示为红色"禁用"
#### Scenario: 时间格式化
- **WHEN** 显示创建时间和更新时间
- **THEN** 系统应将时间格式化为 YYYY-MM-DD HH:mm:ss 格式
### Requirement: 权限控制
系统 SHALL 对运营商管理功能进行权限控制。
#### Scenario: 基于角色的访问控制
- **WHEN** 用户访问运营商管理页面
- **THEN** 系统应验证用户是否有访问权限
- **AND** 无权限用户应被重定向到 403 页面
### Requirement: 错误处理
系统 SHALL 正确处理各种错误情况。
#### Scenario: API 请求失败处理
- **WHEN** API 请求失败
- **THEN** 系统应显示友好的错误消息
- **AND** 不应中断用户操作流程
#### Scenario: 网络错误处理
- **WHEN** 发生网络错误
- **THEN** 系统应提示用户检查网络连接
- **AND** 允许用户重试操作