添加取消订单
parent
fefd6324bd
commit
b18c4e51f0
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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']);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新订单发货人
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue