6
0
Fork 0

添加取消订单

release
vine_liutk 2022-01-14 19:37:14 +08:00 committed by 李静
parent fefd6324bd
commit b18c4e51f0
4 changed files with 33 additions and 1 deletions

View File

@ -200,8 +200,22 @@ class OrderController extends Controller
* @param Request $request
* @return void
*/
public function cancelOrder($id, Request $request)
public function cancelOrder($id, Request $request, OrderService $orderService)
{
$order = DealerOrder::findOrFail($id);
$userId = $request->user()->id;
if (!$order->isUser($userId)) {
throw new BizException('订单未找到');
}
try {
DB::beginTransaction();
$orderService->cancelOrder($order);
DB::commit();
} catch (Throwable $th) {
DB::rollBack();
report($th);
throw new BizException('操作失败,请刷新后再试');
}
return response()->noContent();
}
}

View File

@ -240,5 +240,7 @@ Route::group([
Route::post('orders/{order}/paid', [Dealer\OrderController::class, 'paidOrder']);
//确认收货
Route::post('orders/{order}/shippinged', [Dealer\OrderController::class, 'shippingedOrder']);
//取消订单
Route::post('orders/{order}/cancel', [Dealer\OrderController::class, 'cancelOrder']);
});
});

View File

@ -189,6 +189,12 @@ class DealerOrder extends Model
return $this->status == DealerOrderStatus::Cancelled;
}
/**
* 能否操作
*
* @param [type] $userId
* @return boolean
*/
public function canCurd($userId)
{
return $this->isUser($userId) || $this->isConsignor($userId);

View File

@ -195,6 +195,16 @@ class OrderService
]);
}
public function cancelOrder(DealerOrder $order)
{
if (!($order->isPending() || $order->isPendinged() || $order->isPay())) {
throw new BizException('订单状态异常,请刷新后再试');
}
$order->update([
'status' => DealerOrderStatus::Cancelled,
]);
}
/**
* 更新订单发货人
*