订单确认收货功能修改说明
修改时间
2025-12-28
修改内容
前端修改(order.vue)
文件路径: addons/admin/src/views/order/order.vue
1. 按钮文字修改
- 位置: 表格操作列,已发货订单的操作按钮
- 修改前:
完成
- 修改后:
确认收货
2. 确认提示修改
- 位置:
handleComplete() 和 quickComplete() 方法
- 修改前:
确定要将此订单标记为已完成吗?
- 修改后:
确定要确认收货吗?
3. 接口调用
- 接口地址:
/order/complete
- 请求方法: POST
- 请求参数:
{ id: 订单ID }
4. 错误处理
前端已支持获取后端返回的 msg 或 error 字段作为错误提示
后端接口(已存在,无需修改)
文件路径: app/Services/Common/OrderService.php
completeOrder() 方法
- 功能: 将已发货订单(status=3)标记为已完成(status=4)
- 业务逻辑:
- 验证订单是否存在
- 验证订单状态必须为"已发货"(status=3)
- 计算商家佣金(订单金额的5%)
- 更新订单状态为"已完成"(status=4)
- 记录操作日志
- 清除缓存
返回格式
- 成功:
['code' => 0, 'msg' => '订单已完成']
- 失败:
['code' => 1, 'msg' => '错误信息']
可能的错误信息:
参数错误 - 未传订单ID
订单不存在 - 订单ID无效
订单状态不正确,只有已发货订单可以完成 - 订单状态不是已发货
操作失败 - 数据库更新失败
测试建议
正常流程测试
- 创建订单 → 支付 → 发货 → 确认收货
- 验证按钮文字显示为"确认收货"
- 验证确认提示文字正确
- 验证成功后订单状态变为"已完成"
异常流程测试
- 对未发货订单点击确认收货,应提示"订单状态不正确"
- 对已完成订单不应显示确认收货按钮
- 网络异常时应显示友好的错误提示
注意事项
- 前端文件位于
addons/ 目录,该目录在 .gitignore 中,需要手动部署
- 修改后需要重新编译前端代码(如果使用了构建工具)
- 确认收货操作不可逆,请确保业务流程正确