140 lines
8.8 KiB
Markdown
140 lines
8.8 KiB
Markdown
# Requirements Document
|
||
|
||
## Introduction
|
||
|
||
本文档定义了订单管理模块前端迁移的需求规范。该模块将从老项目(PHP ThinkPHP + Layui)迁移到新项目(ASP.NET Core + Vue 3 + Element Plus)。订单管理模块是后台管理系统的核心业务模块之一,包含购买订单、发货订单、回收订单、卡单订单等多种订单类型的管理功能。
|
||
|
||
## Glossary
|
||
|
||
- **Order_System**: 订单管理系统,负责处理所有订单相关的业务逻辑
|
||
- **Buy_Order**: 购买订单,用户购买抽奖的订单记录
|
||
- **Shipping_Order**: 发货订单,用户申请发货的订单
|
||
- **Recovery_Order**: 回收订单,用户回收奖品的订单
|
||
- **Stuck_Order**: 卡单订单,支付成功但未发奖的异常订单
|
||
- **Order_List_Page**: 订单列表页面,展示订单数据的主页面
|
||
- **Order_Detail_Dialog**: 订单详情弹窗,展示订单详细信息
|
||
- **Shipping_Dialog**: 发货弹窗,填写物流信息进行发货
|
||
- **Search_Form**: 搜索表单组件,提供订单筛选功能
|
||
- **Order_Table**: 订单表格组件,展示订单列表数据
|
||
- **API_Module**: 前端API模块,封装后端接口调用
|
||
|
||
## Requirements
|
||
|
||
### Requirement 1: 购买订单列表
|
||
|
||
**User Story:** As a 运营人员, I want to 查看用户购买抽奖的订单记录, so that I can 了解用户消费情况和订单状态。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员访问购买订单页面 THEN THE Order_System SHALL 显示购买订单列表,包含用户信息、订单号、盒子信息、金额详情、时间等字段
|
||
2. WHEN 运营人员输入搜索条件(用户ID/UID、手机号、订单号、时间范围) THEN THE Order_System SHALL 根据条件筛选并返回匹配的订单列表
|
||
3. WHEN 订单列表数据量较大 THEN THE Order_System SHALL 支持分页展示,每页显示可配置数量的记录
|
||
4. WHEN 运营人员点击订单详情按钮 THEN THE Order_System SHALL 打开订单详情弹窗,显示订单中奖奖品明细
|
||
5. WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的订单数据为CSV文件
|
||
|
||
### Requirement 2: 购买订单详情
|
||
|
||
**User Story:** As a 运营人员, I want to 查看订单的中奖奖品明细, so that I can 了解用户抽奖结果。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员打开订单详情弹窗 THEN THE Order_System SHALL 显示订单基本信息(订单号、用户信息、盒子信息、支付金额)
|
||
2. WHEN 订单包含多个奖品 THEN THE Order_System SHALL 按奖品类型分组展示,显示奖品图片、名称、价值、兑换价值、数量
|
||
3. WHEN 奖品有不同状态(待处理/已回收/已发货) THEN THE Order_System SHALL 用不同颜色或标签区分显示
|
||
|
||
### Requirement 3: 卡单订单列表
|
||
|
||
**User Story:** As a 运营人员, I want to 查看支付成功但未发奖的订单, so that I can 及时处理异常订单。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员访问卡单订单页面 THEN THE Order_System SHALL 显示所有卡单订单列表
|
||
2. WHEN 运营人员输入搜索条件 THEN THE Order_System SHALL 根据条件筛选卡单订单
|
||
3. WHEN 卡单订单列表为空 THEN THE Order_System SHALL 显示空状态提示
|
||
|
||
### Requirement 4: 发货订单列表
|
||
|
||
**User Story:** As a 运营人员, I want to 管理用户申请发货的订单, so that I can 处理发货流程。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员访问发货订单页面 THEN THE Order_System SHALL 显示发货订单列表,包含用户信息、订单号、发货数量、总价格、运费、收货信息、订单状态、申请时间、备注
|
||
2. WHEN 运营人员输入搜索条件(用户ID/UID、手机号、订单号、状态、申请时间范围) THEN THE Order_System SHALL 根据条件筛选发货订单
|
||
3. WHEN 发货订单列表加载完成 THEN THE Order_System SHALL 显示统计信息(数据条数、全部价值、本页总发货价值)
|
||
4. WHEN 运营人员点击查看详情按钮 THEN THE Order_System SHALL 打开发货订单详情弹窗
|
||
5. WHEN 运营人员点击取消发货按钮 THEN THE Order_System SHALL 弹出确认对话框,确认后取消发货订单
|
||
6. WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的发货订单数据
|
||
|
||
### Requirement 5: 发货订单详情与发货操作
|
||
|
||
**User Story:** As a 运营人员, I want to 查看发货订单详情并进行发货操作, so that I can 完成发货流程。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员打开发货订单详情弹窗 THEN THE Order_System SHALL 显示订单信息(订单号、收件人、收货手机号、收货地址、订单状态、下单时间)
|
||
2. WHEN 发货订单包含多个奖品 THEN THE Order_System SHALL 显示奖品列表,包含奖品图片、名称、价值、兑换价值、数量、发货备注、发货状态
|
||
3. WHEN 运营人员点击发货按钮 THEN THE Order_System SHALL 打开发货弹窗,要求填写物流公司和快递单号
|
||
4. WHEN 运营人员提交发货信息 THEN THE Order_System SHALL 验证物流公司和快递单号不为空,验证通过后更新发货状态
|
||
5. WHEN 发货成功 THEN THE Order_System SHALL 刷新订单详情,显示物流信息(快递名称、快递单号、发货时间)
|
||
6. IF 发货信息验证失败 THEN THE Order_System SHALL 显示错误提示,不关闭弹窗
|
||
|
||
### Requirement 6: 回收订单列表
|
||
|
||
**User Story:** As a 运营人员, I want to 查看用户回收奖品的订单, so that I can 了解回收情况。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员访问回收订单页面 THEN THE Order_System SHALL 显示回收订单列表,包含用户信息、兑换金额、兑换数量、兑换时间
|
||
2. WHEN 运营人员输入搜索条件(用户ID/UID、手机号、时间范围) THEN THE Order_System SHALL 根据条件筛选回收订单
|
||
3. WHEN 运营人员点击详情按钮 THEN THE Order_System SHALL 打开回收订单详情弹窗,显示回收的奖品明细
|
||
4. WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的回收订单数据
|
||
|
||
### Requirement 7: 综合订单列表
|
||
|
||
**User Story:** As a 运营人员, I want to 使用更多筛选条件查询订单, so that I can 进行更精细的订单分析。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 运营人员访问综合订单页面 THEN THE Order_System SHALL 显示综合订单列表,包含订单号、用户信息、盒子详情、金额详情、抽奖情况、支付信息
|
||
2. WHEN 运营人员输入搜索条件(用户ID、手机号、订单号、支付状态、账号类型、账号状态、时间范围) THEN THE Order_System SHALL 根据条件筛选订单
|
||
3. WHEN 运营人员点击详情按钮 THEN THE Order_System SHALL 打开订单详情弹窗
|
||
4. WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的订单数据
|
||
|
||
### Requirement 8: 前端API模块
|
||
|
||
**User Story:** As a 开发人员, I want to 有统一的API调用模块, so that I can 方便地与后端接口交互。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. THE API_Module SHALL 定义所有订单相关的TypeScript接口类型
|
||
2. THE API_Module SHALL 实现购买订单列表查询、详情查询、导出功能的API调用
|
||
3. THE API_Module SHALL 实现发货订单列表查询、详情查询、发货操作、取消发货的API调用
|
||
4. THE API_Module SHALL 实现回收订单列表查询、详情查询的API调用
|
||
5. THE API_Module SHALL 实现卡单订单列表查询的API调用
|
||
6. THE API_Module SHALL 实现综合订单列表查询的API调用
|
||
7. WHEN API调用失败 THEN THE API_Module SHALL 返回统一格式的错误信息
|
||
|
||
### Requirement 9: 路由和权限配置
|
||
|
||
**User Story:** As a 开发人员, I want to 配置订单管理模块的路由和权限, so that I can 控制页面访问。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. THE Order_System SHALL 配置购买订单页面路由 `/business/order/buy`
|
||
2. THE Order_System SHALL 配置发货订单页面路由 `/business/order/shipping`
|
||
3. THE Order_System SHALL 配置回收订单页面路由 `/business/order/recovery`
|
||
4. THE Order_System SHALL 配置卡单订单页面路由 `/business/order/stuck`
|
||
5. THE Order_System SHALL 配置综合订单页面路由 `/business/order/list`
|
||
6. THE Order_System SHALL 为每个页面配置对应的权限标识(order:list, order:ship, order:export)
|
||
|
||
### Requirement 10: 后端API补充(如需要)
|
||
|
||
**User Story:** As a 开发人员, I want to 确保后端API完整, so that I can 支持前端所有功能。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 前端需要按手机号搜索订单 THEN THE Order_System SHALL 支持手机号筛选参数
|
||
2. WHEN 前端需要发货订单统计信息 THEN THE Order_System SHALL 返回统计数据(总条数、总价值)
|
||
3. WHEN 前端需要导出发货订单 THEN THE Order_System SHALL 提供发货订单导出API
|
||
4. WHEN 前端需要导出回收订单 THEN THE Order_System SHALL 提供回收订单导出API
|