* @created 2022-06-28 16:47:57 * @modified 2022-06-28 16:47:57 */ namespace Beike\Shop\Http\Controllers; use Beike\Shop\Services\CheckoutService; use Illuminate\Http\Request; class CheckoutController extends Controller { public function index() { try { $data = (new CheckoutService)->checkoutData(); $data = hook_filter('checkout.index.data', $data); return view('checkout', $data); } catch (\Exception $e) { return redirect(shop_route('carts.index'))->withErrors(['error' => $e->getMessage()]); } } /** * 更改结算信息 * * @param Request $request * @return array */ public function update(Request $request): array { try { $requestData = $request->all(); $data = (new CheckoutService)->update($requestData); return hook_filter('checkout.update.data', $data); } catch (\Exception $e) { return json_fail($e->getMessage()); } } /** * 确认提交订单 * * @return mixed * @throws \Throwable */ public function confirm() { $data = (new CheckoutService)->confirm(); return hook_filter('checkout.confirm.data', $data); } }