From 8bb87356a3aadf27cdde58ca79ad2773cdf02205 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期三, 16 八月 2023 11:55:31 +0800
Subject: [PATCH] xn commit
---
src/main/java/com/product/file/service/OnlineDocumentEditService.java | 25 ++++++++++++++++++++++++-
src/main/java/com/product/file/util/FileUtil.java | 22 ++++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/product/file/service/OnlineDocumentEditService.java b/src/main/java/com/product/file/service/OnlineDocumentEditService.java
index 817138c..819baea 100644
--- a/src/main/java/com/product/file/service/OnlineDocumentEditService.java
+++ b/src/main/java/com/product/file/service/OnlineDocumentEditService.java
@@ -59,6 +59,20 @@
try {
String document_template = ff.getString("document_template");
String document_template_tail = ff.getString("document_template_tail");
+ String fileUuid = ff.getString("file_uuid");
+ FieldSetEntity fieldSetEntity = getBaseDao().getFieldSetEntity(CmnConst.PRODUCT_SYS_ATTACHMENTS, fileUuid, false);
+ //鑾峰彇鏂囦欢绫诲瀷
+ String fileName = fieldSetEntity.getString(CmnConst.FILE_NAME);
+ //鍒ゆ柇鏄惁涓篸oc鏂囦欢
+ String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
+ if ("doc".equals(fileType)) {
+ //灏哾oc鏂囦欢杞崲涓篸ocx鏂囦欢
+ File f = file;
+ file = com.product.file.util.FileUtil.toDocx(file);
+ if (f != null) {
+ f.delete();
+ }
+ }
List<File> fileList = new ArrayList<>(3);
if (!StringUtils.isEmpty(document_template)) {
fileList.add(fileManagerService.getFile(document_template));
@@ -72,12 +86,21 @@
File mergeFile = MergeDoc.mergeDoc(fileList, Global.getSystemConfig("upload.file.temp.path", "./attachment/temp") +
File.separator + "nest_red_document_" + IdUtil.randomUUID() + "_" + ff.getString("file_uuid"));
if (mergeFile != null && mergeFile.isFile()) {
+ if("doc".equals(fileType)){
+ //灏哾ocx鏂囦欢杞崲涓篸oc鏂囦欢
+ File f = mergeFile;
+ mergeFile = com.product.file.util.FileUtil.toDoc(f);
+ if (f != null) {
+ f.delete();
+ }
+ }
HashMap<String, File> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("mergeFile", mergeFile);
uploadFile(ff.getString("file_uuid"), objectObjectHashMap);
} else {
throw new BaseException(FileCode.NEST_RED_DOCUMENT_FAIL);
}
+ fileList.forEach(FileUtil::del);
} catch (BaseException e) {
throw e;
} catch (Exception e) {
@@ -288,7 +311,7 @@
//姝e湪琚紪杈�
String existsKey = keys.toArray(new String[]{})[0];
//杩欓噷浼氭姏鍑烘鍦ㄧ紪杈戠殑寮傚父
- throwBeingEditDocument(existsKey.substring(existsKey.lastIndexOf("-")+1));
+ throwBeingEditDocument(existsKey.substring(existsKey.lastIndexOf("-") + 1));
} else if (remove) {
RedisUtil.setOutTime(key, getExpirationTime());
return;
diff --git a/src/main/java/com/product/file/util/FileUtil.java b/src/main/java/com/product/file/util/FileUtil.java
index 33a326b..6275477 100644
--- a/src/main/java/com/product/file/util/FileUtil.java
+++ b/src/main/java/com/product/file/util/FileUtil.java
@@ -4,6 +4,7 @@
import cn.hutool.core.util.IdUtil;
import cn.hutool.poi.word.WordUtil;
import com.aspose.words.Document;
+import com.aspose.words.SaveFormat;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.xwpf.NiceXWPFDocument;
import com.google.common.collect.Maps;
@@ -83,6 +84,9 @@
}
public static File toDocx(File file) {
+ if (!AsposeUtil.getLicense(2)) {
+ return file;
+ }
String docxName = UUID.randomUUID().toString() + ".docx";
File docxFile = new File(file.getParent() + File.separator + docxName);
String tempDir = Global.getSystemConfig("temp.dir", "./attachment/temp");
@@ -97,6 +101,24 @@
return docxFile;
}
+ public static File toDoc(File file) {
+ if (!AsposeUtil.getLicense(2)) {
+ return file;
+ }
+ String docxName = UUID.randomUUID().toString() + ".doc";
+ File docxFile = new File(file.getParent() + File.separator + docxName);
+ String tempDir = Global.getSystemConfig("temp.dir", "./attachment/temp");
+ File tempFile = new File(tempDir + File.separator + docxName);
+ try {
+ Document document = new Document(new FileInputStream(file));
+ document.save(tempFile.getAbsolutePath(), SaveFormat.DOC);
+ return tempFile;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return docxFile;
+ }
+
/**
* 鎵归噺鎵撳寘
*
--
Gitblit v1.9.2