This commit is contained in:
2026-05-11 15:23:34 +08:00
parent ed70a140a2
commit 547cbbb4a5
25 changed files with 721 additions and 332 deletions
+17 -3
View File
@@ -37,9 +37,23 @@ class ArticleImportController
try {
$service->persistSnapshot($result['data']);
(new \app\service\ArchiveRepository())->saveImport($result['data']);
if (($result['data']['queue']['needs_ai_metadata'] ?? false) === true) {
(new \app\service\AiMetadataQueue())->push($result['data']['archive']['archive_uid']);
$result['data']['queue']['ai_metadata_enqueued'] = true;
if (($result['data']['queue']['needs_ai_metadata'] ?? false) === true && (new \app\service\ArchiveMetadataEnrichmentService())->isEnabled()) {
$archiveUid = $result['data']['archive']['archive_uid'];
(new \app\service\ArchiveRepository())->markAiMetadataStatus($archiveUid, 'queued');
try {
(new \app\service\AiMetadataQueue())->push($archiveUid);
$result['data']['queue']['ai_metadata_enqueued'] = true;
} catch (Throwable $queueException) {
(new \app\service\ArchiveRepository())->markAiMetadataStatus($archiveUid, 'failed_retryable', $queueException->getMessage());
$result['data']['queue']['ai_metadata_enqueue_error'] = $queueException->getMessage();
}
} elseif (($result['data']['queue']['needs_ai_metadata'] ?? false) === true) {
(new \app\service\ArchiveRepository())->markAiMetadataStatus(
$result['data']['archive']['archive_uid'],
'disabled',
'AI metadata enrichment is not enabled.'
);
}
} catch (Throwable $exception) {
return $this->jsonResponse([