From cc68a67d71d5ff4a623a8e4c47547f37a80df77c Mon Sep 17 00:00:00 2001 From: xiaomlove Date: Wed, 8 Jun 2022 14:47:36 +0800 Subject: [PATCH] fix exam checmout error when when user not exists --- app/Repositories/ExamRepository.php | 6 ++++++ app/Repositories/HitAndRunRepository.php | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Repositories/ExamRepository.php b/app/Repositories/ExamRepository.php index 7d30e39f..22a939b9 100644 --- a/app/Repositories/ExamRepository.php +++ b/app/Repositories/ExamRepository.php @@ -948,6 +948,12 @@ class ExamRepository extends BaseRepository $uid = $examUser->uid; $exam = $examUser->exam; $currentLogPrefix = sprintf("$logPrefix, user: %s, exam: %s, examUser: %s", $uid, $examUser->exam_id, $examUser->id); + if (!$examUser->user) { + do_log("$currentLogPrefix, user not exists, remove it!", 'error'); + $examUser->progresses()->delete(); + $examUser->delete(); + continue; + } $locale = $examUser->user->locale; if ($examUser->is_done) { do_log("$currentLogPrefix, [is_done]"); diff --git a/app/Repositories/HitAndRunRepository.php b/app/Repositories/HitAndRunRepository.php index 971d2cb9..d40f74d4 100644 --- a/app/Repositories/HitAndRunRepository.php +++ b/app/Repositories/HitAndRunRepository.php @@ -136,7 +136,8 @@ class HitAndRunRepository extends BaseRepository $currentLog = "$logPrefix, [HANDLING] " . $row->toJson(); do_log($logPrefix); if (!$row->user) { - do_log("$currentLog, user not exists, skip!", 'error'); + do_log("$currentLog, user not exists, remove it!", 'error'); + $row->delete(); continue; } if (!$row->snatch) { @@ -144,7 +145,8 @@ class HitAndRunRepository extends BaseRepository continue; } if (!$row->torrent) { - do_log("$currentLog, torrent not exists, skip!", 'error'); + do_log("$currentLog, torrent not exists, remove it!", 'error'); + $row->delete(); continue; }