diff --git a/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php b/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php index 22389359..dfa55a76 100644 --- a/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php +++ b/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php @@ -226,4 +226,36 @@ class OrderController extends Controller } return response()->noContent(); } + + /** + * 放弃接单/转让订单 + * + * @param [type] $id + * @param Request $request + * @param OrderService $orderService + * @return void + */ + public function transferOrder($id, Request $request, OrderService $orderService) + { + $order = DealerOrder::findOrFail($id); + $userId = $request->user()->id; + //不是发货人 + if (!$order->isConsignor($userId)) { + throw new BizException('订单未找到'); + } + if (!$order->isPending()) { + throw new BizException('订单状态异常,请刷新后再试'); + } + try { + DB::beginTransaction(); + $orderService->updateOrderConsignor($order); + DB::commit(); + } catch (Throwable $th) { + DB::rollBack(); + report($th); + throw new BizException('操作失败,请刷新后再试'); + } + + return response()->noContent(); + } } diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index b8754df0..71fc3e6a 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -254,6 +254,8 @@ Route::group([ Route::post('orders/{order}/shippinged', [Dealer\OrderController::class, 'shippingedOrder']); //取消订单 Route::post('orders/{order}/cancel', [Dealer\OrderController::class, 'cancelOrder']); + //发货人转让订单 + Route::post('orders/{order}/transfer', [Dealer\OrderController::class, 'transferOrder']); //资金列表 Route::get('earnings', [Dealer\EarningController::class, 'index']);