8.8 KiB
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
- WHEN 运营人员访问购买订单页面 THEN THE Order_System SHALL 显示购买订单列表,包含用户信息、订单号、盒子信息、金额详情、时间等字段
- WHEN 运营人员输入搜索条件(用户ID/UID、手机号、订单号、时间范围) THEN THE Order_System SHALL 根据条件筛选并返回匹配的订单列表
- WHEN 订单列表数据量较大 THEN THE Order_System SHALL 支持分页展示,每页显示可配置数量的记录
- WHEN 运营人员点击订单详情按钮 THEN THE Order_System SHALL 打开订单详情弹窗,显示订单中奖奖品明细
- WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的订单数据为CSV文件
Requirement 2: 购买订单详情
User Story: As a 运营人员, I want to 查看订单的中奖奖品明细, so that I can 了解用户抽奖结果。
Acceptance Criteria
- WHEN 运营人员打开订单详情弹窗 THEN THE Order_System SHALL 显示订单基本信息(订单号、用户信息、盒子信息、支付金额)
- WHEN 订单包含多个奖品 THEN THE Order_System SHALL 按奖品类型分组展示,显示奖品图片、名称、价值、兑换价值、数量
- WHEN 奖品有不同状态(待处理/已回收/已发货) THEN THE Order_System SHALL 用不同颜色或标签区分显示
Requirement 3: 卡单订单列表
User Story: As a 运营人员, I want to 查看支付成功但未发奖的订单, so that I can 及时处理异常订单。
Acceptance Criteria
- WHEN 运营人员访问卡单订单页面 THEN THE Order_System SHALL 显示所有卡单订单列表
- WHEN 运营人员输入搜索条件 THEN THE Order_System SHALL 根据条件筛选卡单订单
- WHEN 卡单订单列表为空 THEN THE Order_System SHALL 显示空状态提示
Requirement 4: 发货订单列表
User Story: As a 运营人员, I want to 管理用户申请发货的订单, so that I can 处理发货流程。
Acceptance Criteria
- WHEN 运营人员访问发货订单页面 THEN THE Order_System SHALL 显示发货订单列表,包含用户信息、订单号、发货数量、总价格、运费、收货信息、订单状态、申请时间、备注
- WHEN 运营人员输入搜索条件(用户ID/UID、手机号、订单号、状态、申请时间范围) THEN THE Order_System SHALL 根据条件筛选发货订单
- WHEN 发货订单列表加载完成 THEN THE Order_System SHALL 显示统计信息(数据条数、全部价值、本页总发货价值)
- WHEN 运营人员点击查看详情按钮 THEN THE Order_System SHALL 打开发货订单详情弹窗
- WHEN 运营人员点击取消发货按钮 THEN THE Order_System SHALL 弹出确认对话框,确认后取消发货订单
- WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的发货订单数据
Requirement 5: 发货订单详情与发货操作
User Story: As a 运营人员, I want to 查看发货订单详情并进行发货操作, so that I can 完成发货流程。
Acceptance Criteria
- WHEN 运营人员打开发货订单详情弹窗 THEN THE Order_System SHALL 显示订单信息(订单号、收件人、收货手机号、收货地址、订单状态、下单时间)
- WHEN 发货订单包含多个奖品 THEN THE Order_System SHALL 显示奖品列表,包含奖品图片、名称、价值、兑换价值、数量、发货备注、发货状态
- WHEN 运营人员点击发货按钮 THEN THE Order_System SHALL 打开发货弹窗,要求填写物流公司和快递单号
- WHEN 运营人员提交发货信息 THEN THE Order_System SHALL 验证物流公司和快递单号不为空,验证通过后更新发货状态
- WHEN 发货成功 THEN THE Order_System SHALL 刷新订单详情,显示物流信息(快递名称、快递单号、发货时间)
- IF 发货信息验证失败 THEN THE Order_System SHALL 显示错误提示,不关闭弹窗
Requirement 6: 回收订单列表
User Story: As a 运营人员, I want to 查看用户回收奖品的订单, so that I can 了解回收情况。
Acceptance Criteria
- WHEN 运营人员访问回收订单页面 THEN THE Order_System SHALL 显示回收订单列表,包含用户信息、兑换金额、兑换数量、兑换时间
- WHEN 运营人员输入搜索条件(用户ID/UID、手机号、时间范围) THEN THE Order_System SHALL 根据条件筛选回收订单
- WHEN 运营人员点击详情按钮 THEN THE Order_System SHALL 打开回收订单详情弹窗,显示回收的奖品明细
- WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的回收订单数据
Requirement 7: 综合订单列表
User Story: As a 运营人员, I want to 使用更多筛选条件查询订单, so that I can 进行更精细的订单分析。
Acceptance Criteria
- WHEN 运营人员访问综合订单页面 THEN THE Order_System SHALL 显示综合订单列表,包含订单号、用户信息、盒子详情、金额详情、抽奖情况、支付信息
- WHEN 运营人员输入搜索条件(用户ID、手机号、订单号、支付状态、账号类型、账号状态、时间范围) THEN THE Order_System SHALL 根据条件筛选订单
- WHEN 运营人员点击详情按钮 THEN THE Order_System SHALL 打开订单详情弹窗
- WHEN 运营人员点击导出按钮 THEN THE Order_System SHALL 导出当前筛选条件下的订单数据
Requirement 8: 前端API模块
User Story: As a 开发人员, I want to 有统一的API调用模块, so that I can 方便地与后端接口交互。
Acceptance Criteria
- THE API_Module SHALL 定义所有订单相关的TypeScript接口类型
- THE API_Module SHALL 实现购买订单列表查询、详情查询、导出功能的API调用
- THE API_Module SHALL 实现发货订单列表查询、详情查询、发货操作、取消发货的API调用
- THE API_Module SHALL 实现回收订单列表查询、详情查询的API调用
- THE API_Module SHALL 实现卡单订单列表查询的API调用
- THE API_Module SHALL 实现综合订单列表查询的API调用
- WHEN API调用失败 THEN THE API_Module SHALL 返回统一格式的错误信息
Requirement 9: 路由和权限配置
User Story: As a 开发人员, I want to 配置订单管理模块的路由和权限, so that I can 控制页面访问。
Acceptance Criteria
- THE Order_System SHALL 配置购买订单页面路由
/business/order/buy - THE Order_System SHALL 配置发货订单页面路由
/business/order/shipping - THE Order_System SHALL 配置回收订单页面路由
/business/order/recovery - THE Order_System SHALL 配置卡单订单页面路由
/business/order/stuck - THE Order_System SHALL 配置综合订单页面路由
/business/order/list - 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
- WHEN 前端需要按手机号搜索订单 THEN THE Order_System SHALL 支持手机号筛选参数
- WHEN 前端需要发货订单统计信息 THEN THE Order_System SHALL 返回统计数据(总条数、总价值)
- WHEN 前端需要导出发货订单 THEN THE Order_System SHALL 提供发货订单导出API
- WHEN 前端需要导出回收订单 THEN THE Order_System SHALL 提供回收订单导出API