wangliang 2 лет назад
Родитель
Сommit
a344756059
16 измененных файлов с 119 добавлено и 262 удалено
  1. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/backup/MySQLDatabaseBackup.java
  2. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java
  3. 2 9
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicTemplateServiceImpl.java
  4. 2 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradeBatchServiceImpl.java
  5. 19 72
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java
  6. 6 25
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TSyncExamStudentScoreServiceImpl.java
  7. 2 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/export/AsyncExportTaskTemplete.java
  8. 2 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/importData/AsyncImportTaskTemplete.java
  9. 2 7
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/push/AsyncPushTaskTemplate.java
  10. 17 53
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java
  11. 2 8
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/FreemarkerUtil.java
  12. 4 14
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/PdfUtil.java
  13. 30 4
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java
  14. 22 30
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/AuthInfoServiceImpl.java
  15. 3 8
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicAttachmentServiceImpl.java
  16. 2 6
      teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/ReportCommonServiceImpl.java

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/backup/MySQLDatabaseBackup.java

@@ -88,7 +88,7 @@ public class MySQLDatabaseBackup {
             bufferedReader = new BufferedReader(inputStreamReader);
             IOUtils.copy(bufferedReader, printWriter);
             if (process.waitFor() == 0) {//0 表示线程正常终止。
-                StringJoiner stringJoiner = SystemConstant.getDirName();
+                StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
                 stringJoiner.add("db").add(File.separator).add("backup").add(File.separator)
                         .add(DateUtil.format(new Date(), SystemConstant.BACK_UP_DATE_PATTERN)).add("_").add(NanoIdUtils.randomNanoId())
                         .add("_backup.sql");
@@ -190,7 +190,7 @@ public class MySQLDatabaseBackup {
                 string = DateUtil.format(new Date(), SystemConstant.DEFAULT_DATE_PATTERN) + "删除数据成功!!!";
                 IOUtils.write(string.getBytes(StandardCharsets.UTF_8), new FileOutputStream(file));
 
-                StringJoiner stringJoiner = SystemConstant.getDirName();
+                StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
                 stringJoiner.add("db").add(File.separator).add("delete").add(File.separator)
                         .add(DateUtil.format(new Date(), SystemConstant.BACK_UP_DATE_PATTERN)).add("_").add(NanoIdUtils.randomNanoId())
                         .add("_").add(String.valueOf(schoolId)).add("_delete.sql");

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

@@ -242,7 +242,7 @@ public class ActivitiServiceImpl implements ActivitiService {
         try {
             file = SystemConstant.getFileTempVar(bpmnPngName);
             FileUtils.copyInputStreamToFile(processDiagram, file);
-            StringJoiner stringJoiner = SystemConstant.getDirName();
+            StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
             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) {
@@ -279,7 +279,7 @@ public class ActivitiServiceImpl implements ActivitiService {
         try {
             file = SystemConstant.getFileTempVar(bpmnProcessName);
             FileUtils.copyInputStreamToFile(processBpmn, file);
-            StringJoiner stringJoiner = SystemConstant.getDirName();
+            StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
             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) {

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

@@ -36,7 +36,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.File;
-import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -208,14 +207,8 @@ public class BasicTemplateServiceImpl extends ServiceImpl<BasicTemplateMapper, B
         }
         ClassifyEnum classifyEnum = ClassifyEnum.valueOf(classifyStr);
 
-        LocalDateTime nowTime = LocalDateTime.now();
-        StringJoiner pdfStringJoiner = new StringJoiner("");
-        pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
-        pdfStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                .add(String.format("%02d", nowTime.getDayOfMonth()));
-        pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
-
+        StringJoiner pdfStringJoiner = SystemConstant.getDirName(UploadFileEnum.PDF, true);
+        pdfStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
         String pdfDirName = pdfStringJoiner.toString();
 
         String destUrl = null;

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

@@ -46,7 +46,6 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.URLEncoder;
-import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -361,19 +360,14 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
             // 有异常才创建txt文件
             if (SystemConstant.strNotNull(exception)) {
                 boolean oss = dictionaryConfig.sysDomain().isOss();
-                LocalDateTime nowTime = LocalDateTime.now();
                 StringJoiner stringJoiner = new StringJoiner("");
                 if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                     stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
                 }
-                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()));
-                stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(TXT_PREFIX);
+                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) {

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

@@ -53,7 +53,6 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import java.io.*;
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -202,13 +201,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                     htmlFile = new File(filePath);
                 }
             }
-            LocalDateTime nowTime = LocalDateTime.now();
-            StringJoiner pdfStringJoiner = new StringJoiner("");
-            pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
-            pdfStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()));
-            pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
+            StringJoiner pdfStringJoiner = SystemConstant.getDirName(UploadFileEnum.PDF, true);
+            pdfStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
 
             String pdfDirName = pdfStringJoiner.toString();
             String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
@@ -224,13 +218,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                 pdfFile.getParentFile().mkdirs();
                 pdfFile.createNewFile();
             }
-//            if (flowSchoolCodeMap.get(SystemConstant.GDYKDX_FLOW_KEY).contains(basicSchool.getCode())) {
-//                HtmlToPdfUtil.convert(htmlFile.getPath(), destUrl, PageSizeEnum.A3);
-//            } else if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {
-//                HtmlToPdfUtil.convert(htmlFile.getPath(), destUrl, PageSizeEnum.A4);
-//            } else {
             HtmlToPdfUtil.convert(htmlFile.getPath(), destUrl, PageSizeEnum.A4);
-//            }
 
 //            File pdfFile = asposePdfUtil.documentToPdf(htmlFile.getPath(), destUrl, PaperSize.A4);
             String htmlFileMd5 = DigestUtils.md5Hex(new FileInputStream(htmlFile));
@@ -269,13 +257,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
             examDetail.setAttachmentPath(attachmentPath.toJSONString());
             basicAttachment.setPages(pdfDto.getActualPageCount());
             for (int i = 0; i < printCount; i++) {
-//                if (flowSchoolCodeMap.get(SystemConstant.GDYKDX_FLOW_KEY).contains(basicSchool.getCode())) {
-//                    pdfList.add(new PdfDto(pdfFile.getPath(), PageSizeEnum.A3, pdfDto.getPageCount(), sequence));
-//                } else if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {
-//                    pdfList.add(new PdfDto(pdfFile.getPath(), PageSizeEnum.A4, pdfDto.getPageCount(), sequence));
-//                } else {
                 pdfList.add(new PdfDto(pdfFile.getPath(), PageSizeEnum.A4, pdfDto.getPageCount(), sequence));
-//                }
             }
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
@@ -300,13 +282,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     public void saveAttachmentSignPdf(PdfSignDto pdfFillDto, ExamDetail examDetail, List<PdfDto> pdfList, Integer printCount) {
         try {
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
-            StringJoiner pdfStringJoiner = new StringJoiner("");
-            pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
-            pdfStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()));
-            pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
+            StringJoiner pdfStringJoiner = SystemConstant.getDirName(UploadFileEnum.PDF, true);
+            pdfStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
 
             String pdfDirName = pdfStringJoiner.toString();
             String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
@@ -386,18 +363,14 @@ public class PrintCommonServiceImpl implements PrintCommonService {
             byte[] bytes = htmlContent.getBytes();
             int size = bytes.length;
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
             }
-            stringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator)
-                    .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()));
+            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.HTML, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
 
             JSONObject jsonObject = new JSONObject();
-            stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
             String fileMd5 = null;
             if (oss) {//上传至oss
                 String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
@@ -414,12 +387,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                 }
 //                File localHtmlFile = ossUtil.ossDownload(dirName, url);
                 File localHtmlFile = fileStoreUtil.ossDownload(dirName, url, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
-                StringJoiner pdfStringJoiner = new StringJoiner("");
-                pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
-                pdfStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getDayOfMonth()));
-                pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
+                StringJoiner pdfStringJoiner = SystemConstant.getDirName(UploadFileEnum.PDF, true);
+                pdfStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
 
                 String pdfDirName = pdfStringJoiner.toString();
 
@@ -507,20 +476,15 @@ public class PrintCommonServiceImpl implements PrintCommonService {
             byte[] bytes = htmlContent.getBytes();
             int size = bytes.length;
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
             }
-            stringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator)
-                    .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()));
+            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.HTML, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
 
             JSONObject jsonObject = new JSONObject();
-            stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
             String fileMd5 = null;
-
             if (oss) {//上传至oss
                 String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
                 fileStoreUtil.ossUpload(dirName, htmlContent, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
@@ -533,13 +497,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                     url = dirName;
                 }
                 File localHtmlFile = fileStoreUtil.ossDownload(dirName, url, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
-                StringJoiner pdfStringJoiner = new StringJoiner("");
-                pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
-                pdfStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getDayOfMonth()));
-                pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
-
+                StringJoiner pdfStringJoiner = SystemConstant.getDirName(UploadFileEnum.PDF, true);
+                pdfStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
                 String pdfDirName = pdfStringJoiner.toString();
 
                 String destUrl = null;
@@ -665,20 +624,16 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                 throw ExceptionResultEnum.MD5_EQUALS_FALSE.exception();
             }
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (!oss) {
                 if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                     stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
                 }
             }
-            stringJoiner.add(type.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()));
+            stringJoiner = SystemConstant.getDirName(stringJoiner, type, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(format);
 
             JSONObject jsonObject = new JSONObject();
-            stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(format);
             String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
             if (oss) {//上传至oss
                 fileStoreUtil.ossUpload(dirName, file.getInputStream(), md5, type.getFssType());
@@ -1328,16 +1283,13 @@ public class PrintCommonServiceImpl implements PrintCommonService {
         JSONObject jsonObject = null;
         try {
             inputStream = new ByteArrayInputStream(fos.toByteArray());
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
             }
-            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()))
-                    .add(File.separator).add(SystemConstant.getNanoId()).add(".").add(SystemConstant.XLSX);
+            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(".").add(SystemConstant.XLSX);
+
             jsonObject = new JSONObject();
             String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
             if (oss) {//上传至oss
@@ -1405,13 +1357,8 @@ public class PrintCommonServiceImpl implements PrintCommonService {
     public void saveAttachmentPackagePdf(PdfPackageDto pdfPackageDto, ExamDetail examDetail, List<PdfDto> pdfList, Integer printCount) {
         try {
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
-            StringJoiner pdfStringJoiner = new StringJoiner("");
-            pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
-            pdfStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()));
-            pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
+            StringJoiner pdfStringJoiner = SystemConstant.getDirName(UploadFileEnum.PDF, true);
+            pdfStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
 
             String pdfDirName = pdfStringJoiner.toString();
             String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");

+ 6 - 25
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TSyncExamStudentScoreServiceImpl.java

@@ -25,7 +25,6 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
-import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -155,15 +154,8 @@ public class TSyncExamStudentScoreServiceImpl extends ServiceImpl<TSyncExamStude
                     for (int i = 0; i < jsonArray.size(); i++) {
                         String url = (String) jsonArray.get(i);
                         String sheetName = url.substring(url.lastIndexOf("/") + 1);
-                        LocalDateTime nowTime = LocalDateTime.now();
-                        StringJoiner dirJpgName = new StringJoiner("");
-                        dirJpgName.add(UploadFileEnum.FILE.getTitle()).add(File.separator)
-                                .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                                .add(String.format("%02d", nowTime.getDayOfMonth()))
-                                .add(File.separator)
-                                .add(tSyncExamStudentScore.getExamNumber())
-                                .add(File.separator).add("sheet").add(File.separator).add(sheetName);
+                        StringJoiner dirJpgName = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+                        dirJpgName.add(tSyncExamStudentScore.getExamNumber()).add(File.separator).add("sheet").add(File.separator).add(sheetName);
                         File fileSource = new File(stringJoiner.toString() + dirJpgName.toString());
                         if (!fileSource.exists()) {
                             fileSource.getParentFile().mkdirs();
@@ -196,14 +188,8 @@ public class TSyncExamStudentScoreServiceImpl extends ServiceImpl<TSyncExamStude
                         }
                         JSONArray markTagJsonArray = (JSONArray) markTagsJson.get(i + 1);
 
-                        StringJoiner dirTargetJpgName = new StringJoiner("");
-                        dirTargetJpgName.add(UploadFileEnum.FILE.getTitle()).add(File.separator)
-                                .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                                .add(String.format("%02d", nowTime.getDayOfMonth()))
-                                .add(File.separator)
-                                .add(tSyncExamStudentScore.getExamNumber())
-                                .add(File.separator).add("trail").add(File.separator).add(sheetName);
+                        StringJoiner dirTargetJpgName = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+                        dirTargetJpgName.add(tSyncExamStudentScore.getExamNumber()).add(File.separator).add("trail").add(File.separator).add(sheetName);
                         File fileTarget = new File(stringJoiner.toString() + dirTargetJpgName.toString());
                         if (!fileTarget.exists()) {
                             fileTarget.getParentFile().mkdirs();
@@ -320,13 +306,8 @@ public class TSyncExamStudentScoreServiceImpl extends ServiceImpl<TSyncExamStude
                 } else {
                     stringJoiner.add(dictionaryConfig.fssPublicDomain().getServer()).add(File.separator);
                 }
-                LocalDateTime nowTime = LocalDateTime.now();
-                StringJoiner dirZipName = new StringJoiner("");
-                dirZipName.add(UploadFileEnum.FILE.getTitle()).add(File.separator)
-                        .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getDayOfMonth()))
-                        .add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
+                StringJoiner dirZipName = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+                dirZipName.add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
                 zipFile = new File(stringJoiner.toString() + dirZipName.toString());
                 if (!zipFile.exists()) {
                     zipFile.getParentFile().mkdirs();

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

@@ -28,7 +28,6 @@ import org.springframework.scheduling.annotation.Async;
 import javax.annotation.Resource;
 import java.io.*;
 import java.text.MessageFormat;
-import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Map;
 import java.util.Objects;
@@ -79,7 +78,6 @@ public abstract class AsyncExportTaskTemplete {
             JSONObject jsonObject = JSONObject.parseObject(tbTask.getResultFilePath());
             if (Objects.isNull(jsonObject)) {
                 jsonObject = new JSONObject();
-                LocalDateTime nowTime = LocalDateTime.now();
                 StringJoiner stringJoiner = new StringJoiner("");
                 if (Objects.nonNull(dictionaryConfig) && dictionaryConfig.sysDomain().isOss()) {
                     jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
@@ -89,11 +87,8 @@ public abstract class AsyncExportTaskTemplete {
                     }
                     jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
                 }
-                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()))
-                        .add(File.separator).add(SystemConstant.getNanoId()).add(TXT_PREFIX);
+                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);

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

@@ -22,7 +22,6 @@ import org.springframework.scheduling.annotation.Async;
 
 import java.io.*;
 import java.text.MessageFormat;
-import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Map;
 import java.util.Objects;
@@ -101,7 +100,6 @@ public abstract class AsyncImportTaskTemplete {
             JSONObject jsonObject = JSONObject.parseObject(tbTask.getImportFilePath());
             if (Objects.isNull(jsonObject)) {
                 jsonObject = new JSONObject();
-                LocalDateTime nowTime = LocalDateTime.now();
                 StringJoiner stringJoiner = new StringJoiner("");
                 if (Objects.nonNull(dictionaryConfig) && dictionaryConfig.sysDomain().isOss()) {
                     jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
@@ -111,11 +109,8 @@ public abstract class AsyncImportTaskTemplete {
                     }
                     jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
                 }
-                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()))
-                        .add(File.separator).add(SystemConstant.getNanoId()).add(TXT_PREFIX);
+                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);

+ 2 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/push/AsyncPushTaskTemplate.java

@@ -26,7 +26,6 @@ import org.springframework.scheduling.annotation.Async;
 import javax.annotation.Resource;
 import java.io.*;
 import java.text.MessageFormat;
-import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.Map;
 import java.util.Objects;
@@ -99,13 +98,9 @@ public abstract class AsyncPushTaskTemplate {
                 }
                 json.put(SystemConstant.TYPE, SystemConstant.LOCAL);
             }
-            stringJoiner.add(UploadFileEnum.FILE.getTitle()).add(File.separator);
 
-            LocalDateTime nowTime = LocalDateTime.now();
-            stringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()))
-                    .add(File.separator).add(SystemConstant.getNanoId()).add(TXT_PREFIX);
+            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);

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

@@ -61,7 +61,6 @@ import javax.annotation.Resource;
 import java.io.*;
 import java.lang.reflect.Field;
 import java.security.NoSuchAlgorithmException;
-import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
@@ -425,7 +424,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                             String cardContent = createPdfUtil.resetHtmlTemplateBar(examCardDetail.getHtmlContent());
 
                             for (int i = 1; i <= backupCount; i++) {
-                                BasicAttachment basicAttachment = createPdfUtil.cardHtml(String.format("%02d", i), cardContent, examDetail, examDetailCourse, s, jsonArray, sysUser.getId(), backupCardPdfList, basicCardRule);
+                                BasicAttachment basicAttachment = createPdfUtil.cardHtml(String.format(SystemConstant.DATE_TIME_FORMAT, i), cardContent, examDetail, examDetailCourse, s, jsonArray, sysUser.getId(), backupCardPdfList, basicCardRule);
                                 examDetailCourse.setCardPagesA3(basicAttachment.getPages());
                                 basicAttachmentList.add(basicAttachment);
                             }
@@ -671,19 +670,11 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         ExcelUtil.excelMake(ExaminationExportDto.class, examinationExportDtoList, outputStream);
         InputStream in = new ByteArrayInputStream(outputStream.toByteArray());
 
-//        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()));
+        StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+        stringJoiner.add(SystemConstant.getNanoId()).add(".").add(SystemConstant.XLSX);
 
         JSONObject jsonObject = new JSONObject();
-        stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(".").add(SystemConstant.XLSX);
-
         String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
-
         boolean oss = dictionaryConfig.sysDomain().isOss();
         if (oss) {//上传至oss
             fileStoreUtil.ossUpload(dirName, in, DigestUtils.md5Hex(new ByteArrayInputStream(outputStream.toByteArray())), fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
@@ -932,7 +923,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
 //            List<ExamDetail> examDetailList = examDetailService.listByIds(Arrays.asList(arraysParams.getIds()));
             List<ExamDetailPdfDownloadDto> examDetailList = examDetailService.findPdfDownload(Arrays.asList(arraysParams.getIds()));
             if (!CollectionUtils.isEmpty(examDetailList)) {
-                LocalDateTime nowTime = LocalDateTime.now();
                 StringJoiner stringJoiner = new StringJoiner("");
                 Long time = System.currentTimeMillis();
                 if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
@@ -942,12 +932,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     stringJoiner = stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
                     zipLocalRootPath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + time;
                 }
-                StringJoiner dirName = new StringJoiner("")
-                        .add(UploadFileEnum.FILE.getTitle()).add(File.separator)
-                        .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getDayOfMonth()))
-                        .add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
+                StringJoiner dirName = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+                dirName.add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
                 zipFile = new File(stringJoiner.toString() + dirName.toString());
                 if (!zipFile.getParentFile().exists()) {
                     zipFile.getParentFile().mkdirs();
@@ -1110,7 +1096,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
     public Map<String, Object> executeExportSampleLogic(Map<String, Object> map) throws Exception {
         int count = 0;
         TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-        LocalDateTime nowTime = LocalDateTime.now();
         String zipJoiner = null, zipLocalRootPath = null;
         long time = System.currentTimeMillis();
         if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
@@ -1120,12 +1105,9 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             zipJoiner = dictionaryConfig.fssPublicDomain().getConfig() + File.separator;
             zipLocalRootPath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + time;
         }
-        String dirName = UploadFileEnum.FILE.getTitle() + File.separator +
-                nowTime.getYear() + File.separator +
-                String.format("%02d", nowTime.getMonthValue()) + File.separator +
-                String.format("%02d", nowTime.getDayOfMonth()) +
-                File.separator + SystemConstant.getNanoId() + SystemConstant.ZIP_PREFIX;
-        String dirNameTmp = dirName.replaceAll("\\\\", "/");
+        StringJoiner stringJoine = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+        stringJoine.add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
+        String dirNameTmp = stringJoine.toString().replaceAll("\\\\", "/");
         File zipFile = new File(zipJoiner + dirNameTmp);
         if (!zipFile.getParentFile().exists()) {
             zipFile.getParentFile().mkdirs();
@@ -1145,7 +1127,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             String firstPath = zipLocalRootPath + File.separator + examTaskSign;
             ReviewSampleDto reviewSampleDto = examTaskService.findReviewSampleInfoByExamTaskId(id);
 
-
             // 收集处理试卷和题卡
             List<ExamPaperInfoDto> paperInfoDtoList = JSONObject.parseArray(reviewSampleDto.getPaperAttachmentIds(), ExamPaperInfoDto.class);
             if (Objects.isNull(paperInfoDtoList)) {
@@ -1209,7 +1190,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
 
             // 处理题卡
             for (ExamCardDto examCardDto : examCardDtoList) {
-
                 Long cardId = examCardDto.getCardId();
                 String paperType = examCardDto.getPaperType();
                 ExamCard examCard = examCardService.getById(cardId);
@@ -1289,9 +1269,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         File zipFile = null;
         try {
             TBTask tbTask = (TBTask) map.get(SystemConstant.TASK);
-            String yyyyMMddHH24mmss = DateUtil.format(new Date(), "yyyyMMddHHmmss");
+            String yyyyMMddHH24mmss = DateUtil.format(new Date(), SystemConstant.BACK_UP_DATE_PATTERN);
             BasicSchool basicSchool = commonCacheService.schoolCache(tbTask.getSchoolId());
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner zipJoiner = new StringJoiner("");
             Long time = System.currentTimeMillis();
             if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
@@ -1301,13 +1280,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 zipJoiner = zipJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
                 zipLocalRootPath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + time;
             }
-            StringJoiner dirName = new StringJoiner("")
-                    .add(UploadFileEnum.FILE.getTitle()).add(File.separator)
-                    .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()))
-                    .add(File.separator)
-                    .add(yyyyMMddHH24mmss).add("_").add(basicSchool.getName()).add("_").add("试卷导出文件").add(SystemConstant.ZIP_PREFIX);
+            StringJoiner dirName = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+            dirName.add(yyyyMMddHH24mmss).add("_").add(basicSchool.getName()).add("_").add("试卷导出文件").add(SystemConstant.ZIP_PREFIX);
             String dirNameTmp = dirName.toString().replaceAll("\\\\", "/");
 
             // 根文件路径
@@ -1840,19 +1814,14 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             if (Objects.nonNull(tSyncExamStudentScoreResultList) && tSyncExamStudentScoreResultList.size() > 0) {
                 List<TSyncExamStudentScore> tSyncExamStudentScoreList = new Gson().fromJson(JacksonUtil.parseJson(tSyncExamStudentScoreResultList), new TypeToken<List<TSyncExamStudentScore>>() {
                 }.getType());
-                LocalDateTime nowTime = LocalDateTime.now();
                 StringJoiner stringJoiner = new StringJoiner("");
                 if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                     stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
                 } else {
                     stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
                 }
-                StringJoiner dirZipName = new StringJoiner("");
-                dirZipName.add(UploadFileEnum.FILE.getTitle()).add(File.separator)
-                        .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                        .add(String.format("%02d", nowTime.getDayOfMonth()))
-                        .add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
+                StringJoiner dirZipName = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+                dirZipName.add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
                 zipFile = new File(stringJoiner.toString() + dirZipName.toString());
                 sourceFiles = new LinkedList<>();
                 List<TSyncExamStudentScore> updateTSyncExamStudentScoreList = new ArrayList<>();
@@ -1960,8 +1929,6 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             orgId = requestUser.getOrgId();
         }
 
-
-        LocalDateTime nowTime = LocalDateTime.now();
         long time = System.currentTimeMillis();
         String zipJoiner = null, zipLocalRootPath = null;
         if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
@@ -1971,15 +1938,12 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             zipJoiner = dictionaryConfig.fssPublicDomain().getConfig() + File.separator;
             zipLocalRootPath = dictionaryConfig.fssPublicDomain().getConfig() + File.separator + time;
         }
-        String dirName = UploadFileEnum.FILE.getTitle() + File.separator +
-                nowTime.getYear() + File.separator +
-                String.format("%02d", nowTime.getMonthValue()) + File.separator +
-                String.format("%02d", nowTime.getDayOfMonth()) +
-                File.separator + SystemConstant.getNanoId() + SystemConstant.ZIP_PREFIX;
-        String dirNameTmp = dirName.replaceAll("\\\\", "/");
+        StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
+        stringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.ZIP_PREFIX);
+        String dirNameTmp = stringJoiner.toString().replaceAll("\\\\", "/");
         File zipFile = new File(zipJoiner + dirNameTmp);
         if (!zipFile.getParentFile().exists()) {
-            boolean mkd = zipFile.getParentFile().mkdirs();
+            zipFile.getParentFile().mkdirs();
 //            boolean cf = zipFile.createNewFile();
         }
 

+ 2 - 8
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/FreemarkerUtil.java

@@ -23,7 +23,6 @@ import org.springframework.util.ResourceUtils;
 
 import javax.annotation.Resource;
 import java.io.*;
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -109,19 +108,14 @@ public class FreemarkerUtil {
             Template template = configuration.getTemplate(ftlName + SystemConstant.FTL_PREFIX);
             // step2 生成数据
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
             } else {
                 stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
             }
-            StringJoiner htmlStringJoiner = new StringJoiner("");
-            htmlStringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator);
-            htmlStringJoiner.add(String.valueOf(nowTime.getYear())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                    .add(String.format("%02d", nowTime.getDayOfMonth()));
-            htmlStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
+            StringJoiner htmlStringJoiner = SystemConstant.getDirName(UploadFileEnum.HTML, true);
+            htmlStringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
             File htmlFile = new File(stringJoiner.toString() + htmlStringJoiner.toString());
             if (!htmlFile.getParentFile().exists()) {
                 htmlFile.getParentFile().mkdirs();

+ 4 - 14
distributed-print-business/src/main/java/com/qmth/distributed/print/business/util/PdfUtil.java

@@ -25,7 +25,6 @@ import org.slf4j.LoggerFactory;
 import javax.swing.*;
 import java.awt.*;
 import java.io.*;
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.*;
 
@@ -59,19 +58,14 @@ public class PdfUtil {
                 document = new Document(new PdfReader(ByteArray.fromFile(new File(files[0])).value()).getPageSize(1));
                 if (Objects.isNull(outputPath)) {
                     DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
-                    LocalDateTime nowTime = LocalDateTime.now();
                     StringJoiner stringJoiner = new StringJoiner("");
                     if (Objects.nonNull(dictionaryConfig.fssLocalPdfDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalPdfDomain().getConfig())) {
                         stringJoiner = stringJoiner.add(dictionaryConfig.fssLocalPdfDomain().getConfig()).add(File.separator);
                     } else {
                         stringJoiner = stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
                     }
-                    dirName = new StringJoiner("")
-                            .add(UploadFileEnum.PDF.getTitle()).add(File.separator)
-                            .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                            .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                            .add(String.format("%02d", nowTime.getDayOfMonth()))
-                            .add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
+                    dirName = SystemConstant.getDirName(stringJoiner, UploadFileEnum.PDF, true);
+                    dirName.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
                     outputPath = stringJoiner.toString() + dirName.toString();
                 }
                 copy = new PdfSmartCopy(document, new FileOutputStream(outputPath));
@@ -312,18 +306,14 @@ public class PdfUtil {
         }
 
         DictionaryConfig dictionaryConfig = SpringContextHolder.getBean(DictionaryConfig.class);
-        LocalDateTime nowTime = LocalDateTime.now();
         StringJoiner stringJoiner = new StringJoiner("");
         if (Objects.nonNull(dictionaryConfig.fssLocalPdfDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalPdfDomain().getConfig())) {
             stringJoiner = stringJoiner.add(dictionaryConfig.fssLocalPdfDomain().getConfig()).add(File.separator);
         } else {
             stringJoiner = stringJoiner.add(dictionaryConfig.fssPublicDomain().getConfig()).add(File.separator);
         }
-        stringJoiner.add(UploadFileEnum.PAPER.getTitle()).add(File.separator)
-                .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                .add(String.format("%02d", nowTime.getDayOfMonth()))
-                .add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
+        stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.PAPER, true);
+        stringJoiner.add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
         String outputPath = stringJoiner.toString();
         PdfReader reader = null;
         PdfStamper stamper = null;

+ 30 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -117,6 +117,7 @@ public class SystemConstant {
     /**
      * 系统配置
      */
+    public static final String DATE_TIME_FORMAT = "%02d";
     public static final String PRINT_DELETE_DATA_FILE_NAME = "db/4、delete-data.sql";
     //    public static final String SYS_USER_INIT_PASSWORD = "sys.user.initPassword";
 //    public static final String SYS_WARNING_DAYS = "sys.warning.days";
@@ -864,15 +865,40 @@ public class SystemConstant {
     /**
      * 获取dirname
      *
+     * @param uploadFileEnum
+     * @param fileSpearator
      * @return
      */
-    public static StringJoiner getDirName() {
+    public static StringJoiner getDirName(UploadFileEnum uploadFileEnum, boolean fileSpearator) {
         LocalDateTime nowTime = LocalDateTime.now();
         StringJoiner stringJoiner = new StringJoiner("");
-        stringJoiner.add(UploadFileEnum.FILE.name().toLowerCase()).add(File.separator)
+        stringJoiner.add(uploadFileEnum.getTitle()).add(File.separator)
                 .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                .add(String.format("%02d", nowTime.getDayOfMonth())).add(File.separator);
+                .add(String.format(SystemConstant.DATE_TIME_FORMAT, nowTime.getMonthValue())).add(File.separator)
+                .add(String.format(SystemConstant.DATE_TIME_FORMAT, nowTime.getDayOfMonth()));
+        if (fileSpearator) {
+            stringJoiner.add(File.separator);
+        }
+        return stringJoiner;
+    }
+
+    /**
+     * 获取dirname
+     *
+     * @param stringJoiner
+     * @param uploadFileEnum
+     * @param fileSpearator
+     * @return
+     */
+    public static StringJoiner getDirName(StringJoiner stringJoiner, UploadFileEnum uploadFileEnum, boolean fileSpearator) {
+        LocalDateTime nowTime = LocalDateTime.now();
+        stringJoiner.add(uploadFileEnum.getTitle()).add(File.separator)
+                .add(String.valueOf(nowTime.getYear())).add(File.separator)
+                .add(String.format(SystemConstant.DATE_TIME_FORMAT, nowTime.getMonthValue())).add(File.separator)
+                .add(String.format(SystemConstant.DATE_TIME_FORMAT, nowTime.getDayOfMonth()));
+        if (fileSpearator) {
+            stringJoiner.add(File.separator);
+        }
         return stringJoiner;
     }
 }

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

@@ -17,7 +17,6 @@ import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
 import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.FilenameUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,7 +27,6 @@ import org.springframework.util.CollectionUtils;
 import javax.annotation.Resource;
 import java.io.File;
 import java.io.FileInputStream;
-import java.time.LocalDateTime;
 import java.util.*;
 
 /**
@@ -170,13 +168,7 @@ public class AuthInfoServiceImpl implements AuthInfoService {
             orgCodesMap = new HashMap<>();
         }
 
-        LocalDateTime nowTime = LocalDateTime.now();
-        StringJoiner stringJoiner = new StringJoiner("");
-        stringJoiner.add(UploadFileEnum.FILE.name().toLowerCase()).add(File.separator)
-                .add(String.valueOf(nowTime.getYear())).add(File.separator)
-                .add(String.format("%02d", nowTime.getMonthValue())).add(File.separator)
-                .add(String.format("%02d", nowTime.getDayOfMonth())).add(File.separator);
-
+        StringJoiner stringJoiner = SystemConstant.getDirName(UploadFileEnum.FILE, true);
         for (OrgInfo o : orgInfoList) {
             orgCodesMap.put(o.getCode(), o.getCode());
             if (authEnum == AuthEnum.OFF_LINE) {
@@ -193,30 +185,30 @@ public class AuthInfoServiceImpl implements AuthInfoService {
             BasicSchool basicSchool = basicSchoolService.getOne(basicSchoolQueryWrapper);
             if (Objects.isNull(basicSchool)) {//不存在则创建学校
                 basicSchool = new BasicSchool(o.getId(), o.getCode(), o.getName(), o.getAccessKey(), o.getAccessSecret());
-//                if (Objects.nonNull(o.getLogo()) && (!o.getLogo().startsWith("https:") || !o.getLogo().startsWith("http"))) {
-                File fileTemp = null;
-                String dirName = null;
-                try {
-                    File fileNew = new File("/Volumes/extend/图库/spring.jpg");
-                    fileTemp = File.createTempFile("temp", ".jpg");
-//                        SystemConstant.base64ToImage(o.getLogo(), fileTemp.getPath());
-                    FileUtils.copyInputStreamToFile(new FileInputStream(fileNew), fileTemp);
+                if (Objects.nonNull(o.getLogo()) && (!o.getLogo().startsWith("https:") || !o.getLogo().startsWith("http"))) {
+                    File fileTemp = null;
+                    String dirName = null;
+                    try {
+//                    File fileNew = new File("/Volumes/extend/图库/spring.jpg");
+//                    fileTemp = File.createTempFile("temp", ".jpg");
+                        SystemConstant.base64ToImage(o.getLogo(), fileTemp.getPath());
+//                    FileUtils.copyInputStreamToFile(new FileInputStream(fileNew), fileTemp);
 
-                    dirName = stringJoiner.toString() + SystemConstant.getNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
-                    fileStoreUtil.ossUpload(dirName, fileTemp, DigestUtils.md5Hex(new FileInputStream(fileTemp)), UploadFileEnum.FILE.getFssType());
-                } catch (Exception e) {
-                    log.error(SystemConstant.LOG_ERROR, e);
-                } finally {
-                    if (Objects.nonNull(fileTemp)) {
-                        fileTemp.delete();
-                    }
-                    if (Objects.nonNull(dirName)) {
-                        basicSchool.setLogo(dictionaryConfig.fssPublicDomain().getServer() + File.separator + dirName);
+                        dirName = stringJoiner.toString() + SystemConstant.getNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
+                        fileStoreUtil.ossUpload(dirName, fileTemp, DigestUtils.md5Hex(new FileInputStream(fileTemp)), UploadFileEnum.FILE.getFssType());
+                    } catch (Exception e) {
+                        log.error(SystemConstant.LOG_ERROR, e);
+                    } finally {
+                        if (Objects.nonNull(fileTemp)) {
+                            fileTemp.delete();
+                        }
+                        if (Objects.nonNull(dirName)) {
+                            basicSchool.setLogo(dictionaryConfig.fssPublicDomain().getServer() + File.separator + dirName);
+                        }
                     }
+                } else {
+                    basicSchool.setLogo(o.getLogoUrl());
                 }
-//                } else {
-//                    basicSchool.setLogo(o.getLogoUrl());
-//                }
                 basicSchoolSet.add(basicSchool);
             } else {
                 basicSchool.setAccessKey(o.getAccessKey());

+ 3 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicAttachmentServiceImpl.java

@@ -32,7 +32,6 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
 import java.util.*;
 
 /**
@@ -177,20 +176,16 @@ public class BasicAttachmentServiceImpl extends ServiceImpl<BasicAttachmentMappe
                 throw ExceptionResultEnum.MD5_EQUALS_FALSE.exception();
             }
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
             }
-            stringJoiner.add(type.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()));
+            stringJoiner = SystemConstant.getDirName(stringJoiner, type, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(format);
 
             JSONObject jsonObject = new JSONObject();
-            stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(format);
             String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
-            if (oss) {//上传至oss\
+            if (oss) {//上传至oss
                 fileStoreUtil.ossUpload(dirName, file.getInputStream(), DigestUtils.md5Hex(file.getInputStream()), type.getFssType());
                 jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
                 jsonObject.put(SystemConstant.PATH, dirName);

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

@@ -768,18 +768,14 @@ public class ReportCommonServiceImpl implements ReportCommonService {
                 throw ExceptionResultEnum.MD5_EQUALS_FALSE.exception();
             }
             boolean oss = dictionaryConfig.sysDomain().isOss();
-            LocalDateTime nowTime = LocalDateTime.now();
             StringJoiner stringJoiner = new StringJoiner("");
             if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
                 stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
             }
-            stringJoiner.add(type.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()));
+            stringJoiner = SystemConstant.getDirName(stringJoiner, type, true);
+            stringJoiner.add(SystemConstant.getNanoId()).add(format);
 
             JSONObject jsonObject = new JSONObject();
-            stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(format);
             String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
             if (oss) {//上传至oss\
                 fileStoreUtil.ossUpload(dirName, file.getInputStream(), md5, type.getFssType());