299 lines
12 KiB
Markdown
299 lines
12 KiB
Markdown
# Implementation Plan: 订单管理模块前端迁移
|
||
|
||
## Overview
|
||
|
||
本实现计划将订单管理模块从老项目(PHP ThinkPHP + Layui)迁移到新项目(ASP.NET Core + Vue 3 + Element Plus)。实现分为后端API补充和前端页面开发两个主要部分。
|
||
|
||
## 任务概览
|
||
|
||
| 阶段 | 任务数 | 预计工时 |
|
||
|------|--------|----------|
|
||
| 1. 后端API补充 | 4 | 2h |
|
||
| 2. Checkpoint - 后端API验证 | 1 | 0.5h |
|
||
| 3. 前端API层开发 | 2 | 2h |
|
||
| 4. 前端购买订单页面 | 4 | 4h |
|
||
| 5. 前端发货订单页面 | 5 | 6h |
|
||
| 6. 前端回收订单页面 | 3 | 3h |
|
||
| 7. 前端卡单订单页面 | 2 | 2h |
|
||
| 8. Checkpoint - 订单页面验证 | 1 | 0.5h |
|
||
| 9. 前端综合订单页面 | 3 | 3h |
|
||
| 10. 路由和权限配置 | 1 | 1h |
|
||
| 11. Checkpoint - 完整功能验证 | 1 | 0.5h |
|
||
| 12. 属性测试 | 5 | 2h |
|
||
| 13. Final Checkpoint | 1 | 0.5h |
|
||
| **总计** | **33** | **27h** |
|
||
|
||
---
|
||
|
||
## Tasks
|
||
|
||
- [x] 1. 后端API补充
|
||
- [x] 1.1 添加发货订单导出API
|
||
- 在 `OrderController.cs` 添加 `GET /shipping/export` 导出发货订单
|
||
- 在 `IOrderService.cs` 添加 `ExportShippingOrdersAsync` 方法
|
||
- 在 `OrderService.cs` 实现导出逻辑
|
||
- _Requirements: 10.3_
|
||
|
||
- [x] 1.2 添加回收订单导出API
|
||
- 在 `OrderController.cs` 添加 `GET /recovery/export` 导出回收订单
|
||
- 在 `IOrderService.cs` 添加 `ExportRecoveryOrdersAsync` 方法
|
||
- 在 `OrderService.cs` 实现导出逻辑
|
||
- _Requirements: 10.4_
|
||
|
||
- [x] 1.3 添加发货订单统计API
|
||
- 在 `ShippingOrderResponse` 添加统计字段或创建新的统计响应类
|
||
- 在 `OrderController.cs` 添加 `GET /shipping/stats` 获取统计信息
|
||
- 在 `OrderService.cs` 实现统计逻辑(总条数、总价值)
|
||
- _Requirements: 10.2_
|
||
|
||
- [x] 1.4 扩展订单列表请求支持手机号搜索
|
||
- 在 `OrderService.cs` 的 `ApplyOrderFilters` 方法中添加手机号过滤逻辑
|
||
- 在 `ApplyShippingFilters` 方法中添加手机号过滤逻辑
|
||
- _Requirements: 10.1_
|
||
|
||
- [x] 2. Checkpoint - 后端API验证
|
||
- 确保所有新增API编译通过
|
||
- 使用Swagger测试API基本功能
|
||
- 确保权限验证正常工作
|
||
|
||
- [x] 3. 前端API层开发
|
||
- [x] 3.1 创建订单管理API模块
|
||
- 创建 `src/api/business/order.ts`
|
||
- 定义所有TypeScript接口(OrderListRequest, OrderListResponse, ShippingOrderResponse等)
|
||
- 实现购买订单列表查询API调用 `getOrderList`
|
||
- 实现订单详情查询API调用 `getOrderDetail`
|
||
- 实现订单导出API调用 `exportOrders`
|
||
- _Requirements: 8.1, 8.2_
|
||
|
||
- [x] 3.2 实现发货和回收订单API调用
|
||
- 实现发货订单列表查询API调用 `getShippingOrders`
|
||
- 实现发货订单详情查询API调用 `getShippingOrderDetail`
|
||
- 实现发货操作API调用 `shipOrder`
|
||
- 实现取消发货API调用 `cancelShippingOrder`
|
||
- 实现发货订单导出API调用 `exportShippingOrders`
|
||
- 实现发货订单统计API调用 `getShippingStats`
|
||
- 实现回收订单列表查询API调用 `getRecoveryOrders`
|
||
- 实现回收订单导出API调用 `exportRecoveryOrders`
|
||
- 实现卡单订单列表查询API调用 `getStuckOrders`
|
||
- _Requirements: 8.3, 8.4, 8.5_
|
||
|
||
- [x] 4. 前端购买订单页面开发
|
||
- [x] 4.1 创建购买订单列表主页面
|
||
- 创建 `src/views/business/order/buy.vue`
|
||
- 实现页面布局(搜索区 + 表格区)
|
||
- 集成搜索表单和表格组件
|
||
- 实现分页逻辑
|
||
- _Requirements: 1.1, 1.3_
|
||
|
||
- [x] 4.2 创建订单搜索表单组件
|
||
- 创建 `src/views/business/order/components/OrderSearchForm.vue`
|
||
- 实现用户ID/UID输入框
|
||
- 实现手机号输入框
|
||
- 实现订单号输入框
|
||
- 实现时间范围选择器
|
||
- 实现搜索和重置按钮
|
||
- _Requirements: 1.2_
|
||
|
||
- [x] 4.3 创建订单表格组件
|
||
- 创建 `src/views/business/order/components/BuyOrderTable.vue`
|
||
- 实现表格列配置(用户信息、订单号、盒子信息、金额详情、时间)
|
||
- 实现图片预览功能
|
||
- 实现操作按钮(查看详情、导出)
|
||
- _Requirements: 1.1, 1.4, 1.5_
|
||
|
||
- [x] 4.4 创建订单详情弹窗
|
||
- 创建 `src/views/business/order/components/OrderDetailDialog.vue`
|
||
- 实现订单基本信息展示
|
||
- 实现奖品列表展示(按类型分组)
|
||
- 实现奖品状态颜色区分
|
||
- _Requirements: 2.1, 2.2, 2.3_
|
||
|
||
- [x] 5. 前端发货订单页面开发
|
||
- [x] 5.1 创建发货订单列表主页面
|
||
- 创建 `src/views/business/order/shipping.vue`
|
||
- 实现页面布局(搜索区 + 统计区 + 表格区)
|
||
- 集成搜索表单和表格组件
|
||
- 实现统计信息展示(总条数、总价值)
|
||
- 实现分页逻辑
|
||
- _Requirements: 4.1, 4.3_
|
||
|
||
- [x] 5.2 创建发货订单搜索表单组件
|
||
- 创建 `src/views/business/order/components/ShippingSearchForm.vue`
|
||
- 实现用户ID/UID输入框
|
||
- 实现手机号输入框
|
||
- 实现发货单号输入框
|
||
- 实现状态下拉选择(待发货/已发货/已签收/已取消)
|
||
- 实现时间范围选择器
|
||
- 实现搜索和重置按钮
|
||
- _Requirements: 4.2_
|
||
|
||
- [x] 5.3 创建发货订单表格组件
|
||
- 创建 `src/views/business/order/components/ShippingOrderTable.vue`
|
||
- 实现表格列配置(用户信息、订单号、发货数量、总价格、运费、收货信息、状态、时间、备注)
|
||
- 实现状态标签颜色区分
|
||
- 实现操作按钮(查看详情、取消发货、导出)
|
||
- _Requirements: 4.1, 4.4, 4.5, 4.6_
|
||
|
||
- [x] 5.4 创建发货订单详情弹窗
|
||
- 创建 `src/views/business/order/components/ShippingDetailDialog.vue`
|
||
- 实现订单信息展示(订单号、收件人、地址、状态、时间)
|
||
- 实现奖品列表展示
|
||
- 实现物流信息展示(已发货时显示)
|
||
- 实现发货按钮(待发货状态显示)
|
||
- _Requirements: 5.1, 5.2, 5.5_
|
||
|
||
- [x] 5.5 创建发货操作弹窗
|
||
- 创建 `src/views/business/order/components/ShipDialog.vue`
|
||
- 实现物流公司下拉选择
|
||
- 实现快递单号输入框
|
||
- 实现表单验证(物流公司和快递单号必填)
|
||
- 实现提交逻辑
|
||
- _Requirements: 5.3, 5.4, 5.6_
|
||
|
||
- [x] 6. 前端回收订单页面开发
|
||
- [x] 6.1 创建回收订单列表主页面
|
||
- 创建 `src/views/business/order/recovery.vue`
|
||
- 实现页面布局(搜索区 + 表格区)
|
||
- 集成搜索表单和表格组件
|
||
- 实现分页逻辑
|
||
- _Requirements: 6.1_
|
||
|
||
- [x] 6.2 创建回收订单表格组件
|
||
- 创建 `src/views/business/order/components/RecoveryOrderTable.vue`
|
||
- 实现表格列配置(用户信息、兑换金额、兑换数量、兑换时间)
|
||
- 实现操作按钮(查看详情、导出)
|
||
- _Requirements: 6.1, 6.2, 6.4_
|
||
|
||
- [x] 6.3 创建回收订单详情弹窗
|
||
- 创建 `src/views/business/order/components/RecoveryDetailDialog.vue`
|
||
- 实现回收订单基本信息展示
|
||
- 实现回收奖品列表展示
|
||
- _Requirements: 6.3_
|
||
|
||
- [x] 7. 前端卡单订单页面开发
|
||
- [x] 7.1 创建卡单订单列表主页面
|
||
- 创建 `src/views/business/order/stuck.vue`
|
||
- 实现页面布局(搜索区 + 表格区)
|
||
- 集成搜索表单和表格组件
|
||
- 实现分页逻辑
|
||
- 实现空状态提示
|
||
- _Requirements: 3.1, 3.3_
|
||
|
||
- [x] 7.2 创建卡单订单表格组件
|
||
- 创建 `src/views/business/order/components/StuckOrderTable.vue`
|
||
- 复用购买订单表格结构
|
||
- 实现操作按钮(查看详情)
|
||
- _Requirements: 3.1, 3.2_
|
||
|
||
- [x] 8. Checkpoint - 订单页面验证
|
||
- 确保购买订单页面正常显示
|
||
- 确保发货订单页面正常显示
|
||
- 确保回收订单页面正常显示
|
||
- 确保卡单订单页面正常显示
|
||
- 测试搜索和分页功能
|
||
- 测试各个弹窗的打开和关闭
|
||
- 测试发货操作功能
|
||
|
||
- [x] 9. 前端综合订单页面开发
|
||
- [x] 9.1 创建综合订单列表主页面
|
||
- 创建 `src/views/business/order/list.vue`
|
||
- 实现页面布局(搜索区 + 表格区)
|
||
- 集成搜索表单和表格组件
|
||
- 实现分页逻辑
|
||
- _Requirements: 7.1_
|
||
|
||
- [x] 9.2 创建综合订单搜索表单组件
|
||
- 创建 `src/views/business/order/components/OrderListSearchForm.vue`
|
||
- 实现用户ID输入框
|
||
- 实现手机号输入框
|
||
- 实现订单号输入框
|
||
- 实现支付状态下拉选择
|
||
- 实现账号类型下拉选择(正常/推广/测试)
|
||
- 实现账号状态下拉选择(正常/封号)
|
||
- 实现时间范围选择器
|
||
- 实现搜索和重置按钮
|
||
- _Requirements: 7.2_
|
||
|
||
- [x] 9.3 创建综合订单表格组件
|
||
- 创建 `src/views/business/order/components/OrderListTable.vue`
|
||
- 实现表格列配置(订单号、用户信息、盒子详情、金额详情、抽奖情况、支付信息)
|
||
- 实现操作按钮(查看详情、导出)
|
||
- _Requirements: 7.1, 7.3, 7.4_
|
||
|
||
- [x] 10. 路由和权限配置
|
||
- [x] 10.1 配置路由和权限
|
||
- 在 `src/router/modules/business.ts` 添加订单管理路由配置
|
||
- 配置购买订单路由 `/business/order/buy`
|
||
- 配置发货订单路由 `/business/order/shipping`
|
||
- 配置回收订单路由 `/business/order/recovery`
|
||
- 配置卡单订单路由 `/business/order/stuck`
|
||
- 配置综合订单路由 `/business/order/list`
|
||
- 配置权限标识 `order:list`, `order:ship`, `order:export`
|
||
- _Requirements: 9.1, 9.2, 9.3, 9.4, 9.5, 9.6_
|
||
|
||
- [x] 11. Checkpoint - 完整功能验证
|
||
- 确保所有页面正常访问
|
||
- 测试完整的订单管理流程
|
||
- 验证权限控制正常工作
|
||
|
||
- [x] 12. 属性测试
|
||
- [x] 12.1 编写搜索参数传递属性测试
|
||
- **Property 1: 搜索参数正确传递**
|
||
- **Validates: Requirements 1.2, 3.2, 4.2, 6.2, 7.2**
|
||
|
||
- [x] 12.2 编写分页参数传递属性测试
|
||
- **Property 2: 分页参数正确传递**
|
||
- **Validates: Requirements 1.3**
|
||
|
||
- [x] 12.3 编写发货信息验证属性测试
|
||
- **Property 3: 发货信息验证**
|
||
- **Validates: Requirements 5.4**
|
||
|
||
- [x] 12.4 编写API响应格式一致性属性测试
|
||
- **Property 4: API响应格式一致性**
|
||
- **Validates: Requirements 8.2, 8.3, 8.4, 8.5, 8.6**
|
||
|
||
- [x] 12.5 编写错误响应格式一致性属性测试
|
||
- **Property 5: 错误响应格式一致性**
|
||
- **Validates: Requirements 8.7**
|
||
|
||
- [x] 13. Final Checkpoint - 最终验证
|
||
- 确保所有测试通过
|
||
- 确保所有功能正常工作
|
||
- 如有问题,询问用户
|
||
|
||
---
|
||
|
||
## 验收检查清单
|
||
|
||
### 功能验收
|
||
- [x] 购买订单列表正常显示,支持搜索、分页
|
||
- [x] 购买订单详情弹窗正常显示奖品明细
|
||
- [x] 发货订单列表正常显示,支持搜索、分页
|
||
- [x] 发货订单详情弹窗正常显示,支持发货操作
|
||
- [x] 发货操作弹窗表单验证正常
|
||
- [x] 取消发货功能正常(有二次确认)
|
||
- [x] 回收订单列表正常显示,支持搜索、分页
|
||
- [ ] 回收订单详情弹窗正常显示
|
||
- [ ] 卡单订单列表正常显示,支持搜索、分页
|
||
- [ ] 综合订单列表正常显示,支持多条件搜索
|
||
- [ ] 订单导出功能正常
|
||
- [ ] 发货订单导出功能正常
|
||
- [ ] 回收订单导出功能正常
|
||
|
||
### 非功能验收
|
||
- [ ] 分页加载性能正常
|
||
- [ ] 图片懒加载生效
|
||
- [ ] 表单验证实时反馈
|
||
- [ ] 操作提示正确显示
|
||
- [ ] 危险操作有二次确认
|
||
- [ ] 属性测试全部通过
|
||
|
||
## Notes
|
||
|
||
- 每个Checkpoint确保增量验证
|
||
- 后端API需要先完成才能进行前端开发
|
||
- 属性测试验证通用正确性属性
|
||
- 发货操作是核心功能,需要仔细测试
|
||
- 所有任务均为必需任务,确保全面测试覆盖
|