Explorar el Código

fix: 有阶段失败时任务状态标记为failed而非partial

何文松 hace 4 semanas
padre
commit
179d7856f6

+ 3 - 3
backend/parse-service/src/main/java/com/lingyue/parse/service/TaskProgressService.java

@@ -178,12 +178,12 @@ public class TaskProgressService {
             parseTaskRepository.updateById(task);
             log.info("任务标记为完成: documentId={}", documentId);
         } else if (isAnyFailed(task)) {
-            // 如果有失败的阶段,标记为部分完成
-            task.setStatus("partial");
+            // 如果有失败的阶段,标记为失败
+            task.setStatus("failed");
             task.setCurrentStep("completed");
             task.setCompletedAt(new Date());
             parseTaskRepository.updateById(task);
-            log.info("任务标记为部分完成(有阶段失败): documentId={}", documentId);
+            log.info("任务标记为失败(有阶段失败): documentId={}", documentId);
         } else {
             // 还有未完成的阶段,保持 processing 状态
             log.debug("任务尚未完全完成: documentId={}", documentId);

+ 3 - 2
frontend/vue-demo/src/components/TaskCenter/TaskCenterPanel.vue

@@ -233,14 +233,14 @@ onMounted(() => {
 function tagType(status) {
   if (status === 'processing') return 'primary'
   if (status === 'completed') return 'success'
-  if (status === 'failed') return 'danger'
+  if (status === 'failed' || status === 'partial') return 'danger'
   return 'info'
 }
 
 function statusClass(status) {
   if (status === 'processing') return 'status-processing'
   if (status === 'completed') return 'status-completed'
-  if (status === 'failed') return 'status-failed'
+  if (status === 'failed' || status === 'partial') return 'status-failed'
   return 'status-pending'
 }
 
@@ -248,6 +248,7 @@ function statusText(status) {
   if (status === 'processing') return '运行中'
   if (status === 'completed') return '已完成'
   if (status === 'failed') return '失败'
+  if (status === 'partial') return '部分失败'
   return '等待中'
 }