瀏覽代碼

createTxt改造

wangliang 2 年之前
父節點
當前提交
1c461dbbc7
共有 17 個文件被更改,包括 111 次插入305 次删除
  1. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java
  2. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/DownloadServiceImpl.java
  3. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java
  4. 2 3
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java
  5. 14 64
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java
  6. 1 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  7. 2 87
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/export/AsyncExportTaskTemplete.java
  8. 10 54
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/importData/AsyncImportTaskTemplete.java
  9. 3 77
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/push/AsyncPushTaskTemplate.java
  10. 61 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  11. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AttachmentCommonServiceImpl.java
  12. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AuthInfoServiceImpl.java
  13. 5 5
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java
  14. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/ConvertUtil.java
  15. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/FileUtil.java
  16. 4 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/Zip4jUtil.java
  17. 1 1
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java

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

@@ -174,7 +174,7 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
     @Override
     public Object readContent(Long attachmentId) {
         BasicAttachment attachment = basicAttachmentService.getById(attachmentId);
-        if (attachment.getType().equals(".ftl") || attachment.getType().equals(".html")) {
+        if (attachment.getType().equals(SystemConstant.FTL_PREFIX) || attachment.getType().equals(SystemConstant.HTML_PREFIX)) {
             return teachcloudCommonService.readFileContent(attachment.getPath());
         }
         return null;

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

@@ -184,7 +184,7 @@ public class DownloadServiceImpl implements DownloadService {
         if (fileList.size() == 0) {
             throw ExceptionResultEnum.ERROR.exception("没有可导出文件");
         }
-        String zipName = examTask.getCourseName() + "未曝光试卷.zip";
+        String zipName = examTask.getCourseName() + "未曝光试卷" + SystemConstant.ZIP_PREFIX;
         attachmentCommonService.zipFiles(response, rootPath, zipName, fileList);
     }
 

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamCardServiceImpl.java

@@ -376,7 +376,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
                 if (attachment == null) {
                     throw ExceptionResultEnum.ERROR.exception("无模板文件记录");
                 }
-                if (!".html".equalsIgnoreCase(attachment.getType())) {
+                if (!SystemConstant.HTML_PREFIX.equalsIgnoreCase(attachment.getType())) {
                     throw ExceptionResultEnum.ERROR.exception("只能上传后缀为.html文件");
                 }
                 htmlContent = teachcloudCommonService.readFileContent(attachment.getPath());
@@ -425,7 +425,7 @@ public class ExamCardServiceImpl extends ServiceImpl<ExamCardMapper, ExamCard> i
                 if (attachment == null) {
                     throw ExceptionResultEnum.ERROR.exception("无模板文件记录");
                 }
-                if (!".html".equalsIgnoreCase(attachment.getType())) {
+                if (!SystemConstant.HTML_PREFIX.equalsIgnoreCase(attachment.getType())) {
                     throw ExceptionResultEnum.ERROR.exception("只能上传后缀为.html文件");
                 }
                 htmlContent = teachcloudCommonService.readFileContent(attachment.getPath());

+ 2 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamPrintPlanServiceImpl.java

@@ -15,7 +15,6 @@ import com.qmth.distributed.print.business.bean.result.PrintPlanResult;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamDetailStatusEnum;
-import com.qmth.distributed.print.business.enums.ExamPrintPlanSyncStatusEnum;
 import com.qmth.distributed.print.business.enums.MessageEnum;
 import com.qmth.distributed.print.business.enums.PrintPlanStatusEnum;
 import com.qmth.distributed.print.business.mapper.ExamPrintPlanMapper;
@@ -560,11 +559,11 @@ public class ExamPrintPlanServiceImpl extends ServiceImpl<ExamPrintPlanMapper, E
         fMap.put("type", map.get("type").toString());
         String attachmentId = map.get("attachmentId").toString();
         BasicAttachment attachment = basicAttachmentService.getById(attachmentId);
-        if (attachment.getType().equals(".ftl") || attachment.getType().equals(".html")) {
+        if (attachment.getType().equals(SystemConstant.FTL_PREFIX) || attachment.getType().equals(SystemConstant.HTML_PREFIX)) {
             String content = teachcloudCommonService.readFileContent(attachment.getPath());
             fMap.put("content", content);
             fMap.put("utl", null);
-        } else if (attachment.getType().equals(".pdf")) {
+        } else if (attachment.getType().equals(SystemConstant.PDF_PREFIX)) {
             fMap.put("content", null);
             Map<String, String> stringMap = teachcloudCommonService.filePreviewByAttachmentId(Long.valueOf(attachmentId), false);
             fMap.putAll(stringMap);

+ 14 - 64
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java

@@ -22,17 +22,19 @@ import com.qmth.distributed.print.business.service.ExamTaskService;
 import com.qmth.distributed.print.business.service.GradeBatchPaperService;
 import com.qmth.distributed.print.business.service.GradeBatchService;
 import com.qmth.distributed.print.business.service.GradeBatchStudentClazzService;
-import com.qmth.teachcloud.common.config.DictionaryConfig;
-import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.*;
-import com.qmth.teachcloud.common.enums.*;
+import com.qmth.teachcloud.common.entity.SysOrg;
+import com.qmth.teachcloud.common.entity.SysRole;
+import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.entity.SysUserRole;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
+import com.qmth.teachcloud.common.enums.RoleTypeEnum;
+import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ExcelUtil;
-import com.qmth.teachcloud.common.util.FileStoreUtil;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.excel.ExcelError;
-import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.apache.poi.ss.usermodel.*;
@@ -44,7 +46,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -59,6 +62,7 @@ import java.util.stream.Collectors;
  */
 @Service
 public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBatch> implements GradeBatchService {
+
     @Resource
     GradeBatchPaperService gradeBatchPaperService;
 
@@ -348,55 +352,12 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
 
     @Override
     public void createTxt(GradeBatch gradeBatch, String exception) {
-        final String TXT_PREFIX = ".txt";
-        if (Objects.isNull(gradeBatch)) {
-            throw ExceptionResultEnum.ERROR.exception("批次不存在");
-        }
-        FileStoreUtil fileStoreUtil = SpringContextHolder.getBean(FileStoreUtil.class);
-        DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
-        ByteArrayOutputStream out = null;
-        InputStream inputStream = null;
+        Optional.ofNullable(gradeBatch).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("批次不存在"));
         try {
             // 有异常才创建txt文件
             if (SystemConstant.strNotNull(exception)) {
-                boolean oss = dictionaryConfig.sysDomain().isOss();
-                StringJoiner stringJoiner = new StringJoiner("");
-                if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                    stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
-                }
-                stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
-                stringJoiner.add(SystemConstant.getNanoId()).add(TXT_PREFIX);
-
-                JSONObject jsonObject = new JSONObject();
-                String charset = SystemConstant.CHARSET_GBK;
-                CommonCacheService commonCacheService = SpringContextHolder.getBean(CommonCacheService.class);
-                if (commonCacheService != null) {
-                    SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.SYS_CONFIG_KEY_CHARSETS);
-                    if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
-                        charset = sysConfig.getConfigValue();
-                    }
-                }
-                out = new ByteArrayOutputStream();
-                out.write(exception.getBytes(charset));
-                byte[] bookByteAry = out.toByteArray();
-                inputStream = new ByteArrayInputStream(bookByteAry);
-
-                String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
-                if (oss) {//上传至oss\
-                    fileStoreUtil.ossUpload(dirName, inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), UploadFileEnum.FILE.getFssType());
-                    jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
-                    jsonObject.put(SystemConstant.PATH, dirName);
-                } else {//上传至服务器
-                    if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getServer())) {
-                        fileStoreUtil.copyInputStreamToFile(inputStream, new File(stringJoiner.toString()), DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), LocalCatalogEnum.LOCAL_FILE);
-                    } else {
-                        fileStoreUtil.ossUpload(dirName, inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), UploadFileEnum.FILE.getFssType());
-                    }
-                    jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
-                    jsonObject.put(SystemConstant.PATH, stringJoiner.toString());
-                }
-                jsonObject.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
-                gradeBatch.setReportFilePath(jsonObject.toJSONString());
+                JSONObject json = SystemConstant.createTxt(exception);
+                gradeBatch.setReportFilePath(json.toJSONString());
             }
         } catch (Exception e) {
             gradeBatch.setResult(TaskResultEnum.ERROR);
@@ -406,17 +367,6 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
                 ResultUtil.error(e.getMessage());
             }
         } finally {
-            try {
-                if (Objects.nonNull(inputStream)) {
-                    inputStream.close();
-                }
-                if (Objects.nonNull(out)) {
-                    out.flush();
-                    out.close();
-                }
-            } catch (IOException e) {
-                log.error(SystemConstant.LOG_ERROR, e);
-            }
             this.updateById(gradeBatch);
         }
     }

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

@@ -611,7 +611,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
 
             // pdf需要读取总页数
             Integer pages = 0;
-            if (".pdf".equals(format)) {
+            if (SystemConstant.PDF_PREFIX.equals(format)) {
                 PdfReader pdfReader = new PdfReader(file.getBytes());
                 pages = pdfReader.getNumberOfPages();
             }

+ 2 - 87
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/export/AsyncExportTaskTemplete.java

@@ -4,33 +4,21 @@ import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.templete.importData.AsyncImportTaskTemplete;
-import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.SysConfig;
 import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
 import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.enums.TaskStatusEnum;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
-import com.qmth.teachcloud.common.service.CommonCacheService;
-import com.qmth.teachcloud.common.service.SysConfigService;
 import com.qmth.teachcloud.common.service.TBTaskService;
-import com.qmth.teachcloud.common.util.FileStoreUtil;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Async;
 
-import javax.annotation.Resource;
-import java.io.*;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.Map;
-import java.util.Objects;
 import java.util.StringJoiner;
 
 /**
@@ -41,16 +29,12 @@ import java.util.StringJoiner;
  * @Date: 2021/3/29
  */
 public abstract class AsyncExportTaskTemplete {
-    @Resource
-    SysConfigService sysConfigService;
-
     private final static Logger log = LoggerFactory.getLogger(AsyncImportTaskTemplete.class);
     public static final String BEGIN_TITLE = "->开始准备处理导出的";
     public static final String FINISH_TITLE = "->数据处理结束,共处理了";
     public static final String FINISH_SIZE = "条数据。";
     public static final String EXCEPTION_TITLE = "->数据处理发生异常!";
     public static final String EXCEPTION_DATA = "错误信息:";
-    public static final String TXT_PREFIX = ".txt";
     public static final String EXCEPTION_CREATE_TXT_TITLE = "->创建导出日志时发生异常!";
 
     /**
@@ -68,67 +52,8 @@ public abstract class AsyncExportTaskTemplete {
      * @param tbTask
      */
     public void createTxt(TBTask tbTask) {
-//        OssUtil ossUtil = SpringContextHolder.getBean(OssUtil.class);
-        FileStoreUtil fileStoreUtil = SpringContextHolder.getBean(FileStoreUtil.class);
-        TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
-        ByteArrayOutputStream out = null;
-        InputStream inputStream = null;
         try {
-            DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
-            JSONObject jsonObject = JSONObject.parseObject(tbTask.getResultFilePath());
-            if (Objects.isNull(jsonObject)) {
-                jsonObject = new JSONObject();
-                StringJoiner stringJoiner = new StringJoiner("");
-                if (Objects.nonNull(dictionaryConfig) && dictionaryConfig.sysDomain().isOss()) {
-                    jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
-                } else {
-                    if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                        stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
-                    }
-                    jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
-                }
-                stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
-                stringJoiner.add(SystemConstant.getNanoId()).add(TXT_PREFIX);
-                jsonObject.put(SystemConstant.PATH, stringJoiner.toString());
-            }
-            String path = (String) jsonObject.get(SystemConstant.PATH);
-            path = path.replaceAll("\\\\", "/");
-            String type = (String) jsonObject.get(SystemConstant.TYPE);
-
-            String charset = SystemConstant.CHARSET_GBK;
-            CommonCacheService commonCacheService = SpringContextHolder.getBean(CommonCacheService.class);
-            if (commonCacheService != null) {
-                SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.SYS_CONFIG_KEY_CHARSETS);
-                if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
-                    charset = sysConfig.getConfigValue();
-                }
-            }
-
-            out = new ByteArrayOutputStream();
-            out.write(tbTask.getSummary().getBytes(charset));
-            byte[] bookByteAry = out.toByteArray();
-            inputStream = new ByteArrayInputStream(bookByteAry);
-            StringJoiner stringJoiner = new StringJoiner("");
-            path = path.substring(0, path.lastIndexOf("/") + 1);
-            stringJoiner.add(path).add(SystemConstant.getNanoId()).add(TXT_PREFIX).toString();
-            if (Objects.equals(type, SystemConstant.OSS)) {//上传至oss
-                fileStoreUtil.ossUpload(stringJoiner.toString(), inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), fileStoreUtil.getUploadEnumByPath(stringJoiner.toString()).getFssType());
-            } else {//上传至服务器
-                File finalFile = new File(stringJoiner.toString());
-                if (!finalFile.exists()) {
-                    finalFile.getParentFile().mkdirs();
-                    finalFile.createNewFile();
-                }
-                if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                    fileStoreUtil.copyInputStreamToFile(inputStream, finalFile, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), LocalCatalogEnum.LOCAL_FILE);
-                } else {
-                    fileStoreUtil.ossUpload(stringJoiner.toString(), inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), UploadFileEnum.FILE.getFssType());
-                }
-            }
-            JSONObject json = new JSONObject();
-            json.put(SystemConstant.PATH, stringJoiner.toString());
-            json.put(SystemConstant.TYPE, type);
-            json.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
+            JSONObject json = SystemConstant.createTxt(tbTask.getSummary());
             tbTask.setReportFilePath(json.toJSONString());
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
@@ -142,17 +67,7 @@ public abstract class AsyncExportTaskTemplete {
                 ResultUtil.error(e.getMessage());
             }
         } finally {
-            try {
-                if (Objects.nonNull(inputStream)) {
-                    inputStream.close();
-                }
-                if (Objects.nonNull(out)) {
-                    out.flush();
-                    out.close();
-                }
-            } catch (IOException e) {
-                log.error(SystemConstant.LOG_ERROR, e);
-            }
+            TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
             tbTask.setStatus(TaskStatusEnum.FINISH);
             tbTaskService.updateById(tbTask);
         }

+ 10 - 54
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/importData/AsyncImportTaskTemplete.java

@@ -6,23 +6,24 @@ import com.qmth.boot.api.exception.ApiException;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.SysConfig;
 import com.qmth.teachcloud.common.entity.TBTask;
-import com.qmth.teachcloud.common.enums.*;
-import com.qmth.teachcloud.common.service.CommonCacheService;
+import com.qmth.teachcloud.common.enums.TaskResultEnum;
+import com.qmth.teachcloud.common.enums.TaskStatusEnum;
+import com.qmth.teachcloud.common.enums.TaskTypeEnum;
+import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.service.TBTaskService;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Async;
 
-import java.io.*;
-import java.nio.charset.StandardCharsets;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.Map;
@@ -37,15 +38,12 @@ import java.util.StringJoiner;
  * @Date: 2021/3/29
  */
 public abstract class AsyncImportTaskTemplete {
-
     private final static Logger log = LoggerFactory.getLogger(AsyncImportTaskTemplete.class);
-
     public static final String BEGIN_TITLE = "->开始准备处理导入的";
     public static final String EXCEPTION_TITLE = "->数据处理发生异常!";
     public static final String EXCEPTION_DATA = "错误信息:";
     public static final String FINISH_TITLE = "->数据处理结束,共处理了";
     public static final String FINISH_SIZE = "条数据";
-    public static final String TXT_PREFIX = ".txt";
     public static final String EXCEPTION_CREATE_TXT_TITLE = "->创建导出日志时发生异常!";
 
     /**
@@ -75,14 +73,12 @@ public abstract class AsyncImportTaskTemplete {
         if (Objects.equals(type, SystemConstant.OSS)) {
             inputStream = fileStoreUtil.ossDownloadIs(path, uploadType.getFssType());
         } else {
-//            StringJoiner localPath = new StringJoiner("").add(SystemConstant.TEMP_FILES_DIR).add(File.separator).add(path);
             DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
             if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 inputStream = new FileInputStream(new File(path));
             } else {
                 inputStream = fileStoreUtil.ossDownloadIs(path, uploadType.getFssType());
             }
-//            inputStream = fileStoreUtil.ossDownloadIs(path, "localfile");
         }
         return inputStream;
     }
@@ -93,46 +89,8 @@ public abstract class AsyncImportTaskTemplete {
      * @param tbTask
      */
     public void createTxt(TBTask tbTask) throws IOException {
-        TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
-        File txtFileTemp = null;
         try {
-            FileStoreUtil fileStoreUtil = SpringContextHolder.getBean(FileStoreUtil.class);
-            DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
-            CommonCacheService commonCacheService = SpringContextHolder.getBean(CommonCacheService.class);
-            boolean oss = dictionaryConfig.sysDomain().isOss();
-            String ossStr = null;
-            StringJoiner stringJoiner = new StringJoiner("");
-            if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
-            }
-            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
-            stringJoiner.add(SystemConstant.getNanoId()).add(TXT_PREFIX);
-
-            String txtDirName = stringJoiner.toString();
-            txtFileTemp = SystemConstant.getFileTempVar(TXT_PREFIX);
-            SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.SYS_CONFIG_KEY_CHARSETS);
-            if (Objects.nonNull(sysConfig) && Objects.nonNull(sysConfig.getConfigValue())) {
-                IOUtils.write(tbTask.getSummary().getBytes(sysConfig.getConfigValue()), new FileOutputStream(txtFileTemp));
-            } else {
-                IOUtils.write(tbTask.getSummary().getBytes(StandardCharsets.UTF_8), new FileOutputStream(txtFileTemp));
-            }
-
-            String txtFileMd5 = DigestUtils.md5Hex(new FileInputStream(txtFileTemp));
-            if (oss) {
-                ossStr = SystemConstant.OSS;
-                fileStoreUtil.ossUpload(txtDirName, txtFileTemp, txtFileMd5, fileStoreUtil.getUploadEnumByPath(txtDirName).getFssType());
-            } else {
-                ossStr = SystemConstant.LOCAL;
-                if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                    fileStoreUtil.localUpload(txtDirName, new FileInputStream(txtFileTemp), txtFileMd5, LocalCatalogEnum.LOCAL_FILE);
-                } else {
-                    fileStoreUtil.ossUpload(txtDirName, txtFileTemp, txtFileMd5, fileStoreUtil.getUploadEnumByPath(txtDirName).getFssType());
-                }
-            }
-            JSONObject json = new JSONObject();
-            json.put(SystemConstant.PATH, stringJoiner.toString());
-            json.put(SystemConstant.TYPE, ossStr);
-            json.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
+            JSONObject json = SystemConstant.createTxt(tbTask.getSummary());
             tbTask.setReportFilePath(json.toJSONString());
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
@@ -156,9 +114,7 @@ public abstract class AsyncImportTaskTemplete {
                 ResultUtil.error(e.getMessage());
             }
         } finally {
-            if (Objects.nonNull(txtFileTemp)) {
-                txtFileTemp.delete();
-            }
+            TBTaskService tbTaskService = SpringContextHolder.getBean(TBTaskService.class);
             tbTask.setStatus(TaskStatusEnum.FINISH);
             if (tbTask.getType() == TaskTypeEnum.CREATE_PDF) {
                 tbTask.setResultFilePath(tbTask.getImportFilePath());

+ 3 - 77
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/push/AsyncPushTaskTemplate.java

@@ -5,30 +5,20 @@ import com.alibaba.fastjson.JSONObject;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.entity.TBSyncTask;
 import com.qmth.distributed.print.business.service.TBSyncTaskService;
-import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.SysConfig;
-import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
 import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.enums.TaskStatusEnum;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
-import com.qmth.teachcloud.common.service.CommonCacheService;
-import com.qmth.teachcloud.common.util.FileStoreUtil;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Async;
 
-import javax.annotation.Resource;
-import java.io.*;
+import java.io.IOException;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.Map;
-import java.util.Objects;
 import java.util.StringJoiner;
 
 /**
@@ -37,20 +27,13 @@ import java.util.StringJoiner;
  * @Date: 2021-10-31
  */
 public abstract class AsyncPushTaskTemplate {
-    @Resource
-    private DictionaryConfig dictionaryConfig;
-    @Resource
-    private TBSyncTaskService tbSyncTaskService;
-
     private final static Logger log = LoggerFactory.getLogger(AsyncPushTaskTemplate.class);
-
     public static final String BEGIN_TITLE = "->开始准备处理同步的";
     public static final String EXCEPTION_TITLE = "->数据处理发生异常!";
     public static final String EXCEPTION_DATA = "错误信息:";
     public static final String FINISH_TITLE = "->数据处理结束,共需处理";
     public static final String SUCCESS_TITLE = "条数据,其中成功处理了";
     public static final String FINISH_SIZE = "条数据。";
-    public static final String TXT_PREFIX = ".txt";
     public static final String EXCEPTION_CREATE_TXT_TITLE = "->创建导出日志时发生异常!";
 
     /**
@@ -69,55 +52,8 @@ public abstract class AsyncPushTaskTemplate {
      * @param tbSyncTask
      */
     public void createTxt(TBSyncTask tbSyncTask) {
-        FileStoreUtil fileStoreUtil = SpringContextHolder.getBean(FileStoreUtil.class);
-        ByteArrayOutputStream out = null;
-        InputStream inputStream = null;
         try {
-            String charset = SystemConstant.CHARSET_GBK;
-            CommonCacheService commonCacheService = SpringContextHolder.getBean(CommonCacheService.class);
-            if (commonCacheService != null) {
-                SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.SYS_CONFIG_KEY_CHARSETS);
-                if (sysConfig != null && StringUtils.isNotBlank(sysConfig.getConfigValue())) {
-                    charset = sysConfig.getConfigValue();
-                }
-            }
-
-            out = new ByteArrayOutputStream();
-            out.write(tbSyncTask.getSummary().getBytes(charset));
-            byte[] bookByteAry = out.toByteArray();
-            inputStream = new ByteArrayInputStream(bookByteAry);
-
-            boolean oss = dictionaryConfig.sysDomain().isOss();
-            StringJoiner stringJoiner = new StringJoiner("");
-            JSONObject json = new JSONObject();
-            if (oss) {
-                json.put(SystemConstant.TYPE, SystemConstant.OSS);
-            } else {
-                if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                    stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
-                }
-                json.put(SystemConstant.TYPE, SystemConstant.LOCAL);
-            }
-
-            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
-            stringJoiner.add(SystemConstant.getNanoId()).add(TXT_PREFIX);
-
-            String path = stringJoiner.toString().replaceAll("\\\\", "/");
-            String type = (String) json.get(SystemConstant.TYPE);
-
-            //上传至oss
-            if (Objects.equals(type, SystemConstant.OSS)) {
-                fileStoreUtil.ossUpload(path, inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), fileStoreUtil.getUploadEnumByPath(stringJoiner.toString()).getFssType());
-            } else {//上传至服务器
-                if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                    fileStoreUtil.copyInputStreamToFile(inputStream, new File(stringJoiner.toString()), DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), LocalCatalogEnum.LOCAL_FILE);
-                } else {
-                    fileStoreUtil.ossUpload(path, inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(bookByteAry)), UploadFileEnum.FILE.getFssType());
-                }
-            }
-            json.put(SystemConstant.PATH, path);
-            json.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
-
+            JSONObject json = SystemConstant.createTxt(tbSyncTask.getSummary());
             tbSyncTask.setReportFilePath(json.toJSONString());
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
@@ -131,17 +67,7 @@ public abstract class AsyncPushTaskTemplate {
                 ResultUtil.error(e.getMessage());
             }
         } finally {
-            try {
-                if (Objects.nonNull(inputStream)) {
-                    inputStream.close();
-                }
-                if (Objects.nonNull(out)) {
-                    out.flush();
-                    out.close();
-                }
-            } catch (IOException e) {
-                log.error(SystemConstant.LOG_ERROR, e);
-            }
+            TBSyncTaskService tbSyncTaskService = SpringContextHolder.getBean(TBSyncTaskService.class);
             tbSyncTask.setStatus(TaskStatusEnum.FINISH);
             tbSyncTaskService.updateById(tbSyncTask);
         }

+ 61 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -1,13 +1,16 @@
 package com.qmth.teachcloud.common.contant;
 
+import com.alibaba.fastjson.JSONObject;
 import com.aventrix.jnanoid.jnanoid.NanoIdUtils;
 import com.qmth.boot.core.uid.service.UidService;
 import com.qmth.teachcloud.common.annotation.DBVerify;
 import com.qmth.teachcloud.common.bean.result.DBVerifyResult;
 import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.entity.BasicSchool;
+import com.qmth.teachcloud.common.entity.SysConfig;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
+import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
 import com.qmth.teachcloud.common.enums.TFCustomTypeEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.service.CommonCacheService;
@@ -25,6 +28,7 @@ import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -207,7 +211,8 @@ public class SystemConstant {
     public static final String PDF_PREFIX = ".pdf";
     public static final String FTL_PREFIX = ".ftl";
     public static final String ZIP_PREFIX = ".zip";
-    //    public static final String JPG_PREFIX = ".jpg";
+    public static final String TXT_PREFIX = ".txt";
+    public static final String JPG_PREFIX = ".jpg";
     public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
     public static final String DATE_PATTERN = "yyyy-MM-dd";
     public static final String TIME_PATTERN = "HH:mm";
@@ -986,4 +991,59 @@ public class SystemConstant {
             }
         }
     }
+
+    /**
+     * 创建txt文件
+     *
+     * @param message
+     * @return
+     * @throws Exception
+     */
+    public static JSONObject createTxt(String message) throws Exception {
+        File txtFileTemp = null;
+        try {
+            FileStoreUtil fileStoreUtil = SpringContextHolder.getBean(FileStoreUtil.class);
+            DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
+            CommonCacheService commonCacheService = SpringContextHolder.getBean(CommonCacheService.class);
+            boolean oss = dictionaryConfig.sysDomain().isOss();
+            String ossStr = null;
+            StringJoiner stringJoiner = new StringJoiner("");
+            if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
+                stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
+            }
+            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.TXT_PREFIX);
+
+            String txtDirName = stringJoiner.toString();
+            txtFileTemp = SystemConstant.getFileTempVar(SystemConstant.TXT_PREFIX);
+            SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.SYS_CONFIG_KEY_CHARSETS);
+            if (Objects.nonNull(sysConfig) && Objects.nonNull(sysConfig.getConfigValue())) {
+                IOUtils.write(message.getBytes(sysConfig.getConfigValue()), new FileOutputStream(txtFileTemp));
+            } else {
+                IOUtils.write(message.getBytes(StandardCharsets.UTF_8), new FileOutputStream(txtFileTemp));
+            }
+
+            String txtFileMd5 = DigestUtils.md5Hex(new FileInputStream(txtFileTemp));
+            if (oss) {
+                ossStr = SystemConstant.OSS;
+                fileStoreUtil.ossUpload(txtDirName, txtFileTemp, txtFileMd5, fileStoreUtil.getUploadEnumByPath(txtDirName).getFssType());
+            } else {
+                ossStr = SystemConstant.LOCAL;
+                if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
+                    fileStoreUtil.localUpload(txtDirName, new FileInputStream(txtFileTemp), txtFileMd5, LocalCatalogEnum.LOCAL_FILE);
+                } else {
+                    fileStoreUtil.ossUpload(txtDirName, txtFileTemp, txtFileMd5, fileStoreUtil.getUploadEnumByPath(txtDirName).getFssType());
+                }
+            }
+            JSONObject json = new JSONObject();
+            json.put(SystemConstant.PATH, stringJoiner.toString());
+            json.put(SystemConstant.TYPE, ossStr);
+            json.put(SystemConstant.UPLOAD_TYPE, UploadFileEnum.FILE);
+            return json;
+        } finally {
+            if (Objects.nonNull(txtFileTemp)) {
+                txtFileTemp.delete();
+            }
+        }
+    }
 }

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AttachmentCommonServiceImpl.java

@@ -89,7 +89,7 @@ public class AttachmentCommonServiceImpl implements AttachmentCommonService {
         }
         File zipFile = null;
         try {
-            zipName = StringUtils.isNotBlank(zipName) ? zipName : SystemConstant.getNanoId() + ".zip";
+            zipName = StringUtils.isNotBlank(zipName) ? zipName : SystemConstant.getNanoId() + SystemConstant.ZIP_PREFIX;
             zipFile = FileUtil.file(filePath, zipName);
             Zip4jUtil.zipEncryptFile(zipFile.getPath(), files, SystemConstant.ZIP_ENCRYPT_PWD);
             outputFile(response, zipFile, zipName);

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AuthInfoServiceImpl.java

@@ -190,7 +190,7 @@ public class AuthInfoServiceImpl implements AuthInfoService {
                     String dirName = null;
                     try {
 //                        File fileNew = new File("/Volumes/extend/图库/spring.jpg");
-                        fileTemp = File.createTempFile("temp", ".jpg");
+                        fileTemp = File.createTempFile("temp", SystemConstant.JPG_PREFIX);
                         SystemConstant.base64ToImage(o.getLogo(), fileTemp.getPath());
 //                        FileUtils.copyInputStreamToFile(new FileInputStream(fileNew), fileTemp);
 

+ 5 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -540,7 +540,7 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
             pathUrl = fileStoreUtil.getPrivateUrl(filePath, uploadFileEnum.getFssType());
         }
         map.put("url", pathUrl);
-        if (attachment.getType().equals(".html")) {
+        if (attachment.getType().equals(SystemConstant.HTML_PREFIX)) {
             String htmlMd5 = (String) jsonObject.get("htmlMd5");
             map.put("md5", htmlMd5);
         } else {
@@ -672,7 +672,7 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
             } else {
                 zipPath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + schoolId;
             }
-            zipFile = FileUtil.file(zipPath, time + ".zip");
+            zipFile = FileUtil.file(zipPath, time + SystemConstant.ZIP_PREFIX);
             Zip4jUtil.zipEncryptFile(zipFile.getPath(), files, SystemConstant.ZIP_ENCRYPT_PWD);
             outputFile(response, zipFile, String.valueOf(time));
         } catch (Exception e) {
@@ -708,7 +708,7 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
             } else {
                 zipPath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + schoolId;
             }
-            zipFile = FileUtil.file(zipPath, time + ".zip");
+            zipFile = FileUtil.file(zipPath, time + SystemConstant.ZIP_PREFIX);
             Zip4jUtil.zipEncryptFile(zipFile.getPath(), zipRootPath, SystemConstant.ZIP_ENCRYPT_PWD);
             outputFile(response, zipFile, String.valueOf(time));
         } catch (Exception e) {
@@ -731,9 +731,9 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
         File zipFile = null;
         try {
             if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
-                zipFile = FileUtil.file(dictionaryConfig.fssLocalFileDomain().getConfig(), time + ".zip");
+                zipFile = FileUtil.file(dictionaryConfig.fssLocalFileDomain().getConfig(), time + SystemConstant.ZIP_PREFIX);
             } else {
-                zipFile = FileUtil.file(dictionaryConfig.fssPublicDomain().getConfig(), time + ".zip");
+                zipFile = FileUtil.file(dictionaryConfig.fssPublicDomain().getConfig(), time + SystemConstant.ZIP_PREFIX);
             }
             Zip4jUtil.zipEncryptFile(zipFile.getPath(), rootPath, SystemConstant.ZIP_ENCRYPT_PWD);
             outputFile(response, zipFile, String.valueOf(time));

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/ConvertUtil.java

@@ -398,7 +398,7 @@ public class ConvertUtil {
                 ImageIO.write(bim, "jpg", os);
                 byte[] dataList = os.toByteArray();
                 // jpg文件转出路径
-                File file = new File(targetPath + "-" + (i + 1) + ".jpg");
+                File file = new File(targetPath + "-" + (i + 1) + SystemConstant.JPG_PREFIX);
                 if (!file.getParentFile().exists()) {
                     // 不存在则创建父目录及子文件
                     file.getParentFile().mkdirs();

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/FileUtil.java

@@ -205,7 +205,7 @@ public class FileUtil {
         }
 
         String zipName = zipFile.getName().toLowerCase();
-        if (zipFile.isDirectory() || zipName.indexOf(".zip") < 0) {
+        if (zipFile.isDirectory() || zipName.indexOf(SystemConstant.ZIP_PREFIX) < 0) {
             throw ExceptionResultEnum.ERROR.exception("待解压的文件格式错误!");
         }
 

+ 4 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/util/Zip4jUtil.java

@@ -34,7 +34,7 @@ public class Zip4jUtil {
      */
     public static void zipFile(String scrPath, List<File> files) {
         Optional.ofNullable(scrPath).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("原始路径不能为空"));
-        if (!scrPath.endsWith(".zip")) {
+        if (!scrPath.endsWith(SystemConstant.ZIP_PREFIX)) {
             throw ExceptionResultEnum.ERROR.exception("压缩文件必须为zip");
         }
         if (CollectionUtils.isEmpty(files)) {
@@ -51,7 +51,7 @@ public class Zip4jUtil {
      */
     public static void zipFile(String scrPath, String destPath) {
         Optional.ofNullable(scrPath).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("原始路径不能为空"));
-        if (!scrPath.endsWith(".zip")) {
+        if (!scrPath.endsWith(SystemConstant.ZIP_PREFIX)) {
             throw ExceptionResultEnum.ERROR.exception("压缩文件必须为zip");
         }
         Optional.ofNullable(destPath).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("压缩路径不能为空"));
@@ -68,7 +68,7 @@ public class Zip4jUtil {
      */
     public static void zipEncryptFile(String scrPath, List<File> files, String password) {
         Optional.ofNullable(scrPath).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("原始路径不能为空"));
-        if (!scrPath.endsWith(".zip")) {
+        if (!scrPath.endsWith(SystemConstant.ZIP_PREFIX)) {
             throw ExceptionResultEnum.ERROR.exception("压缩文件必须为zip");
         }
         if (CollectionUtils.isEmpty(files)) {
@@ -87,7 +87,7 @@ public class Zip4jUtil {
      */
     public static void zipEncryptFile(String scrPath, String destPath, String password) {
         Optional.ofNullable(scrPath).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("原始路径不能为空"));
-        if (!scrPath.endsWith(".zip")) {
+        if (!scrPath.endsWith(SystemConstant.ZIP_PREFIX)) {
             throw ExceptionResultEnum.ERROR.exception("压缩文件必须为zip");
         }
         Optional.ofNullable(destPath).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("压缩路径不能为空"));

+ 1 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java

@@ -797,7 +797,7 @@ public class ReportCommonServiceImpl implements ReportCommonService {
 
             // pdf需要读取总页数
             Integer pages = 0;
-            if (".pdf".equals(format)) {
+            if (SystemConstant.PDF_PREFIX.equals(format)) {
                 PdfReader pdfReader = new PdfReader(file.getBytes());
                 pages = pdfReader.getNumberOfPages();
             }