/**
  * 取消预约
  *
  * @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' => '系统繁忙,请稍后再试']);
     }
 }