/** * 取消预约 * * @param Request $request * @param Registration $registration * * @return \Illuminate\Http\JsonResponse */ public function revoke(Request $request, Registration $registration) { $user = $request->user(); if ($user->id != $registration->user_id) { return response()->json(['status' => 1, 'message' => '无权限']); } if ($registration->is_paid == 1) { if ($registration->deals()->count() != 1) { return response()->json(['status' => 4, 'message' => '数据异常']); } $payDeal = $registration->deals->first(); $result = RegistrationController::refund($payDeal); // TODO 待优化 if (!$result) { return response()->json(['status' => 6, 'message' => '退款失败']); } } $registration->delete(); if ($registration->trashed()) { $schedule = Schedule::find($registration->schedule_id); $schedule->rest_num += 1; $schedule->save(); return response()->json(['status' => 0]); } else { return response()->json(['status' => 7, 'message' => '系统繁忙,请稍后再试']); } }