fix: 优化取消任务慢问题
This commit is contained in:
parent
a6810efe79
commit
12b9190ccc
@ -393,7 +393,7 @@ public class FishDraftDataController {
|
||||
if ("1".equals(result.getCode())) {
|
||||
status = "FAILED";
|
||||
}
|
||||
importTaskService.updateStatus(taskId, status, null);
|
||||
importTaskService.updateStatus(taskId, status, result.getTempDir(), null);
|
||||
importTaskService.updateProgress(taskId, result.getTotalCount(), result.getSuccessCount(), result.getFailedCount());
|
||||
|
||||
try {
|
||||
|
||||
@ -101,7 +101,7 @@ public class ImportTaskController {
|
||||
public ResponseResult updateStatus(@RequestParam String id,
|
||||
@RequestParam String status,
|
||||
@RequestParam(required = false) String errorMsg) {
|
||||
boolean result = importTaskService.updateStatus(id, status, errorMsg);
|
||||
boolean result = importTaskService.updateStatus(id, status,null, errorMsg);
|
||||
return result ? ResponseResult.success("更新成功") : ResponseResult.error("更新失败");
|
||||
}
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ public interface IImportTaskService extends IService<ImportTask> {
|
||||
/**
|
||||
* 更新任务状态
|
||||
*/
|
||||
boolean updateStatus(String id, String status, String errorMsg);
|
||||
boolean updateStatus(String id, String status,String tempDir, String errorMsg);
|
||||
|
||||
/**
|
||||
* 更新解析进度
|
||||
|
||||
@ -83,12 +83,13 @@ public class ImportTaskServiceImpl extends ServiceImpl<ImportTaskMapper, ImportT
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean updateStatus(String id, String status, String errorMsg) {
|
||||
public boolean updateStatus(String id, String status,String tempDir, String errorMsg) {
|
||||
ImportTask importTask = this.getById(id);
|
||||
if (importTask == null) {
|
||||
return false;
|
||||
}
|
||||
importTask.setStatus(status);
|
||||
importTask.setTempDir(tempDir);
|
||||
if (StringUtils.hasText(errorMsg)) {
|
||||
importTask.setErrorMsg(errorMsg);
|
||||
}
|
||||
@ -184,6 +185,10 @@ public class ImportTaskServiceImpl extends ServiceImpl<ImportTaskMapper, ImportT
|
||||
if ("CONFIRMED".equals(currentStatus) || "FAILED".equals(currentStatus) || "CANCELLED".equals(currentStatus)) {
|
||||
return false;
|
||||
}
|
||||
String temp = importTask.getTempDir();
|
||||
if (StrUtil.isNotBlank( temp)) {
|
||||
FileUtil.del(temp);
|
||||
}else{
|
||||
if (importTask.getResultJson() != null && !importTask.getResultJson().isEmpty()) {
|
||||
try {
|
||||
FishImportResult importResult = objectMapper.readValue(importTask.getResultJson(), FishImportResult.class);
|
||||
@ -195,6 +200,7 @@ public class ImportTaskServiceImpl extends ServiceImpl<ImportTaskMapper, ImportT
|
||||
// ignore parse error
|
||||
}
|
||||
}
|
||||
}
|
||||
importTask.setStatus("CANCELLED");
|
||||
importTask.setErrorMsg("用户取消: " + operatorId);
|
||||
importTask.setUpdatedAt(new Date());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user