罗永浩 3 mesiacov pred
rodič
commit
ce90ca6869
2 zmenil súbory, kde vykonal 9 pridanie a 83 odobranie
  1. 9 14
      app/Services/Common/OrderService.php
  2. 0 69
      修改说明.md

+ 9 - 14
app/Services/Common/OrderService.php

@@ -707,7 +707,7 @@ class OrderService extends BaseService
     }
 
     /**
-     * 订单完成
+     * 订单完成(管理后台)
      */
     public function completeOrder()
     {
@@ -726,25 +726,20 @@ class OrderService extends BaseService
             return ['code' => 1, 'msg' => '订单状态不正确,只有已发货订单可以完成'];
         }
 
-        // 计算商家佣金
-        $bonus = round($order->pay_total * 0.05, 2);
-
-        $updateData = [
-            'status' => 4, // 已完成
-            'bonus' => $bonus,
-            'update_time' => time()
-        ];
-
-        $result = $this->model->where('id', $id)->update($updateData);
-
+        // 调用用户端的订单完成方法,触发收益结算等业务逻辑
+        $apiOrderService = \App\Services\Api\OrderService::make();
+        $result = $apiOrderService->complete($order->user_id, $id);
+        
         if ($result) {
             ActionLogModel::setTitle("订单完成");
             ActionLogModel::record();
             RedisService::keyDel("caches:orders:*");
-            return ['code' => 0, 'msg' => '订单已完成'];
+            return ['code' => 0, 'msg' => '确认收货成功'];
         }
 
-        return ['code' => 1, 'msg' => '操作失败'];
+        // 获取错误信息
+        $error = $apiOrderService->getError();
+        return ['code' => 1, 'msg' => $error ?: '操作失败', 'error' => $error];
     }
 
     /**

+ 0 - 69
修改说明.md

@@ -1,69 +0,0 @@
-# 订单确认收货功能修改说明
-
-## 修改时间
-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)
-- **业务逻辑**:
-  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. 确认收货操作不可逆,请确保业务流程正确