wangliang 2 жил өмнө
parent
commit
1257a35e84

+ 10 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java

@@ -240,15 +240,11 @@ public class ActivitiServiceImpl implements ActivitiService {
         InputStream processDiagram = repositoryService.getProcessDiagram(processDefinitionId);
         File file = null;
         try {
-            if (!StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                FileUtils.copyInputStreamToFile(processDiagram, new File(dictionaryConfig.fssLocalFileDomain().getConfig() + File.separator + DefaultInstanceConvertToMultiInstance.BPMN_NAME + File.separator + bpmnPngName));
-            } else {
-                file = SystemConstant.getFileTempVar(bpmnPngName);
-                FileUtils.copyInputStreamToFile(processDiagram, file);
-                StringJoiner stringJoiner = SystemConstant.getDirName();
-                stringJoiner.add(DefaultInstanceConvertToMultiInstance.BPMN_NAME).add(File.separator).add(bpmnPngName);
-                fileStoreUtil.ossUpload(stringJoiner.toString(), file, DigestUtils.md5Hex(new FileInputStream(file)), UploadFileEnum.FILE.getFssType());
-            }
+            file = SystemConstant.getFileTempVar(bpmnPngName);
+            FileUtils.copyInputStreamToFile(processDiagram, file);
+            StringJoiner stringJoiner = SystemConstant.getDirName();
+            stringJoiner.add(DefaultInstanceConvertToMultiInstance.BPMN_NAME).add(File.separator).add(bpmnPngName);
+            fileStoreUtil.ossUpload(stringJoiner.toString(), file, DigestUtils.md5Hex(new FileInputStream(file)), UploadFileEnum.FILE.getFssType());
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
         } finally {
@@ -281,15 +277,11 @@ public class ActivitiServiceImpl implements ActivitiService {
         InputStream processBpmn = repositoryService.getResourceAsStream(deployment.getId(), bpmnName);
         File file = null;
         try {
-            if (!StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                FileUtils.copyInputStreamToFile(processBpmn, new File(dictionaryConfig.fssLocalFileDomain().getConfig() + File.separator + DefaultInstanceConvertToMultiInstance.BPMN_NAME + File.separator + bpmnProcessName));
-            } else {
-                file = SystemConstant.getFileTempVar(bpmnProcessName);
-                FileUtils.copyInputStreamToFile(processBpmn, file);
-                StringJoiner stringJoiner = SystemConstant.getDirName();
-                stringJoiner.add(DefaultInstanceConvertToMultiInstance.BPMN_NAME).add(File.separator).add(bpmnProcessName);
-                fileStoreUtil.ossUpload(stringJoiner.toString(), file, DigestUtils.md5Hex(new FileInputStream(file)), UploadFileEnum.FILE.getFssType());
-            }
+            file = SystemConstant.getFileTempVar(bpmnProcessName);
+            FileUtils.copyInputStreamToFile(processBpmn, file);
+            StringJoiner stringJoiner = SystemConstant.getDirName();
+            stringJoiner.add(DefaultInstanceConvertToMultiInstance.BPMN_NAME).add(File.separator).add(bpmnProcessName);
+            fileStoreUtil.ossUpload(stringJoiner.toString(), file, DigestUtils.md5Hex(new FileInputStream(file)), UploadFileEnum.FILE.getFssType());
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
         } finally {

+ 0 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/importData/AsyncImportTaskTemplete.java

@@ -113,11 +113,6 @@ public abstract class AsyncImportTaskTemplete {
                         .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
                         .add(String.format("%02d", nowTime.getDayOfMonth()))
                         .add(File.separator).add(SystemConstant.getNanoId()).add(TXT_PREFIX);
-                if (dictionaryConfig.sysDomain().isOss()) {
-                    jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
-                } else {
-                    jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
-                }
                 jsonObject.put(SystemConstant.PATH, stringJoiner.toString());
             }
             String path = (String) jsonObject.get(SystemConstant.PATH);

+ 27 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/LocalCatalogEnum.java

@@ -0,0 +1,27 @@
+package com.qmth.teachcloud.common.enums;
+
+/**
+ * @Description: 本地文件目录枚举
+ * @Author: CaoZixuan
+ * @Date: 2022-08-11
+ */
+public enum LocalCatalogEnum {
+    LOCAL_FILE("localfile", "本地文件"),
+    LOCAL_PDF("localpdf", "本地pdf");
+
+    private final String type;
+    private final String desc;
+
+    LocalCatalogEnum(String type, String desc) {
+        this.type = type;
+        this.desc = desc;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 39 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/FileStoreUtil.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.util;
 import com.qmth.boot.core.fss.service.FileService;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.io.FileUtils;
@@ -29,6 +30,44 @@ public class FileStoreUtil {
     @Resource
     private DictionaryConfig dictionaryConfig;
 
+    /**
+     * 上传文件到本地
+     *
+     * @param inputStream 流
+     * @param finalFile   最终文件
+     * @param catalogType 文件类型
+     * @throws Exception 异常
+     */
+    public void copyInputStreamToFile(InputStream inputStream, File finalFile, String md5, LocalCatalogEnum catalogType) throws Exception {
+        String dirName = finalFile.getPath().replaceAll("\\\\", "/");
+        this.localUpload(dirName, inputStream, md5, catalogType);
+    }
+
+    /**
+     * 上传文件到本地
+     *
+     * @param dirName     上传到地址
+     * @param inputStream 流
+     * @param catalogType 文件
+     */
+    public void localUpload(String dirName, InputStream inputStream, String md5, LocalCatalogEnum catalogType) throws Exception {
+        log.info("ossUpload is come in");
+        String configPath = "";
+        switch (catalogType) {
+            case LOCAL_FILE:
+                configPath = dictionaryConfig.fssLocalFileDomain().getConfig();
+                break;
+            case LOCAL_PDF:
+                configPath = dictionaryConfig.fssLocalPdfDomain().getConfig();
+                break;
+            default:
+                break;
+        }
+        dirName = dirName.replaceAll(configPath, "");
+        fileService.getFileStore(catalogType.getType()).write(dirName, inputStream, md5);
+        log.info("dirName:{}", dirName);
+    }
+
     /**
      * 上传文件
      *

+ 0 - 175
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/OssUtil.java

@@ -1,175 +0,0 @@
-//package com.qmth.teachcloud.common.util;
-//
-//import com.aliyun.oss.OSS;
-//import com.aliyun.oss.OSSClientBuilder;
-//import com.aliyun.oss.model.*;
-//import com.qmth.teachcloud.common.contant.SystemConstant;
-//import com.qmth.teachcloud.common.domain.AliYunOssDomain;
-//import org.apache.commons.io.IOUtils;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.stereotype.Component;
-//
-//import java.io.ByteArrayInputStream;
-//import java.io.File;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.util.Calendar;
-//import java.util.Date;
-//import java.util.List;
-//import java.util.Objects;
-//
-///**
-// * @Description: oss工具
-// * @Param:
-// * @return:
-// * @Author: wangliang
-// * @Date: 2020/4/4
-// */
-//@Component
-//public class OssUtil {
-//    private final static Logger log = LoggerFactory.getLogger(OssUtil.class);
-//
-//    AliYunOssDomain aliYunOssDomain;
-//
-//    OSS ossClient;
-//
-//    @Bean
-//    public AliYunOssDomain ossDomain(AliYunOssDomain aliYunOssDomain) {
-//        this.aliYunOssDomain = aliYunOssDomain;
-//        this.ossClient = new OSSClientBuilder().build(this.aliYunOssDomain.getEndpoint(), this.aliYunOssDomain.getAccessKeyId(), this.aliYunOssDomain.getAccessKeySecret());
-//        return this.aliYunOssDomain;
-//    }
-//
-//    /**
-//     * oss上传文件
-//     *
-//     * @param dirName
-//     * @param inputStream
-//     * @param md5
-//     */
-//    public void ossUpload(String dirName, InputStream inputStream, String md5) throws IOException {
-//        log.info("ossUpload is come in");
-//        ObjectMetadata meta = new ObjectMetadata();
-//        if (Objects.nonNull(md5)) {
-//            // 设置MD5校验。
-//            meta.setContentMD5(md5);
-//        }
-//        PutObjectRequest putObjectRequest = new PutObjectRequest(this.aliYunOssDomain.getBucket(), dirName, inputStream, meta);
-//        PutObjectResult por = this.ossClient.putObject(putObjectRequest);
-//        log.info("dirName:{},requestid:{}", dirName, por.getRequestId());
-//    }
-//
-//    /**
-//     * oss上传文件
-//     *
-//     * @param dirName
-//     * @param file
-//     * @param md5
-//     */
-//    public void ossUpload(String dirName, File file, String md5) {
-//        log.info("ossUpload is come in");
-//        ObjectMetadata meta = new ObjectMetadata();
-//        if (Objects.nonNull(md5)) {
-//            // 设置MD5校验。
-//            meta.setContentMD5(md5);
-//        }
-//        PutObjectRequest putObjectRequest = new PutObjectRequest(this.aliYunOssDomain.getBucket(), dirName, file);
-//        PutObjectResult por = this.ossClient.putObject(putObjectRequest);
-//        log.info("dirName:{},requestid:{}", dirName, por.getRequestId());
-//    }
-//
-//    /**
-//     * oss上传文件
-//     *
-//     * @param dirName
-//     * @param content
-//     */
-//    public void ossUpload(String dirName, String content) {
-//        log.info("ossUpload is come in");
-//        PutObjectRequest putObjectRequest = new PutObjectRequest(this.aliYunOssDomain.getBucket(), dirName, new ByteArrayInputStream(content.getBytes()));
-//        PutObjectResult por = ossClient.putObject(putObjectRequest);
-//        log.info("dirName:{},requestid:{}", dirName, por.getRequestId());
-//    }
-//
-//    /**
-//     * oss copy
-//     *
-//     * @param dirName
-//     * @param dirNewName
-//     */
-//    public void ossCopy(String dirName, String dirNewName) {
-//        log.info("ossCopy is come in");
-//        CopyObjectResult result = ossClient.copyObject(this.aliYunOssDomain.getBucket(), dirName, this.aliYunOssDomain.getBucket(), dirNewName);
-//        log.info("ETag:{},LastModified:{}", result.getETag(), result.getLastModified());
-//    }
-//
-//    /**
-//     * 从oss上下载文件到本地
-//     *
-//     * @param dirName
-//     * @param localPath
-//     * @throws IOException
-//     */
-//    public File ossDownload(String dirName, String localPath) throws IOException {
-//        log.info("ossDownload is come in");
-//        // 下载OSS文件到本地文件。如果指定的本地文件存在会覆盖,不存在则新建。
-//        File localFile = new File(localPath);
-//        if (!localFile.getParentFile().exists()) {
-//            localFile.getParentFile().mkdirs();
-//        }
-//        ossClient.getObject(new GetObjectRequest(this.aliYunOssDomain.getBucket(), dirName), localFile);
-//        return localFile;
-//    }
-//
-//    /**
-//     * 从oss上下载文件到byte[]
-//     *
-//     * @param objectName
-//     * @throws IOException
-//     */
-//    public byte[] ossDownload(String objectName) throws IOException {
-//        log.info("oss Download is come in");
-//        OSSObject obj = ossClient.getObject(new GetObjectRequest(this.aliYunOssDomain.getBucket(), objectName));
-//        byte[] data = IOUtils.toByteArray(obj.getObjectContent());
-//        obj.close();
-//        return data;
-//    }
-//
-//    /**
-//     * oss删除文件
-//     *
-//     * @param dirName
-//     */
-//    public void ossDelete(String dirName) {
-//        ossClient.deleteObject(this.aliYunOssDomain.getBucket(), dirName);
-//    }
-//
-//    /**
-//     * oss批量删除文件
-//     *
-//     * @param paths
-//     */
-//    public void ossBatchDelete(List<String> paths) {
-//        // 删除文件。key等同于ObjectName,表示删除OSS文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
-//        DeleteObjectsResult deleteObjectsResult = ossClient.deleteObjects(new DeleteObjectsRequest(this.aliYunOssDomain.getBucket()).withKeys(paths));
-//        deleteObjectsResult.getDeletedObjects();
-//    }
-//
-//    /**
-//     * 获取私有bucket文件访问url
-//     *
-//     * @param objectPath
-//     * @return
-//     */
-//    public String getPrivateUrl(String objectPath) {
-//        Calendar calendar = Calendar.getInstance();
-//        calendar.setTime(new Date());
-//        calendar.add(Calendar.MILLISECOND, SystemConstant.OSS_URL_EXPIRE);
-//        GeneratePresignedUrlRequest generatePresignedUrlRequest;
-//        generatePresignedUrlRequest = new GeneratePresignedUrlRequest(this.aliYunOssDomain.getBucket(), objectPath);
-//        generatePresignedUrlRequest.setExpiration(calendar.getTime());
-//        return ossClient.generatePresignedUrl(generatePresignedUrlRequest).toString();
-//    }
-//}