wangliang há 4 anos atrás
pai
commit
5c07daab4f

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBTaskServiceImpl.java

@@ -158,7 +158,7 @@ public class TBTaskServiceImpl extends ServiceImpl<TBTaskMapper, TBTask> impleme
     @Override
     @Transactional
     public Map<String, Object> saveTask(TaskTypeEnum taskTypeEnum, Long printPlanId) {
-        Map<String, Object> map = null;
+        Map<String, Object> map = new HashMap<>();
         try {
             TBTask tbTask = saveTaskCommon(null, taskTypeEnum, map);
             tbTask.setPrintPlanId(printPlanId);

+ 9 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/importData/AsyncImportTaskTemplete.java

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.entity.TBTask;
+import com.qmth.distributed.print.business.enums.TaskResultEnum;
 import com.qmth.distributed.print.business.enums.TaskStatusEnum;
 import com.qmth.distributed.print.business.enums.UploadFileEnum;
 import com.qmth.distributed.print.business.service.TBTaskService;
@@ -19,6 +20,7 @@ import org.springframework.scheduling.annotation.Async;
 
 import java.io.*;
 import java.nio.charset.StandardCharsets;
+import java.text.MessageFormat;
 import java.util.Date;
 import java.util.Map;
 import java.util.Objects;
@@ -113,9 +115,8 @@ public abstract class AsyncImportTaskTemplete {
             json.put(SystemConstant.TYPE, type);
             json.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
 
-            tbTask.setStatus(TaskStatusEnum.FINISH);
+            tbTask.setResult(TaskResultEnum.SUCCESS);
             tbTask.setReportFilePath(json.toJSONString());
-            tbTaskService.updateById(tbTask);
         } catch (Exception e) {
             log.error("请求出错", e);
             if (e instanceof ApiException) {
@@ -123,6 +124,10 @@ public abstract class AsyncImportTaskTemplete {
             } else {
                 ResultUtil.error(e.getMessage());
             }
+            StringJoiner stringJoinerSummary = new StringJoiner("").add(tbTask.getSummary());
+            stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", FORMAT_TIME, EXCEPTION_TITLE, EXCEPTION_DATA, e.getMessage()));
+            tbTask.setSummary(stringJoinerSummary.toString());
+            tbTask.setResult(TaskResultEnum.ERROR);
         } finally {
             try {
                 if (Objects.nonNull(inputStream)) {
@@ -135,6 +140,8 @@ public abstract class AsyncImportTaskTemplete {
             } catch (IOException e) {
                 e.printStackTrace();
             }
+            tbTask.setStatus(TaskStatusEnum.FINISH);
+            tbTaskService.updateById(tbTask);
         }
     }
 }

+ 1 - 1
distributed-print-common/src/main/java/com/qmth/distributed/print/common/util/ResultUtil.java

@@ -41,7 +41,7 @@ public class ResultUtil {
     }
 
     public static Result error(String message) {
-        return new Result(ExceptionResultEnum.EXCEPTION_ERROR.getStatus().value(), message);
+        throw ExceptionResultEnum.ERROR.exception(message);
     }
 
     public static Result ok(String message) {

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/SysUserController.java

@@ -208,7 +208,7 @@ public class SysUserController {
         Map<String, Object> map = tbTaskService.saveTask(file, TaskTypeEnum.USER_IMPORT);
         asyncUserImportTempleteService.importTask(map);
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
-        return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
+        return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
     }
 
     @ApiOperation(value = "用户批量导出接口")
@@ -233,7 +233,7 @@ public class SysUserController {
         Map<String, Object> map = tbTaskService.saveTask(TaskTypeEnum.CREATE_PDF, SystemConstant.convertIdToLong(printPlanId));
         asyncCreatePdfTempleteService.createPdf(map);
         TBTask tbTask = Objects.nonNull(map.get(SystemConstant.TASK)) ? (TBTask) map.get(SystemConstant.TASK) : null;
-        return Objects.nonNull(tbTask) ? ResultUtil.ok(tbTask.getId()) : ResultUtil.error("创建任务失败");
+        return Objects.nonNull(tbTask) ? ResultUtil.ok(new EditResult(tbTask.getId())) : ResultUtil.error("创建任务失败");
     }
 }