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 * @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();
} }
} }

View File

@ -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']);
}); });
}); });

View File

@ -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);

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,
]);
}
/** /**
* 更新订单发货人 * 更新订单发货人
* *