苍穹外卖开发日志Day10——用户端及商家端订单管理
苍穹外卖开发日志Day10——用户端及商家端订单管理
-
用户端订单管理模块:
- 查询历史订单
- 查询订单详情
- 取消订单
- 再来一单
-
商家端订单管理模块:
- 订单搜索
- 各个状态的订单数量统计
- 查询订单详情
- 接单
- 拒单
- 取消订单
- 派送订单
- 完成订单
2025.07.27
一、查询历史订单
1.1 查询历史订单——功能开发
- 产品原型:

- 业务规则
- 分页查询历史订单
- 可以根据订单状态查询
- 展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片)
- 接口设计:

1.2 查询历史订单——代码实现
1.2.1 user/OrderController
1 | /** |
1.2.2 OrderService
1 | /** |
1.2.3 OrderServiceImpl
1 | /** |
1.2.4 OrderMapper
1 | /** |
1.2.5 OrderMapper.xml
1 | <select id="pageQuery" resultType="Orders"> |
1.2.6 OrderDetailMapper
1 | /** |
1.3 查询历史订单——功能测试
- 查询历史订单

二、查询订单详情
2.1 查询订单详情——功能开发
- 产品原型:

- 接口设计:参见接口文档

2.2 查询订单详情——代码实现
2.2.1 user/OrderController
1 | /** |
2.2.2 OrderService
1 | /** |
2.2.3 OrderServiceImpl
1 | /** |
2.2.4 OrderMapper
1 | /** |
2.3 查询订单详情——功能测试
- 查询订单详情

三、取消订单
3.1 取消订单——功能开发
- 产品原型:

- 业务规则:
- 待支付和待接单状态下,用户可直接取消订单
- 商家已接单状态下,用户取消订单需电话沟通商家
- 派送中状态下,用户取消订单需电话沟通商家
- 如果在待接单状态下取消订单,需要给用户退款
- 取消订单后需要将订单状态修改为“已取消”
- 接口设计:参见接口文档

3.2 取消订单——代码实现
3.2.1 user/OrderController
1 | /** |
3.2.2 OrderService
1 | /** |
3.2.3 OrderServiceImpl
1 | /** |
3.3 取消订单——功能测试
- 取消订单

四、再来一单
4.1 再来一单——功能开发
- 产品原型:

- 接口设计:参见接口文档

- 业务规则:
- 再来一单就是将原订单中的商品重新加入到购物车中
4.2 再来一单——代码实现
4.2.1 user/OrderController
1 | /** |
4.2.2 OrderService
1 | /** |
4.2.3 OrderServiceImpl
1 | /** |
4.2.4 ShoppingCartMapper
1 | /** |
4.2.5 ShoppingCartMapper.xml
1 | <insert id="insertBatch" parameterType="list"> |
4.3 再来一单——功能测试
- 再来一单

五、订单搜索
5.1 订单搜索——功能开发
- 产品原型:






- 业务规则:
- 输入订单号/手机号进行搜索,支持模糊搜索
- 根据订单状态进行筛选
- 下单时间进行时间筛选
- 搜索内容为空,提示未找到相关订单
- 搜索结果页,展示包含搜索关键词的内容
- 分页展示搜索到的订单数据
- 接口设计:参见接口文档

5.2 订单搜索——代码实现
5.2.1 admin/OrderController
1 | /** |
5.2.2 OrderService
1 | /** |
5.2.3 OrderServiceImpl
1 | /** |
5.3 订单搜索——功能测试
- 订单搜索

六、各个状态的订单数量统计
6.1 各个状态的订单数量统计——功能开发
- 产品原型:

- 接口设计:参见接口文档

6.2 各个状态的订单数量统计——代码实现
6.2.1 admin/OrderController
1 | /** |
6.2.2 OrderService
1 | /** |
6.2.3 OrderServiceImpl
1 | /** |
6.2.4 OrderMapper
1 | /** |
6.3 各个状态的订单数量统计——功能测试
- 各个状态的订单数量统计

七、查询订单详情
7.1 查询订单详情——功能开发
- 产品原型:

- 业务规则:
- 订单详情页面需要展示订单基本信息(状态、订单号、下单时间、收货人、电话、收货地址、金额等)
- 订单详情页面需要展示订单明细数据(商品名称、数量、单价)
- 接口设计:参见接口文档

7.2 查询订单详情——代码实现
7.2.1 admin/OrderController
1 | /** |
7.3 查询订单详情——功能测试
- 查询订单详情

八、接单
8.1 接单——功能开发
- 产品原型:


- 业务规则:
- 商家接单其实就是将订单的状态修改为“已接单”
- 接口设计:参见接口文档

8.2 接单——代码实现
8.2.1 admin/OrderController
1 | /** |
8.2.2 OrderService
1 | /** |
8.2.3 OrderServiceImpl
1 | /** |
8.3 接单——功能测试
- 接单

九、拒单
9.1 拒单——功能开发
- 产品原型:


- 业务规则:
- 商家拒单其实就是将订单状态修改为“已取消”
- 只有订单处于“待接单”状态时可以执行拒单操作
- 商家拒单时需要指定拒单原因
- 商家拒单时,如果用户已经完成了支付,需要为用户退款
- 接口设计:参见接口文档

9.2 拒单——代码实现
9.2.1 admin/OrderController
1 | /** |
9.2.2 OrderService
1 | /** |
9.2.3 OrderServiceImpl
1 | /** |
9.3 拒单——功能测试
- 拒单


十、取消订单
10.1 取消订单——功能开发
- 产品原型:

- 业务规则:
- 取消订单其实就是将订单状态修改为“已取消”
- 商家取消订单时需要指定取消原因
- 商家取消订单时,如果用户已经完成了支付,需要为用户退款
- 接口设计

10.2 取消订单——代码实现
10.2.1 admin/OrderController
1 | /** |
10.2.2 OrderService
1 | /** |
10.2.3 OrderServiceImpl
1 | /** |
10.3 取消订单——功能测试
- 取消订单


十一、派送订单
11.1 派送订单——功能开发
- 产品原型:

- 业务规则:
- 派送订单其实就是将订单状态修改为“派送中”
- 只有状态为“待派送”的订单可以执行派送订单操作
- 接口设计:参见接口文档

11.2 派送订单——代码实现
11.2.1 admin/OrderController
1 | /** |
11.2.2 OrderService
1 | /** |
11.2.3 OrderServiceImpl
1 | /** |
11.3 派送订单——功能测试
- 派送订单

十二、完成订单
12.1 完成订单——功能开发
- 产品原型:

- 业务规则:
- 完成订单其实就是将订单状态修改为“已完成”
- 只有状态为“派送中”的订单可以执行完成订单操作
- 接口设计:参见接口文档

12.2 完成订单——代码实现
12.2.1 admin/OrderController
1 | /** |
12.2.2 OrderService
1 | /** |
12.2.3 OrderServiceImpl
1 | /** |
12.3 完成订单——功能测试
- 完成订单


