|
@@ -38,6 +38,7 @@ import com.qmth.teachcloud.common.mapper.BasicCourseMapper;
|
|
import com.qmth.teachcloud.common.service.*;
|
|
import com.qmth.teachcloud.common.service.*;
|
|
import com.qmth.teachcloud.common.util.*;
|
|
import com.qmth.teachcloud.common.util.*;
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
|
|
+import org.apache.commons.io.FilenameUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -184,18 +185,18 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
File htmlFile = null;
|
|
File htmlFile = null;
|
|
if (Objects.nonNull(type) && Objects.equals(type, SystemConstant.FTL_PREFIX)) {
|
|
if (Objects.nonNull(type) && Objects.equals(type, SystemConstant.FTL_PREFIX)) {
|
|
filePath = (String) jsonObject.get(SystemConstant.HTML_PATH);
|
|
filePath = (String) jsonObject.get(SystemConstant.HTML_PATH);
|
|
- if (filePath.contains(dictionaryConfig.fssLocalFileDomain().getConfig())) {
|
|
|
|
|
|
+ if (filePath.contains(SystemConstant.getUserDir())) {
|
|
url = filePath;
|
|
url = filePath;
|
|
} else {
|
|
} else {
|
|
- url = dictionaryConfig.fssLocalFileDomain().getConfig() + File.separator + filePath;
|
|
|
|
|
|
+ url = SystemConstant.getUserDir() + File.separator + filePath;
|
|
}
|
|
}
|
|
htmlFile = new File(url);
|
|
htmlFile = new File(url);
|
|
} else if (Objects.nonNull(type) && Objects.equals(type, SystemConstant.HTML_PREFIX)) {
|
|
} else if (Objects.nonNull(type) && Objects.equals(type, SystemConstant.HTML_PREFIX)) {
|
|
filePath = (String) jsonObject.get(SystemConstant.PATH);
|
|
filePath = (String) jsonObject.get(SystemConstant.PATH);
|
|
- if (filePath.contains(dictionaryConfig.fssLocalFileDomain().getConfig())) {
|
|
|
|
|
|
+ if (filePath.contains(SystemConstant.getUserDir())) {
|
|
url = filePath;
|
|
url = filePath;
|
|
} else {
|
|
} else {
|
|
- url = dictionaryConfig.fssLocalFileDomain().getConfig() + File.separator + filePath;
|
|
|
|
|
|
+ url = SystemConstant.getUserDir() + File.separator + filePath;
|
|
}
|
|
}
|
|
UploadFileEnum uploadType = Enum.valueOf(UploadFileEnum.class, (String) jsonObject.get(SystemConstant.UPLOAD_TYPE));
|
|
UploadFileEnum uploadType = Enum.valueOf(UploadFileEnum.class, (String) jsonObject.get(SystemConstant.UPLOAD_TYPE));
|
|
// htmlFile = ossUtil.ossDownload(filePath, url);
|
|
// htmlFile = ossUtil.ossDownload(filePath, url);
|
|
@@ -211,11 +212,11 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
pdfStringJoiner.add(String.valueOf(nowTime.getYear())).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.getMonthValue())).add(File.separator)
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
- pdfStringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
+ pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
|
|
String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
|
|
- String destUrl = dictionaryConfig.fssLocalPdfDomain().getConfig() + File.separator + pdfDirName;
|
|
|
|
|
|
+ String destUrl = SystemConstant.getUserDir() + File.separator + pdfDirName;
|
|
|
|
|
|
File pdfFile = new File(destUrl);
|
|
File pdfFile = new File(destUrl);
|
|
if (!pdfFile.exists()) {
|
|
if (!pdfFile.exists()) {
|
|
@@ -304,11 +305,11 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
pdfStringJoiner.add(String.valueOf(nowTime.getYear())).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.getMonthValue())).add(File.separator)
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
- pdfStringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
+ pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
|
|
String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
|
|
- String destUrl = dictionaryConfig.fssLocalPdfDomain().getConfig() + File.separator + pdfDirName;
|
|
|
|
|
|
+ String destUrl = SystemConstant.getUserDir() + File.separator + pdfDirName;
|
|
|
|
|
|
createPrintPdfUtil.createSignPdf(pdfFillDto, destUrl);
|
|
createPrintPdfUtil.createSignPdf(pdfFillDto, destUrl);
|
|
|
|
|
|
@@ -381,7 +382,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
if (!oss) {
|
|
if (!oss) {
|
|
- stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
|
|
|
|
|
|
+ stringJoiner.add(SystemConstant.getUserDir()).add(File.separator);
|
|
}
|
|
}
|
|
stringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator)
|
|
stringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator)
|
|
.add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
.add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
@@ -389,7 +390,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
- stringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.HTML_PREFIX);
|
|
|
|
|
|
+ stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
|
|
String fileMd5 = null;
|
|
String fileMd5 = null;
|
|
if (oss) {//上传至oss
|
|
if (oss) {//上传至oss
|
|
String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
|
|
String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
|
|
@@ -397,7 +398,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
fileStoreUtil.ossUpload(dirName, htmlContent, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
fileStoreUtil.ossUpload(dirName, htmlContent, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.HTML_PATH, dirName);
|
|
jsonObject.put(SystemConstant.HTML_PATH, dirName);
|
|
- String url = dictionaryConfig.fssLocalFileDomain().getConfig() + File.separator + dirName;
|
|
|
|
|
|
+ String url = SystemConstant.getUserDir() + File.separator + dirName;
|
|
// File localHtmlFile = ossUtil.ossDownload(dirName, url);
|
|
// File localHtmlFile = ossUtil.ossDownload(dirName, url);
|
|
File localHtmlFile = fileStoreUtil.ossDownload(dirName, url, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
File localHtmlFile = fileStoreUtil.ossDownload(dirName, url, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
StringJoiner pdfStringJoiner = new StringJoiner("");
|
|
StringJoiner pdfStringJoiner = new StringJoiner("");
|
|
@@ -405,10 +406,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
pdfStringJoiner.add(String.valueOf(nowTime.getYear())).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.getMonthValue())).add(File.separator)
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
- pdfStringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
+ pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
- String destUrl = dictionaryConfig.fssLocalPdfDomain().getConfig() + File.separator + pdfDirName;
|
|
|
|
|
|
+ String destUrl = SystemConstant.getUserDir() + File.separator + pdfDirName;
|
|
// destUrl = destUrl.replaceAll("\\\\","/");
|
|
// destUrl = destUrl.replaceAll("\\\\","/");
|
|
|
|
|
|
HtmlToPdfUtil.convert(localHtmlFile.getPath(), destUrl, PageSizeEnum.A3);
|
|
HtmlToPdfUtil.convert(localHtmlFile.getPath(), destUrl, PageSizeEnum.A3);
|
|
@@ -490,7 +491,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
if (!oss) {
|
|
if (!oss) {
|
|
- stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
|
|
|
|
|
|
+ stringJoiner.add(SystemConstant.getUserDir()).add(File.separator);
|
|
}
|
|
}
|
|
stringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator)
|
|
stringJoiner.add(UploadFileEnum.HTML.getTitle()).add(File.separator)
|
|
.add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
.add(String.valueOf(nowTime.getYear())).add(File.separator)
|
|
@@ -498,7 +499,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
- stringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.HTML_PREFIX);
|
|
|
|
|
|
+ stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.HTML_PREFIX);
|
|
String fileMd5 = null;
|
|
String fileMd5 = null;
|
|
|
|
|
|
if (oss) {//上传至oss
|
|
if (oss) {//上传至oss
|
|
@@ -506,17 +507,17 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
fileStoreUtil.ossUpload(dirName, htmlContent, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
fileStoreUtil.ossUpload(dirName, htmlContent, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
- String url = dictionaryConfig.fssLocalFileDomain().getConfig() + File.separator + dirName;
|
|
|
|
|
|
+ String url = SystemConstant.getUserDir() + File.separator + dirName;
|
|
File localHtmlFile = fileStoreUtil.ossDownload(dirName, url, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
File localHtmlFile = fileStoreUtil.ossDownload(dirName, url, fileStoreUtil.getUploadEnumByPath(dirName).getFssType());
|
|
StringJoiner pdfStringJoiner = new StringJoiner("");
|
|
StringJoiner pdfStringJoiner = new StringJoiner("");
|
|
pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
|
|
pdfStringJoiner.add(UploadFileEnum.PDF.getTitle()).add(File.separator);
|
|
pdfStringJoiner.add(String.valueOf(nowTime.getYear())).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.getMonthValue())).add(File.separator)
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
- pdfStringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
+ pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
- String destUrl = dictionaryConfig.fssLocalPdfDomain().getConfig() + File.separator + pdfDirName;
|
|
|
|
|
|
+ String destUrl = SystemConstant.getUserDir() + File.separator + pdfDirName;
|
|
// destUrl = destUrl.replaceAll("\\\\","/");
|
|
// destUrl = destUrl.replaceAll("\\\\","/");
|
|
|
|
|
|
HtmlToPdfUtil.convert(localHtmlFile.getPath(), destUrl, PageSizeEnum.A4);
|
|
HtmlToPdfUtil.convert(localHtmlFile.getPath(), destUrl, PageSizeEnum.A4);
|
|
@@ -593,16 +594,24 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
try {
|
|
try {
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
int temp = file.getOriginalFilename().lastIndexOf(".");
|
|
int temp = file.getOriginalFilename().lastIndexOf(".");
|
|
- String fileName = file.getOriginalFilename().substring(0, temp);
|
|
|
|
- String format = file.getOriginalFilename().substring(temp, file.getOriginalFilename().length());
|
|
|
|
- List<String> attachmentTypeList = dictionaryConfig.sysDomain().getAttachmentType();
|
|
|
|
|
|
+// String fileName = file.getOriginalFilename().substring(0, temp);
|
|
|
|
+// String format = file.getOriginalFilename().substring(temp, file.getOriginalFilename().length());
|
|
|
|
+ String fileName = FilenameUtils.getName(file.getOriginalFilename());
|
|
|
|
+ String format = FilenameUtils.getExtension(file.getOriginalFilename());
|
|
|
|
+
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.ATTACHMENT_TYPE);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置附件类型"));
|
|
|
|
+ List<String> attachmentTypeList = Arrays.asList(sysConfig.getConfigValue().replaceAll("\\[", "").replaceAll("\\]", "").split(", "));
|
|
if (Objects.nonNull(format)) {
|
|
if (Objects.nonNull(format)) {
|
|
long count = attachmentTypeList.stream().filter(s -> format.equalsIgnoreCase(s)).count();
|
|
long count = attachmentTypeList.stream().filter(s -> format.equalsIgnoreCase(s)).count();
|
|
if (count == 0) {
|
|
if (count == 0) {
|
|
throw ExceptionResultEnum.ERROR.exception("文件格式只能为" + attachmentTypeList.toString());
|
|
throw ExceptionResultEnum.ERROR.exception("文件格式只能为" + attachmentTypeList.toString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- int attachmentLength = dictionaryConfig.sysDomain().getAttachmentLength().intValue();
|
|
|
|
|
|
+
|
|
|
|
+ SysConfig sysConfigLength = commonCacheService.addSysConfigCache(SystemConstant.ATTACHMENT_LENGTH);
|
|
|
|
+ Optional.ofNullable(sysConfigLength).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置附件名称长度"));
|
|
|
|
+ int attachmentLength = Integer.parseInt(sysConfigLength.getConfigValue());
|
|
if (Objects.nonNull(fileName) && fileName.length() > attachmentLength) {
|
|
if (Objects.nonNull(fileName) && fileName.length() > attachmentLength) {
|
|
throw ExceptionResultEnum.ERROR.exception("文件名长度不能超过" + attachmentLength + "个字符");
|
|
throw ExceptionResultEnum.ERROR.exception("文件名长度不能超过" + attachmentLength + "个字符");
|
|
}
|
|
}
|
|
@@ -611,7 +620,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
BigDecimal num = new BigDecimal(1024);
|
|
BigDecimal num = new BigDecimal(1024);
|
|
b = b.divide(num, 2, BigDecimal.ROUND_HALF_UP).divide(num, 2, BigDecimal.ROUND_HALF_UP)
|
|
b = b.divide(num, 2, BigDecimal.ROUND_HALF_UP).divide(num, 2, BigDecimal.ROUND_HALF_UP)
|
|
.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
- double attachmentSize = dictionaryConfig.sysDomain().getAttachmentSize().doubleValue();
|
|
|
|
|
|
+
|
|
|
|
+ SysConfig sysConfigSize = commonCacheService.addSysConfigCache(SystemConstant.ATTACHMENT_SIZE);
|
|
|
|
+ Optional.ofNullable(sysConfigSize).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置附件大小"));
|
|
|
|
+ double attachmentSize = Double.valueOf(sysConfigSize.getConfigValue());
|
|
if (b.doubleValue() > attachmentSize) {
|
|
if (b.doubleValue() > attachmentSize) {
|
|
throw ExceptionResultEnum.ERROR.exception("文件大小不能超过" + attachmentSize + "MB");
|
|
throw ExceptionResultEnum.ERROR.exception("文件大小不能超过" + attachmentSize + "MB");
|
|
}
|
|
}
|
|
@@ -629,7 +641,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
if (!oss) {
|
|
if (!oss) {
|
|
- stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
|
|
|
|
|
|
+ stringJoiner.add(SystemConstant.getUserDir()).add(File.separator);
|
|
}
|
|
}
|
|
stringJoiner.add(type.getTitle()).add(File.separator);
|
|
stringJoiner.add(type.getTitle()).add(File.separator);
|
|
// else if (type == UploadFileEnum.PAPER) {//试卷需要单独
|
|
// else if (type == UploadFileEnum.PAPER) {//试卷需要单独
|
|
@@ -642,14 +654,15 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
- stringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(format);
|
|
|
|
|
|
+ stringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(format);
|
|
String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
|
|
String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
|
|
- if (oss) {//上传至oss\
|
|
|
|
|
|
+ if (oss) {//上传至oss
|
|
fileStoreUtil.ossUpload(dirName, file.getInputStream(), md5, type.getFssType());
|
|
fileStoreUtil.ossUpload(dirName, file.getInputStream(), md5, type.getFssType());
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
} else {//上传至服务器
|
|
} else {//上传至服务器
|
|
- fileStoreUtil.localUpload(dirName, file.getInputStream(), md5, LocalCatalogEnum.LOCAL_FILE);
|
|
|
|
|
|
+// TODO 上传至服务器待完善
|
|
|
|
+// fileStoreUtil.localUpload(dirName, file.getInputStream(), md5, LocalCatalogEnum.LOCAL_FILE);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
}
|
|
}
|
|
@@ -882,7 +895,10 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
List<TBTask> tbTasks = tbTaskService.list(tbTaskQueryWrapper);
|
|
List<TBTask> tbTasks = tbTaskService.list(tbTaskQueryWrapper);
|
|
if (Objects.nonNull(tbTasks) && tbTasks.size() > 0) {
|
|
if (Objects.nonNull(tbTasks) && tbTasks.size() > 0) {
|
|
for (TBTask tbTask : tbTasks) {
|
|
for (TBTask tbTask : tbTasks) {
|
|
- if (tbTask.getResetCount() < dictionaryConfig.sysDomain().getAutoCreatePdfResetMaxCount()) {
|
|
|
|
|
|
+ SysConfig sysConfig = commonCacheService.addSysConfigCache(SystemConstant.AUTO_CREATE_PDF_RESET_MAX_COUNT);
|
|
|
|
+ Optional.ofNullable(sysConfig).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未配置自动重试生成pdf失败最大次数"));
|
|
|
|
+ Integer maxResetCount = Integer.parseInt(sysConfig.getConfigValue());
|
|
|
|
+ if (tbTask.getResetCount() < maxResetCount.intValue()) {
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
// tbTask.setVersion(new AtomicInteger(tbTask.getVersion()).incrementAndGet());
|
|
// tbTask.setVersion(new AtomicInteger(tbTask.getVersion()).incrementAndGet());
|
|
if (Objects.nonNull(tbTask.getRemark())) {
|
|
if (Objects.nonNull(tbTask.getRemark())) {
|
|
@@ -1288,20 +1304,21 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
LocalDateTime nowTime = LocalDateTime.now();
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
StringJoiner stringJoiner = new StringJoiner("");
|
|
if (!oss) {
|
|
if (!oss) {
|
|
- stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
|
|
|
|
|
|
+ stringJoiner.add(SystemConstant.getUserDir()).add(File.separator);
|
|
}
|
|
}
|
|
stringJoiner.add(UploadFileEnum.FILE.getTitle()).add(File.separator);
|
|
stringJoiner.add(UploadFileEnum.FILE.getTitle()).add(File.separator);
|
|
stringJoiner.add(String.valueOf(nowTime.getYear())).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.getMonthValue())).add(File.separator)
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()))
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()))
|
|
- .add(File.separator).add(SystemConstant.getUuid()).add(".").add(SystemConstant.XLSX);
|
|
|
|
|
|
+ .add(File.separator).add(SystemConstant.getNanoId()).add(".").add(SystemConstant.XLSX);
|
|
jsonObject = new JSONObject();
|
|
jsonObject = new JSONObject();
|
|
String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
|
|
String dirName = stringJoiner.toString().replaceAll("\\\\", "/");
|
|
if (oss) {//上传至oss
|
|
if (oss) {//上传至oss
|
|
fileStoreUtil.ossUpload(dirName, inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(fos.toByteArray())), UploadFileEnum.FILE.getFssType());
|
|
fileStoreUtil.ossUpload(dirName, inputStream, DigestUtils.md5Hex(new ByteArrayInputStream(fos.toByteArray())), UploadFileEnum.FILE.getFssType());
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.OSS);
|
|
} else {
|
|
} else {
|
|
- fileStoreUtil.copyInputStreamToFile(inputStream, new File(stringJoiner.toString()), DigestUtils.md5Hex(new ByteArrayInputStream(fos.toByteArray())), LocalCatalogEnum.LOCAL_FILE);
|
|
|
|
|
|
+// TODO 上传至服务器待完善
|
|
|
|
+// fileStoreUtil.copyInputStreamToFile(inputStream, new File(stringJoiner.toString()), DigestUtils.md5Hex(new ByteArrayInputStream(fos.toByteArray())), LocalCatalogEnum.LOCAL_FILE);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
|
|
jsonObject.put(SystemConstant.TYPE, SystemConstant.LOCAL);
|
|
}
|
|
}
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
jsonObject.put(SystemConstant.PATH, dirName);
|
|
@@ -1364,11 +1381,11 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
pdfStringJoiner.add(String.valueOf(nowTime.getYear())).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.getMonthValue())).add(File.separator)
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
.add(String.format("%02d", nowTime.getDayOfMonth()));
|
|
- pdfStringJoiner.add(File.separator).add(SystemConstant.getUuid()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
+ pdfStringJoiner.add(File.separator).add(SystemConstant.getNanoId()).add(SystemConstant.PDF_PREFIX);
|
|
|
|
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirName = pdfStringJoiner.toString();
|
|
String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
|
|
String pdfDirNameStr = pdfStringJoiner.toString().replace("\\", "/");
|
|
- String destUrl = dictionaryConfig.fssLocalPdfDomain().getConfig() + File.separator + pdfDirName;
|
|
|
|
|
|
+ String destUrl = SystemConstant.getUserDir() + File.separator + pdfDirName;
|
|
|
|
|
|
createPrintPdfUtil.createPackagePdf(pdfPackageDto, destUrl);
|
|
createPrintPdfUtil.createPackagePdf(pdfPackageDto, destUrl);
|
|
|
|
|
|
@@ -1432,7 +1449,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
|
|
boolean oss = dictionaryConfig.sysDomain().isOss();
|
|
boolean oss = dictionaryConfig.sysDomain().isOss();
|
|
String pdfDirName = pdfFile.getPath();
|
|
String pdfDirName = pdfFile.getPath();
|
|
|
|
|
|
- String sysConfigPath = dictionaryConfig.fssLocalPdfDomain().getConfig() + File.separator;
|
|
|
|
|
|
+ String sysConfigPath = SystemConstant.getUserDir() + File.separator;
|
|
String pdfDirNameStr = pdfDirName.replace("\\", "/").replaceAll(sysConfigPath.replace("\\", "/"), "");
|
|
String pdfDirNameStr = pdfDirName.replace("\\", "/").replaceAll(sysConfigPath.replace("\\", "/"), "");
|
|
|
|
|
|
byte[] data = ByteArray.fromFile(pdfFile).value();
|
|
byte[] data = ByteArray.fromFile(pdfFile).value();
|