修改说明.md 2.2 KB

订单确认收货功能修改说明

修改时间

2025-12-28

修改内容

前端修改(order.vue)

文件路径: addons/admin/src/views/order/order.vue

1. 按钮文字修改

  • 位置: 表格操作列,已发货订单的操作按钮
  • 修改前: 完成
  • 修改后: 确认收货

2. 确认提示修改

  • 位置: handleComplete()quickComplete() 方法
  • 修改前: 确定要将此订单标记为已完成吗?
  • 修改后: 确定要确认收货吗?

3. 接口调用

  • 接口地址: /order/complete
  • 请求方法: POST
  • 请求参数: { id: 订单ID }

4. 错误处理

前端已支持获取后端返回的 msgerror 字段作为错误提示

后端接口(已存在,无需修改)

文件路径: app/Services/Common/OrderService.php

completeOrder() 方法

  • 功能: 将已发货订单(status=3)标记为已完成(status=4)
  • 业务逻辑:
    1. 验证订单是否存在
    2. 验证订单状态必须为"已发货"(status=3)
    3. 计算商家佣金(订单金额的5%)
    4. 更新订单状态为"已完成"(status=4)
    5. 记录操作日志
    6. 清除缓存

返回格式

  • 成功: ['code' => 0, 'msg' => '订单已完成']
  • 失败: ['code' => 1, 'msg' => '错误信息']

可能的错误信息:

  • 参数错误 - 未传订单ID
  • 订单不存在 - 订单ID无效
  • 订单状态不正确,只有已发货订单可以完成 - 订单状态不是已发货
  • 操作失败 - 数据库更新失败

测试建议

  1. 正常流程测试

    • 创建订单 → 支付 → 发货 → 确认收货
    • 验证按钮文字显示为"确认收货"
    • 验证确认提示文字正确
    • 验证成功后订单状态变为"已完成"
  2. 异常流程测试

    • 对未发货订单点击确认收货,应提示"订单状态不正确"
    • 对已完成订单不应显示确认收货按钮
    • 网络异常时应显示友好的错误提示

注意事项

  1. 前端文件位于 addons/ 目录,该目录在 .gitignore 中,需要手动部署
  2. 修改后需要重新编译前端代码(如果使用了构建工具)
  3. 确认收货操作不可逆,请确保业务流程正确