同步更新

This commit is contained in:
super
2026-05-06 23:00:39 +08:00
parent 8cd1a4e2b1
commit a7d8f8be6c
3 changed files with 30 additions and 7 deletions

View File

@@ -1093,12 +1093,13 @@ public class AppearancePatentTaskService {
} }
} }
boolean failed = finalError != null && !finalError.isBlank(); boolean failed = finalError != null && !finalError.isBlank();
task.setStatus(failed ? STATUS_FAILED : STATUS_SUCCESS); boolean waitingForAssemble = !failed && assembleWorkbook && !shouldAssembleSynchronously();
task.setStatus(waitingForAssemble ? STATUS_RUNNING : (failed ? STATUS_FAILED : STATUS_SUCCESS));
task.setSuccessFileCount(failed ? 0 : 1); task.setSuccessFileCount(failed ? 0 : 1);
task.setFailedFileCount(failed ? 1 : 0); task.setFailedFileCount(failed ? 1 : 0);
task.setErrorMessage(finalError); task.setErrorMessage(finalError);
task.setUpdatedAt(LocalDateTime.now()); task.setUpdatedAt(LocalDateTime.now());
task.setFinishedAt(LocalDateTime.now()); task.setFinishedAt(waitingForAssemble ? null : LocalDateTime.now());
fileTaskMapper.updateById(task); fileTaskMapper.updateById(task);
if (result != null) { if (result != null) {
result.setSuccess(failed ? 0 : 1); result.setSuccess(failed ? 0 : 1);
@@ -1576,6 +1577,12 @@ public class AppearancePatentTaskService {
assembleResultWorkbook(task, result); assembleResultWorkbook(task, result);
saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits - 1, "Uploading result file"); saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits - 1, "Uploading result file");
fileResultMapper.updateById(result); fileResultMapper.updateById(result);
task.setStatus(STATUS_SUCCESS);
task.setErrorMessage(null);
task.setUpdatedAt(LocalDateTime.now());
task.setFinishedAt(LocalDateTime.now());
fileTaskMapper.updateById(task);
taskCacheService.deleteTaskCache(task.getId());
saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits, "Result file generated"); saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits, "Result file generated");
} }

View File

@@ -1572,6 +1572,7 @@ public class DeleteBrandRunService {
} }
int successCount = 0; int successCount = 0;
boolean waitingForAssemble = false;
List<DeleteBrandResultItemVo> finalItems = new ArrayList<>(); List<DeleteBrandResultItemVo> finalItems = new ArrayList<>();
for (Map.Entry<String, DeleteBrandParsedFileCacheDto> entry : parsedPayload.entrySet()) { for (Map.Entry<String, DeleteBrandParsedFileCacheDto> entry : parsedPayload.entrySet()) {
String fileIdentity = entry.getKey(); String fileIdentity = entry.getKey();
@@ -1599,6 +1600,7 @@ public class DeleteBrandRunService {
fileResultMapper.updateById(resultEntity); fileResultMapper.updateById(resultEntity);
if (!alreadyAssembled) { if (!alreadyAssembled) {
taskFileJobService.enqueueAssembleResult(task.getId(), MODULE_TYPE, resultEntity.getId(), fileIdentity); taskFileJobService.enqueueAssembleResult(task.getId(), MODULE_TYPE, resultEntity.getId(), fileIdentity);
waitingForAssemble = true;
} }
DeleteBrandResultItemVo item = new DeleteBrandResultItemVo(); DeleteBrandResultItemVo item = new DeleteBrandResultItemVo();
@@ -1627,17 +1629,20 @@ public class DeleteBrandRunService {
successCount++; successCount++;
} }
task.setStatus("SUCCESS"); if (!waitingForAssemble) {
waitingForAssemble = taskFileJobService.countUnfinishedAssembleJobs(task.getId(), MODULE_TYPE) > 0L;
}
task.setStatus(waitingForAssemble ? "RUNNING" : "SUCCESS");
task.setSuccessFileCount(successCount); task.setSuccessFileCount(successCount);
task.setFailedFileCount(Math.max(0, parsedPayload.size() - successCount)); task.setFailedFileCount(Math.max(0, parsedPayload.size() - successCount));
task.setErrorMessage(null); task.setErrorMessage(null);
task.setResultJson(toCompactTaskResultJsonForDb(finalItems)); task.setResultJson(toCompactTaskResultJsonForDb(finalItems));
task.setUpdatedAt(LocalDateTime.now()); task.setUpdatedAt(LocalDateTime.now());
task.setFinishedAt(LocalDateTime.now()); task.setFinishedAt(waitingForAssemble ? null : LocalDateTime.now());
fileTaskMapper.updateById(task); fileTaskMapper.updateById(task);
deleteBrandTaskCacheService.saveTaskCache(task); deleteBrandTaskCacheService.saveTaskCache(task);
deleteBrandTaskCacheService.saveProgress(task.getId(), Map.of( deleteBrandTaskCacheService.saveProgress(task.getId(), Map.of(
"phase", "success", "phase", waitingForAssemble ? DeleteBrandTaskCacheService.PHASE_UPLOADING : "success",
"file_index", String.valueOf(parsedPayload.size()), "file_index", String.valueOf(parsedPayload.size()),
"file_total", String.valueOf(parsedPayload.size()), "file_total", String.valueOf(parsedPayload.size()),
"finished_files", String.valueOf(successCount), "finished_files", String.valueOf(successCount),
@@ -1720,6 +1725,10 @@ public class DeleteBrandRunService {
if (job == null || job.getTaskId() == null) { if (job == null || job.getTaskId() == null) {
return; return;
} }
FileTaskEntity task = fileTaskMapper.selectById(job.getTaskId());
if (task != null && MODULE_TYPE.equals(task.getModuleType())) {
tryFinalizeTaskFromTerminalResults(task);
}
cleanupCompletedTaskDataIfNoPendingFileJobs(job.getTaskId()); cleanupCompletedTaskDataIfNoPendingFileJobs(job.getTaskId());
} }

View File

@@ -1139,12 +1139,13 @@ public class SimilarAsinTaskService {
} }
} }
boolean failed = finalError != null && !finalError.isBlank(); boolean failed = finalError != null && !finalError.isBlank();
task.setStatus(failed ? STATUS_FAILED : STATUS_SUCCESS); boolean waitingForAssemble = !failed && assembleWorkbook && !shouldAssembleSynchronously();
task.setStatus(waitingForAssemble ? STATUS_RUNNING : (failed ? STATUS_FAILED : STATUS_SUCCESS));
task.setSuccessFileCount(failed ? 0 : 1); task.setSuccessFileCount(failed ? 0 : 1);
task.setFailedFileCount(failed ? 1 : 0); task.setFailedFileCount(failed ? 1 : 0);
task.setErrorMessage(finalError); task.setErrorMessage(finalError);
task.setUpdatedAt(LocalDateTime.now()); task.setUpdatedAt(LocalDateTime.now());
task.setFinishedAt(LocalDateTime.now()); task.setFinishedAt(waitingForAssemble ? null : LocalDateTime.now());
fileTaskMapper.updateById(task); fileTaskMapper.updateById(task);
if (result != null) { if (result != null) {
result.setSuccess(failed ? 0 : 1); result.setSuccess(failed ? 0 : 1);
@@ -1580,6 +1581,12 @@ public class SimilarAsinTaskService {
assembleResultWorkbook(task, result); assembleResultWorkbook(task, result);
saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits - 1, "Uploading result file"); saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits - 1, "Uploading result file");
fileResultMapper.updateById(result); fileResultMapper.updateById(result);
task.setStatus(STATUS_SUCCESS);
task.setErrorMessage(null);
task.setUpdatedAt(LocalDateTime.now());
task.setFinishedAt(LocalDateTime.now());
fileTaskMapper.updateById(task);
taskCacheService.deleteTaskCache(task.getId());
saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits, "Result file generated"); saveFileBuildProgress(task, job, totalProgressUnits, totalProgressUnits, "Result file generated");
} }