From c8416efa70d03f96cfc5d9302e9cf65b4a06ac8e Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 22 Jun 2022 14:19:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8B=86=E5=88=86,=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=85=A5-=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E8=A7=A3=E5=8E=8B=E6=96=87=E4=BB=B6=E4=B8=8B=E6=9C=89=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E6=96=87=E4=BB=B6=E5=A4=B9=E6=97=B6=E8=AF=BB=E4=B8=8D?= =?UTF-8?q?=E5=88=B0orgMkdirs=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ParamsInfoEOServiceImpl.java | 4 +- .../jero/modules/split/common/FileUnZip.java | 49 +++++++++++++++++++ .../impl/FileSplitItemsEOServiceImpl.java | 4 +- 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java index 56f0677fe..08984c368 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java @@ -710,7 +710,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl excelfilelist = FileUnZip.readExcelFile(zipEntryName); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/common/FileUnZip.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/common/FileUnZip.java index 9962c9ba9..6b49c5eca 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/common/FileUnZip.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/common/FileUnZip.java @@ -76,6 +76,55 @@ public class FileUnZip { return orgMkdirs; } + /** + * 解压zip文件 + * 解决解压文件下有多个文件夹时,读不到orgMkdirs问题 + * @param sourceFile,待解压的zip文件; descDir,解压后的存放路径 + * @throws Exception + * @author gaoyan + **/ + public static String unZipFiles2(String sourceFile, String descDir) throws IOException { + File zipFile = new File(sourceFile); + + File pathFile = new File(descDir); + if (!pathFile.exists()) { + pathFile.mkdirs(); + } + ZipFile zip = new ZipFile(zipFile,"gbk"); + String orgMkdirsLast = ""; + for (Enumeration entries = zip.getEntries(); entries.hasMoreElements(); ) { + ZipEntry entry = (ZipEntry) entries.nextElement(); + String zipEntryName = entry.getName(); + String outPath = (descDir + "/" + zipEntryName).replaceAll("\\*", "/"); + orgMkdirsLast = zipEntryName.substring(0, zipEntryName.indexOf('/')); + //判断路径是否存在,不存在则创建文件路径 + File file = new File(outPath.substring(0, outPath.lastIndexOf('/'))); + if (!file.exists()) { + file.mkdirs(); + } + //判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压 + if (new File(outPath).isDirectory()) { + continue; + } + //输出文件路径信息 +// InputStream in = null; +// OutputStream out = null; + try(InputStream in =zip.getInputStream(entry); + OutputStream out =new FileOutputStream(outPath)){ + byte[] buf1 = new byte[1024]; + int len; + while ((len = in.read(buf1)) > 0) { + out.write(buf1, 0, len); + } + }catch(IOException e){ + logger.error(e.getMessage(),e); + } + } + zip.close(); + String orgMkdirs = descDir + "/" + orgMkdirsLast; + return orgMkdirs; + } + /** * 递归删除文件及文件夹 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 3a21d9da6..ae71735f7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -1484,7 +1484,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl excelfilelist = FileUnZip.readExcelFile(zipEntryName); From f27c5581f0156b7b03759d85c200e3003e006438 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 14 Feb 2022 16:43:48 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DummyInventoryInfoEOServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index 02027ed49..975193c4c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -1469,10 +1469,12 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList()); List serialNumbers = serialNumberS.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList()); - if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){ - throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加"); - }else{ - throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added"); + if(serialNumbers.size() != 0){ + if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){ + throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加"); + }else{ + throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added"); + } } } if(dummyInventoryInfoEOList.size() > 0){