From bc83be298581bd17d480c8902193e10bfc3a8e70 Mon Sep 17 00:00:00 2001 From: lgb <353856593@qq.com> Date: Fri, 10 May 2024 10:24:50 +0800 Subject: [PATCH] fix recurring exam assign --- app/Repositories/ExamRepository.php | 20 ++++++++++---------- include/constants.php | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/Repositories/ExamRepository.php b/app/Repositories/ExamRepository.php index 9a471273..c406b571 100644 --- a/app/Repositories/ExamRepository.php +++ b/app/Repositories/ExamRepository.php @@ -1112,6 +1112,16 @@ class ExamRepository extends BaseRepository do_log("$currentLogPrefix, [is_done]"); $subjectTransKey = 'exam.checkout_pass_message_subject'; $msgTransKey = 'exam.checkout_pass_message_content'; + if (!empty($exam->recurring) && $this->isExamMatchUser($exam, $examUser->user)) { + $examUserToInsert[] = [ + 'uid' => $examUser->user->id, + 'exam_id' => $exam->id, + 'begin' => $exam->getBeginForUser(), + 'end' => $exam->getEndForUser(), + 'created_at' => $now, + 'updated_at' => $now, + ]; + } } else { do_log("$currentLogPrefix, [will be banned]"); clear_user_cache($examUser->user->id, $examUser->user->passkey); @@ -1149,16 +1159,6 @@ class ExamRepository extends BaseRepository 'subject' => $subject, 'msg' => $msg ]; - if (!empty($exam->recurring) && $this->isExamMatchUser($exam, $examUser->user)) { - $examUserToInsert[] = [ - 'uid' => $examUser->user->id, - 'exam_id' => $exam->id, - 'begin' => $exam->getBeginForUser(), - 'end' => $exam->getEndForUser(), - 'created_at' => $now, - 'updated_at' => $now, - ]; - } } DB::transaction(function () use ($uidToDisable, $messageToSend, $examUserIdArr, $examUserToInsert, $userBanLog, $userModcommentUpdate, $userTable, $logPrefix) { ExamUser::query()->whereIn('id', $examUserIdArr)->update(['status' => ExamUser::STATUS_FINISHED]); diff --git a/include/constants.php b/include/constants.php index e146f63c..5c5515ca 100644 --- a/include/constants.php +++ b/include/constants.php @@ -1,6 +1,6 @@