|
|
@@ -179,9 +179,10 @@ class IntelligentExamController extends Controller
|
|
|
|
|
|
// API 固定题量:含按卷追练(5)、错题再练(15)、错题追练(16) 等,一律 default_total_questions,不使用请求题量参数
|
|
|
$data['total_questions'] = (int) config('question_bank.default_total_questions');
|
|
|
- // 预分配ID:组卷类型使用 paper_id;知识点讲解类型使用 knowledge_id
|
|
|
+ // 预分配ID:组卷类型使用 paper_id;知识点讲解类型使用 knowledge_id(并对外映射为 paper_id 以保持接口一致)
|
|
|
$reservedPaperId = $assembleType === 22 ? null : $this->questionBankService->generatePaperId();
|
|
|
$reservedKnowledgeId = $assembleType === 22 ? $this->knowledgeExplanationService->generateKnowledgeId() : null;
|
|
|
+ $responsePaperId = $assembleType === 22 ? $reservedKnowledgeId : $reservedPaperId;
|
|
|
$this->ensureStudentTeacherRelation($data);
|
|
|
|
|
|
// 【修改】使用series_id、semester_code和grade获取textbook_id
|
|
|
@@ -197,7 +198,7 @@ class IntelligentExamController extends Controller
|
|
|
}
|
|
|
|
|
|
$taskPayload = array_merge($data, [
|
|
|
- 'paper_id' => $reservedPaperId,
|
|
|
+ 'paper_id' => $responsePaperId,
|
|
|
'knowledge_id' => $reservedKnowledgeId,
|
|
|
'request_trace_id' => $requestTraceId,
|
|
|
'request_started_at' => now()->toISOString(),
|
|
|
@@ -210,7 +211,7 @@ class IntelligentExamController extends Controller
|
|
|
'teacher_id' => $taskPayload['teacher_id'] ?? null,
|
|
|
'grade' => $taskPayload['grade'] ?? null,
|
|
|
'assemble_type' => $assembleType,
|
|
|
- 'paper_id' => $reservedPaperId,
|
|
|
+ 'paper_id' => $responsePaperId,
|
|
|
'knowledge_id' => $reservedKnowledgeId,
|
|
|
'textbook_id' => $taskPayload['textbook_id'] ?? null,
|
|
|
'chapter_id_list' => $taskPayload['chapter_id_list'] ?? [],
|
|
|
@@ -241,7 +242,7 @@ class IntelligentExamController extends Controller
|
|
|
: '智能试卷任务已创建,正在后台组卷并生成PDF...',
|
|
|
'data' => [
|
|
|
'task_id' => $taskId,
|
|
|
- 'paper_id' => $reservedPaperId,
|
|
|
+ 'paper_id' => $responsePaperId,
|
|
|
'knowledge_id' => $reservedKnowledgeId,
|
|
|
'status' => 'processing',
|
|
|
'exam_code' => $codes['exam_code'],
|