diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/util/IntekeyUtils.java b/laws-base/laws-base-core/src/main/java/com/jero/common/util/IntekeyUtils.java index b1c662f7..e3dba606 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/util/IntekeyUtils.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/util/IntekeyUtils.java @@ -70,6 +70,36 @@ public class IntekeyUtils { } } + public static InputStream autoDecryptInputStreamFile(InputStream inputStream, String fileName) throws IOException { + if (!ENABLE || inputStream == null) { + return inputStream; + } + MultipartFile multipartFile = convertMultipart(inputStream, fileName); + // 将文件解密 + try { + return IntekeyUtils.decryptFile(DECRYPT_URL, DECRYPT_APP_CODE, DECRYPT_SECRET_KEY, null, multipartFile); + } catch (Exception e) { + log.error("文件解密失败,返回原文件"); + return inputStream; + } + } + + public static MultipartFile convertMultipart(InputStream is, String fileName) throws IOException { + // 假定文件名和内容类型已知 + String contentType = "application/octet-stream"; // 或其他类型 + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + + int nRead; + byte[] data = new byte[1024]; + while ((nRead = is.read(data, 0, data.length)) != -1) { + buffer.write(data, 0, nRead); + } + buffer.flush(); + byte[] byteArray = buffer.toByteArray(); + + // 使用MockMultipartFile创建MultipartFile + return new MockMultipartFile(fileName, fileName, contentType, byteArray); + } /** * 解密文件,返回InputStream,供excel使用 diff --git a/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java b/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java index b1ee29c5..043a72f7 100644 --- a/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java +++ b/laws-modules/src/main/java/com/jero/modules/onlyoffice/controller/OnlyOfficeController.java @@ -375,7 +375,8 @@ public class OnlyOfficeController { doc.getSections().get(0).getPageSetup().setPageNumberStyle(PageNumberStyle.Roman_Upper); for (; i < Integer.MAX_VALUE; i++) { if (i == 1) { - doc.getSections().get(1).getPageSetup().setOrientation(PageOrientation.Portrait);//纵向 + doc.getSections().get(i).getPageSetup().setOrientation(PageOrientation.Portrait);//纵向 + doc.getSections().get(i).getPageSetup().setPageNumberStyle(PageNumberStyle.Roman_Upper); } doc.getSections().get(i).getPageSetup().setOrientation(PageOrientation.Portrait);//纵向 } @@ -383,8 +384,6 @@ public class OnlyOfficeController { log.info("设置纵向页面,循环次数为:{}", i + 1); } - doc.getSections().get(1).getPageSetup().setPageNumberStyle(PageNumberStyle.Roman_Upper); - String downloadDocxFileTempUrl = filePath + "/downloadDocxFileTemp"; File downloadDocxFileTempUrlFile = new File(downloadDocxFileTempUrl); diff --git a/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java index d4100c01..1ada901b 100644 --- a/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.exception.JeroBootException; import com.jero.common.util.CommonUtils; +import com.jero.common.util.IntekeyUtils; import com.jero.common.util.MinioUtil; import com.jero.common.util.oConvertUtils; import com.jero.modules.laws.common.constant.FieldCommon; @@ -136,10 +137,12 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl