|
|
@@ -90,6 +90,9 @@ public class DocumentParsedEventListener {
|
|
|
|
|
|
long totalTime = System.currentTimeMillis() - totalStartTime;
|
|
|
log.info("文档后处理完成: documentId={}, totalTime={}ms", documentId, totalTime);
|
|
|
+
|
|
|
+ // Step 3: 更新解析任务的最终状态为已完成
|
|
|
+ updateParseTaskCompleted(documentId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -386,6 +389,33 @@ public class DocumentParsedEventListener {
|
|
|
|
|
|
// ==================== 任务进度更新 ====================
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新解析任务的最终状态为已完成
|
|
|
+ * 当所有后处理阶段(NER、图构建)都完成后调用
|
|
|
+ */
|
|
|
+ private void updateParseTaskCompleted(String documentId) {
|
|
|
+ try {
|
|
|
+ String url = "http://localhost:" + serverPort + "/api/internal/task-progress/complete/" + documentId;
|
|
|
+
|
|
|
+ HttpHeaders headers = new HttpHeaders();
|
|
|
+ headers.setContentType(MediaType.APPLICATION_JSON);
|
|
|
+
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ data.put("status", "completed");
|
|
|
+ data.put("progress", 100);
|
|
|
+ data.put("currentStep", "completed");
|
|
|
+
|
|
|
+ HttpEntity<Map<String, Object>> entity = new HttpEntity<>(data, headers);
|
|
|
+
|
|
|
+ restTemplate.postForEntity(url, entity, Map.class);
|
|
|
+ log.info("解析任务状态更新为已完成: documentId={}", documentId);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("更新解析任务完成状态失败(可忽略): documentId={}, error={}",
|
|
|
+ documentId, e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 更新任务进度(简单版本)
|
|
|
*/
|