|
|
@@ -45,10 +45,15 @@ class IntelligentExamController extends Controller
|
|
|
*/
|
|
|
public function store(Request $request): JsonResponse
|
|
|
{
|
|
|
- $normalized = $this->normalizePayload($request->all());
|
|
|
+ // 优先从body获取数据,不使用query params
|
|
|
+ $payload = $request->json()->all();
|
|
|
+ if (empty($payload)) {
|
|
|
+ $payload = $request->all();
|
|
|
+ }
|
|
|
+ $normalized = $this->normalizePayload($payload);
|
|
|
|
|
|
$validator = validator($normalized, [
|
|
|
- 'student_id' => 'required|string',
|
|
|
+ 'student_id' => 'required|string|min:1', // 接受字符串或数字字符串,如"1764913638"
|
|
|
'teacher_id' => 'nullable|string',
|
|
|
'paper_name' => 'nullable|string|max:255',
|
|
|
'grade' => 'nullable|string|max:50',
|
|
|
@@ -65,6 +70,7 @@ class IntelligentExamController extends Controller
|
|
|
'mistake_ids.*' => 'string',
|
|
|
'mistake_question_ids' => 'nullable|array',
|
|
|
'mistake_question_ids.*' => 'string',
|
|
|
+ 'callback_url' => 'nullable|url', // 异步完成后推送通知的URL
|
|
|
]);
|
|
|
|
|
|
if ($validator->fails()) {
|
|
|
@@ -190,6 +196,7 @@ class IntelligentExamController extends Controller
|
|
|
}
|
|
|
|
|
|
// 第三步:创建异步任务(使用TaskManager)
|
|
|
+ // 注意:callback_url会在TaskManager中被提取并保存
|
|
|
$taskId = $this->taskManager->createTask(TaskManager::TASK_TYPE_EXAM, array_merge($data, ['paper_id' => $paperId]));
|
|
|
|
|
|
// 生成识别码
|