mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 20:40:49 +08:00
exam_user add status: avoid
This commit is contained in:
@@ -92,4 +92,11 @@ class ExamUserController extends Controller
|
||||
return $this->success($result, 'Remove user exam success!');
|
||||
}
|
||||
|
||||
public function avoid(Request $request)
|
||||
{
|
||||
$request->validate(['id' => 'required']);
|
||||
$result = $this->repository->avoidExamUser($request->id);
|
||||
return $this->success($result, 'Avoid user exam success!');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,10 +10,12 @@ class ExamUser extends NexusModel
|
||||
|
||||
const STATUS_NORMAL = 0;
|
||||
const STATUS_FINISHED = 1;
|
||||
const STATUS_AVOIDED = -1;
|
||||
|
||||
public static $status = [
|
||||
self::STATUS_NORMAL => ['text' => 'Normal'],
|
||||
self::STATUS_FINISHED => ['text' => 'Finished'],
|
||||
self::STATUS_AVOIDED => ['text' => 'Avoided'],
|
||||
];
|
||||
|
||||
const IS_DONE_YES = 1;
|
||||
|
||||
@@ -355,6 +355,7 @@ class ExamRepository extends BaseRepository
|
||||
}
|
||||
$examUsers = $query->get();
|
||||
if ($examUsers->isEmpty()) {
|
||||
do_log("$logPrefix, no examUser, query: " . last_query());
|
||||
return null;
|
||||
}
|
||||
if ($examUsers->count() > 1) {
|
||||
@@ -454,6 +455,13 @@ class ExamRepository extends BaseRepository
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function avoidExamUser(int $examUserId)
|
||||
{
|
||||
$examUser = ExamUser::query()->findOrFail($examUserId);
|
||||
$result = $examUser->update(['status' => ExamUser::STATUS_AVOIDED]);
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function cronjonAssign()
|
||||
{
|
||||
$exams = $this->listValid(null, Exam::DISCOVERED_YES);
|
||||
|
||||
@@ -37,7 +37,7 @@ class UserRepository extends BaseRepository
|
||||
$baseInfo = $userResource->response()->getData(true)['data'];
|
||||
|
||||
$examRep = new ExamRepository();
|
||||
$examProgress = $examRep->getUserExamProgress($id, ExamUser::STATUS_NORMAL, ['exam']);
|
||||
$examProgress = $examRep->getUserExamProgress($id, null, ['exam']);
|
||||
if ($examProgress) {
|
||||
$examResource = new ExamUserResource($examProgress);
|
||||
$examInfo = $examResource->response()->getData(true)['data'];
|
||||
|
||||
Reference in New Issue
Block a user