From 123e989907027b17d589dc46572d157e3d177b59 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Mon, 14 Feb 2022 16:31:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=89=B9=E9=9B=B6=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E4=B8=8B=E5=8D=95=E6=B8=85=E9=99=A4=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Dealer/OrderController.php | 31 +++++++++++++++++++ app/Endpoint/Api/routes.php | 1 + app/Services/Dealer/OrderService.php | 3 ++ 3 files changed, 35 insertions(+) diff --git a/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php b/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php index a23af247..86bffd74 100644 --- a/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php +++ b/app/Endpoint/Api/Http/Controllers/Dealer/OrderController.php @@ -72,6 +72,37 @@ class OrderController extends Controller return OrderResource::make($order); } + /** + * 确认订单 + * + * @param Request $request + * @param OrderService $orderService + */ + public function checkOrder(Request $request, OrderService $orderService) + { + $input = $request->validate([ + 'shopping_cart' => ['bail', 'required', 'array'], + ], [], [ + 'shopping_cart'=>'购物车商品', + ]); + $user = $request->user(); + $shoppingCartItems = $user->dealerShoppingCartItems()->findMany($input['shopping_cart']); + $shoppingCartItems->load('product'); + $totalQty = $shoppingCartItems->sum('quantity'); + $data = []; + foreach ($shoppingCartItems as $item) { + $data[] = [ + 'id' => $item->id, + 'name' => $item->name, + 'cover' => $item->cover, + 'sell_price' => $item->sell_price, + 'dealer_price' => $orderService->getSalePrice($user, $item->product, $totalQty), + 'quantity' => $item->quantity, + ]; + } + return response()->json(['data'=>$data]); + } + /** * 新下单接口 */ diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 66151284..ad8c4153 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -245,6 +245,7 @@ Route::group([ ); Route::delete('shopping-cart-items', [Dealer\ShoppingCartItemController::class, 'delete']); + Route::get('orders-check', [Dealer\OrderController::class, 'checkOrder']); //计算商品下单价格 Route::get('orders/total-amount', [Dealer\OrderController::class, 'totalAmount']); //订单列表 diff --git a/app/Services/Dealer/OrderService.php b/app/Services/Dealer/OrderService.php index 02875609..e516a8cd 100644 --- a/app/Services/Dealer/OrderService.php +++ b/app/Services/Dealer/OrderService.php @@ -148,6 +148,9 @@ class OrderService ]); }, $orderProducts)); + //清除购物车对应商品 + $user->dealerShoppingCartItems()->whereIn('id', $cartIds)->delete(); + if (!$order->consignor) {//如果订单分配给公司,则直接确认 $this->confirmOrder($order); }