Sfoglia il codice sorgente

考务数据导出

caozixuan 4 anni fa
parent
commit
3fe9bba343

+ 7 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/execute/AsyncExaminationExportTemplateService.java

@@ -4,6 +4,7 @@ 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.TaskTypeEnum;
 import com.qmth.distributed.print.business.service.ExamDetailService;
 import com.qmth.distributed.print.business.templete.export.AsyncExportTaskTemplete;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
@@ -49,9 +50,14 @@ public class AsyncExaminationExportTemplateService extends AsyncExportTaskTemple
 
 
         try {
-            taskLogicService.executeExaminationLogic(map);
+            Map<String,Object> result = taskLogicService.executeExaminationLogic(map);
             stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", FORMAT_TIME, FINISH_TITLE, 111, FINISH_SIZE));
+            String path = String.valueOf(result.get("path"));
+            System.out.println("path = " + path);
+            tbTask.setImportFileName(TaskTypeEnum.EXAMINATION_EXPORT.getTitle());
+            tbTask.setResultFilePath(path);
             tbTask.setResult(TaskResultEnum.SUCCESS);
+
         } catch (Exception e) {
             log.error("请求出错", e);
             stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", FORMAT_TIME, EXCEPTION_TITLE, EXCEPTION_DATA, e.getMessage()));

+ 5 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/export/AsyncExportTaskTemplete.java

@@ -12,6 +12,7 @@ import com.qmth.distributed.print.business.templete.importData.AsyncImportTaskTe
 import com.qmth.distributed.print.business.util.OssUtil;
 import com.qmth.distributed.print.common.contant.SpringContextHolder;
 import com.qmth.distributed.print.common.contant.SystemConstant;
+import com.qmth.distributed.print.common.enums.ExceptionResultEnum;
 import com.qmth.distributed.print.common.util.Result;
 import com.qmth.distributed.print.common.util.ResultUtil;
 import org.apache.commons.io.FileUtils;
@@ -66,7 +67,10 @@ public abstract class AsyncExportTaskTemplete {
         ByteArrayOutputStream out = null;
         InputStream inputStream = null;
         try {
-            JSONObject jsonObject = JSONObject.parseObject(tbTask.getImportFilePath());
+            JSONObject jsonObject = JSONObject.parseObject(tbTask.getResultFilePath());
+            if (Objects.isNull(jsonObject)){
+                throw ExceptionResultEnum.ERROR.exception("未能获取文件路径,文件上传失败");
+            }
             String path = (String) jsonObject.get(SystemConstant.PATH);
             String type = (String) jsonObject.get(SystemConstant.TYPE);
 

+ 20 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -14,6 +14,7 @@ import com.qmth.distributed.print.business.bean.result.ExaminationResult;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.DrawRuleEnum;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
+import com.qmth.distributed.print.business.enums.UploadFileEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.business.util.*;
@@ -38,6 +39,7 @@ import org.springframework.util.LinkedMultiValueMap;
 
 import javax.annotation.Resource;
 import java.io.*;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -353,7 +355,24 @@ public class TaskLogicServiceImpl implements TaskLogicService {
 
         InputStream in = ConvertUtil.parse(outputStream);
 
-        ossUtil.ossUpload("考务数据", in, DigestUtils.md5Hex(in));
+//        UploadFileEnum.FILE/
+        LocalDateTime nowTime = LocalDateTime.now();
+        StringJoiner stringJoiner = new StringJoiner("");
+        stringJoiner.add(UploadFileEnum.FILE.getTitle()).add(File.separator);
+
+        stringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
+                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
+                .add(String.format("%02d", nowTime.getDayOfMonth()));
+
+        JSONObject jsonObject = new JSONObject();
+        stringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(".").add(SystemConstant.XLSX);
+
+        String dirName = stringJoiner.toString().replaceAll("\\\\","/");
+        ossUtil.ossUpload(dirName, in, DigestUtils.md5Hex(in));
+        jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
+        jsonObject.put(SystemConstant.PATH, dirName);
+        jsonObject.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE.getTitle());
+        map.put("path",jsonObject.toString());
         return map;
     }