fix exam checmout error when when user not exists

This commit is contained in:
xiaomlove
2022-06-08 14:47:36 +08:00
parent 09f6e5b274
commit cc68a67d71
2 changed files with 10 additions and 2 deletions

View File

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

View File

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