|
@@ -3,6 +3,7 @@
|
|
|
namespace App\Filament\Pages;
|
|
namespace App\Filament\Pages;
|
|
|
|
|
|
|
|
use App\Services\QuestionBankService;
|
|
use App\Services\QuestionBankService;
|
|
|
|
|
+use App\Services\QuestionDifficultyResolver;
|
|
|
use BackedEnum;
|
|
use BackedEnum;
|
|
|
use Filament\Notifications\Notification;
|
|
use Filament\Notifications\Notification;
|
|
|
use Filament\Pages\Page;
|
|
use Filament\Pages\Page;
|
|
@@ -438,6 +439,11 @@ class ExamHistory extends Page
|
|
|
// 获取当前试卷的最大题号
|
|
// 获取当前试卷的最大题号
|
|
|
$maxQuestionNumber = \App\Models\PaperQuestion::where('paper_id', $paperId)
|
|
$maxQuestionNumber = \App\Models\PaperQuestion::where('paper_id', $paperId)
|
|
|
->max('question_number') ?? 0;
|
|
->max('question_number') ?? 0;
|
|
|
|
|
+ $resolvedQuestion = app(QuestionDifficultyResolver::class)->applyCalibratedDifficulty([[
|
|
|
|
|
+ 'id' => $question->id,
|
|
|
|
|
+ 'difficulty' => $question->difficulty ?? 0.5,
|
|
|
|
|
+ ]])[0] ?? [];
|
|
|
|
|
+ $difficulty = $resolvedQuestion['difficulty'] ?? ($question->difficulty ?? 0.5);
|
|
|
|
|
|
|
|
// 创建新的试卷题目记录
|
|
// 创建新的试卷题目记录
|
|
|
\App\Models\PaperQuestion::create([
|
|
\App\Models\PaperQuestion::create([
|
|
@@ -447,9 +453,9 @@ class ExamHistory extends Page
|
|
|
'knowledge_point' => $question->kp_code,
|
|
'knowledge_point' => $question->kp_code,
|
|
|
'question_type' => $this->getQuestionTypeFromQuestion($question),
|
|
'question_type' => $this->getQuestionTypeFromQuestion($question),
|
|
|
'question_text' => $question->stem,
|
|
'question_text' => $question->stem,
|
|
|
- 'difficulty' => $question->difficulty ?? 0.5,
|
|
|
|
|
- 'score' => $this->calculateScore($question->difficulty ?? 0.5),
|
|
|
|
|
- 'estimated_time' => $this->calculateEstimatedTime($question->difficulty ?? 0.5),
|
|
|
|
|
|
|
+ 'difficulty' => $difficulty,
|
|
|
|
|
+ 'score' => $this->calculateScore($difficulty),
|
|
|
|
|
+ 'estimated_time' => $this->calculateEstimatedTime($difficulty),
|
|
|
'question_number' => $maxQuestionNumber + 1,
|
|
'question_number' => $maxQuestionNumber + 1,
|
|
|
]);
|
|
]);
|
|
|
|
|
|