diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java index a2838f68..e8b36c94 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java @@ -120,6 +120,9 @@ public class FileSpiltService { * @return */ public int fileCHN(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { + long time1=System.currentTimeMillis(); + long time2=System.currentTimeMillis(); + log.info("耗时:"+(time2-time1)+"ms"); if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } @@ -130,6 +133,8 @@ public class FileSpiltService { String partName = ""; LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getById(sarFileSplitInfoEO.getStandardId()); LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.getById(sarFileSplitInfoEO.getStandardId()); + long time3=System.currentTimeMillis(); + log.info("耗时:"+(time3-time1)+"ms"); if (!Objects.isNull(lawsDomesticStandard)){ partName = lawsDomesticStandard.getPartName(); }else { @@ -145,7 +150,8 @@ public class FileSpiltService { // 拆分文件条款详情表中最终插入数据 List itemValList = new ArrayList<>(); Long treeListDisplay = 1L; - + long time4=System.currentTimeMillis(); + log.info("耗时:"+(time4-time1)+"ms"); String generalCatalogueId = UUIDUtils.randomUUID20(); SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(); // SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"总目录","",sarFileSplitInfoEO.getId(),treeListDisplay++,""); @@ -180,19 +186,37 @@ public class FileSpiltService { if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } + long time5=System.currentTimeMillis(); + log.info("耗时:"+(time5-time1)+"ms"); // try (InputStream is = MinioUtil.download(readFilePath);InputStream is1 = MinioUtil.download(readFilePath)) { try (InputStream is = ObsBootUtil.getOssFile(readFilePath);InputStream is1 = ObsBootUtil.getOssFile(readFilePath)) { + long time6=System.currentTimeMillis(); + log.info("耗时:"+(time6-time1)+"ms"); String fileName = readFilePath.substring((readFilePath.lastIndexOf("/") + 1)); - MultipartFile mFile = new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), is); - MultipartFile mFile1 = new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), is1); - InputStream inputStream = IntekeyUtils.getInputStreamByDecryptFile(mFile); - InputStream inputStream1 = IntekeyUtils.getInputStreamByDecryptFile(mFile1); + InputStream inputStream; + InputStream inputStream1; + if (IntekeyUtils.ENABLE) { + MultipartFile mFile = new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), is); + MultipartFile mFile1 = new MockMultipartFile(fileName, fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), is1); + inputStream = IntekeyUtils.getInputStreamByDecryptFile(mFile); + inputStream1 = IntekeyUtils.getInputStreamByDecryptFile(mFile1); + }else { + inputStream = is; + inputStream1 = is1; + } + ZipSecureFile.setMinInflateRatio(-1.0d); + long time7=System.currentTimeMillis(); + log.info("耗时:"+(time7-time1)+"ms"); XWPFDocument doc = new XWPFDocument(inputStream); + long time8=System.currentTimeMillis(); + log.info("耗时:"+(time8-time1)+"ms"); // 获取文档中的图片 - List allPictures = doc.getAllPictures(); + //List allPictures = doc.getAllPictures(); //获得序号标题和无标题序号 TitleNumberVO titleNumberVO = AsposeUtil.getNumber(inputStream1); + long time9=System.currentTimeMillis(); + log.info("耗时:"+(time9-time1)+"ms"); //TitleNumberVO titleNumberVO = new TitleNumberVO(); Map> titleNumberMap = titleNumberVO.getTitleNumberMap(); List emptyTitleList = titleNumberVO.getEmptyTitleList(); @@ -468,6 +492,8 @@ public class FileSpiltService { log.error(e.getMessage(),e); return -1; } + long time10=System.currentTimeMillis(); + log.info("耗时:"+(time10-time1)+"ms"); if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); for (int i = 0; i < messageList.size(); i++) { @@ -477,6 +503,8 @@ public class FileSpiltService { iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); + long time11=System.currentTimeMillis(); + log.info("耗时:"+(time11-time1)+"ms"); } else { return -1; } diff --git a/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java b/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java index 892c476b..9fc9e4be 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/split/util/AsposeUtil.java @@ -23,18 +23,28 @@ public class AsposeUtil { * @return */ public static TitleNumberVO getNumber(InputStream is) { + long time1=System.currentTimeMillis(); + TitleNumberVO titleNumberVO = new TitleNumberVO(); Map> titleNumberMap = new HashMap<>(); List emptyTitleList = new ArrayList<>(); try { + long time9=System.currentTimeMillis(); + log.info("耗时:"+(time9-time1)+"ms"); Document doc = new Document(is); - + long time8=System.currentTimeMillis(); + log.info("耗时:"+(time8-time1)+"ms"); DocumentBuilder builder = new DocumentBuilder(doc); - - builder.insertField(FieldType.FIELD_NUM_PAGES, true); + long time7=System.currentTimeMillis(); + log.info("耗时:"+(time7-time1)+"ms"); + //builder.insertField(FieldType.FIELD_NUM_PAGES, true); + long time6=System.currentTimeMillis(); + log.info("耗时:"+(time6-time1)+"ms"); //获取段落 - NodeCollection childNodes = doc.getChildNodes(NodeType.ANY, true); + NodeCollection childNodes = doc.getChildNodes(NodeType.PARAGRAPH, true); + long time2=System.currentTimeMillis(); + log.info("耗时:"+(time2-time1)+"ms"); for (int i = 0; i < childNodes.getCount(); i++) { Node next = childNodes.get(i); @@ -79,6 +89,8 @@ public class AsposeUtil { } titleNumberVO.setTitleNumberMap(titleNumberMap); titleNumberVO.setEmptyTitleList(emptyTitleList); + long time9=System.currentTimeMillis(); + log.info("耗时:"+(time9-time1)+"ms"); return titleNumberVO; }