添加取消订单
parent
fefd6324bd
commit
b18c4e51f0
|
|
@ -200,8 +200,22 @@ class OrderController extends Controller
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return void
|
* @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();
|
return response()->noContent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -240,5 +240,7 @@ Route::group([
|
||||||
Route::post('orders/{order}/paid', [Dealer\OrderController::class, 'paidOrder']);
|
Route::post('orders/{order}/paid', [Dealer\OrderController::class, 'paidOrder']);
|
||||||
//确认收货
|
//确认收货
|
||||||
Route::post('orders/{order}/shippinged', [Dealer\OrderController::class, 'shippingedOrder']);
|
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;
|
return $this->status == DealerOrderStatus::Cancelled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 能否操作
|
||||||
|
*
|
||||||
|
* @param [type] $userId
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
public function canCurd($userId)
|
public function canCurd($userId)
|
||||||
{
|
{
|
||||||
return $this->isUser($userId) || $this->isConsignor($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