caozixuan 4 tahun lalu
induk
melakukan
c4e9f680ff

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

@@ -51,7 +51,7 @@ public class AsyncExaminationExportTemplateService extends AsyncExportTaskTemple
 
         try {
             Map<String,Object> result = taskLogicService.executeExaminationLogic(map);
-            stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", FORMAT_TIME, FINISH_TITLE, 111, FINISH_SIZE));
+            stringJoinerSummary.add(MessageFormat.format("{0}{1}{2}{3}", FORMAT_TIME, FINISH_TITLE, result.size(), FINISH_SIZE));
             String path = String.valueOf(result.get("path"));
             System.out.println("path = " + path);
             tbTask.setImportFileName(TaskTypeEnum.EXAMINATION_EXPORT.getTitle());

+ 7 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/export/AsyncExportTaskTemplete.java

@@ -79,12 +79,13 @@ public abstract class AsyncExportTaskTemplete {
             byte[] bookByteAry = out.toByteArray();
             inputStream = new ByteArrayInputStream(bookByteAry);
             StringJoiner stringJoiner = new StringJoiner("");
-            path = path.substring(0, path.lastIndexOf(File.separator) + 1);
-
-            stringJoiner.add(path).add(SystemConstant.getUuid()).add(TXT_PREFIX).toString();
             if (Objects.equals(type, SystemConstant.OSS)) {//上传至oss
+                path = path.substring(0, path.lastIndexOf("/") + 1);
+                stringJoiner.add(path).add(SystemConstant.getUuid()).add(TXT_PREFIX).toString();
                 ossUtil.ossUpload(stringJoiner.toString(), inputStream, null);
             } else {//上传至服务器
+                path = path.substring(0, path.lastIndexOf(File.separator) + 1);
+                stringJoiner.add(path).add(SystemConstant.getUuid()).add(TXT_PREFIX).toString();
                 File finalFile = new File(stringJoiner.toString());
                 if (!finalFile.exists()) {
                     finalFile.getParentFile().mkdirs();
@@ -96,6 +97,8 @@ public abstract class AsyncExportTaskTemplete {
             json.put(SystemConstant.PATH, stringJoiner.toString());
             json.put(SystemConstant.TYPE, type);
             json.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
+            String result = json.toJSONString();
+            System.out.println(result);
 
             tbTask.setResult(TaskResultEnum.SUCCESS);
             tbTask.setReportFilePath(json.toJSONString());
@@ -123,6 +126,7 @@ public abstract class AsyncExportTaskTemplete {
                 e.printStackTrace();
             }
             tbTask.setStatus(TaskStatusEnum.FINISH);
+            System.out.println(tbTask);
             tbTaskService.updateById(tbTask);
         }
     }

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

@@ -98,12 +98,14 @@ public abstract class AsyncImportTaskTemplete {
             byte[] bookByteAry = out.toByteArray();
             inputStream = new ByteArrayInputStream(bookByteAry);
             StringJoiner stringJoiner = new StringJoiner("");
-            path = path.substring(0, path.lastIndexOf(File.separator) + 1);
 
-            stringJoiner.add(path).add(SystemConstant.getUuid()).add(TXT_PREFIX).toString();
             if (Objects.equals(type, SystemConstant.OSS)) {//上传至oss
+                path = path.substring(0, path.lastIndexOf("/") + 1);
+                stringJoiner.add(path).add(SystemConstant.getUuid()).add(TXT_PREFIX).toString();
                 ossUtil.ossUpload(stringJoiner.toString(), inputStream, null);
             } else {//上传至服务器
+                path = path.substring(0, path.lastIndexOf(File.separator) + 1);
+                stringJoiner.add(path).add(SystemConstant.getUuid()).add(TXT_PREFIX).toString();
                 File finalFile = new File(stringJoiner.toString());
                 if (!finalFile.exists()) {
                     finalFile.getParentFile().mkdirs();

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

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.templete.service.impl;
 
+import cn.hutool.core.io.IoUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -19,12 +20,14 @@ import com.qmth.distributed.print.business.service.*;
 import com.qmth.distributed.print.business.templete.service.TaskLogicService;
 import com.qmth.distributed.print.business.util.*;
 import com.qmth.distributed.print.business.util.excel.ExcelError;
+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.Base64Util;
 import com.qmth.distributed.print.common.util.HexUtils;
 import com.qmth.distributed.print.common.util.ResultUtil;
 import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.io.FileUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.Row;
@@ -355,10 +358,10 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE).getRecords();
         System.out.println("examinationResultList = " + JSON.toJSONString(examinationResultList));
 
-        OutputStream outputStream = new ByteArrayOutputStream();
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
         ExcelUtil.excelMake(ExaminationResult.class, examinationResultList, outputStream);
-
-        InputStream in = ConvertUtil.parse(outputStream);
+        InputStream in = new ByteArrayInputStream(outputStream.toByteArray());
+        IoUtil.copy(in,outputStream);
 
 //        UploadFileEnum.FILE/
         LocalDateTime nowTime = LocalDateTime.now();
@@ -372,7 +375,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         JSONObject jsonObject = new JSONObject();
         stringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(".").add(SystemConstant.XLSX);
 
-        String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
+        String dirName = stringJoiner.toString().replaceAll("\\\\","/");
+//        File file = new File(dirName);
+//        ConvertUtil.inputStream2File(in,file);
         ossUtil.ossUpload(dirName, in, DigestUtils.md5Hex(in));
         jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
         jsonObject.put(SystemConstant.PATH, dirName);

+ 17 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/ConvertUtil.java

@@ -1,9 +1,6 @@
 package com.qmth.distributed.print.business.util;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
+import java.io.*;
 import java.util.Map;
 
 /**
@@ -28,4 +25,20 @@ public class ConvertUtil {
         baos = (ByteArrayOutputStream) out;
         return new ByteArrayInputStream(baos.toByteArray());
     }
+
+    public static void inputStream2File (InputStream is, File file) throws IOException {
+        OutputStream os = null;
+        try {
+            os = new FileOutputStream(file);
+            int len = 0;
+            byte[] buffer = new byte[8192];
+
+            while ((len = is.read(buffer)) != -1) {
+                os.write(buffer, 0, len);
+            }
+        } finally {
+            os.close();
+            is.close();
+        }
+    }
 }