From a19af8c479fcf999d5381ae725b4162fa80bb8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Tue, 9 Jan 2024 10:43:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E4=BA=A4=E4=BB=98=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=92=8C=E4=B8=8B=E8=BD=BD=E6=96=87=E4=BB=B6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ElectInvoiceController.java | 17 ++++++++++++----- .../impl/OrderInvoiceInfoServiceImpl.java | 12 +++++++++++- pom.xml | 2 +- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ElectInvoiceController.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ElectInvoiceController.java index 5ae7cd0e..a7fa72a6 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ElectInvoiceController.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/controller/ElectInvoiceController.java @@ -30,10 +30,8 @@ import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -109,6 +107,7 @@ public class ElectInvoiceController { //压缩文件初始设置 List dataList = new ArrayList<>(); List pageInvoiceRequestInfoList = downloadInvoiceRequest.getPageInvoiceRequestInfoList(); + log.debug("入参集合大小{}",pageInvoiceRequestInfoList.size()); //批量下载版式文件限制条数100 if(pageInvoiceRequestInfoList.size() > ConfigureConstant.INT_100){ try { @@ -121,6 +120,7 @@ public class ElectInvoiceController { pageInvoiceRequestInfoList.forEach(pageInvoiceRequestInfo -> { List fileDownLoadList = electInvoiceService.queryInvoicePdfPath(pageInvoiceRequestInfo.getInvoiceCode(), pageInvoiceRequestInfo.getInvoiceNo(), pageInvoiceRequestInfo.getXhfNsrsbh(), ""); + log.debug("遍历查询文件大小{}",fileDownLoadList.size()); dataList.addAll(fileDownLoadList); }); @@ -138,7 +138,14 @@ public class ElectInvoiceController { /** * 增加 */ - if (StringUtils.isNotEmpty(zipName) || dataList.size() > 1) { + //去重 + List data = dataList.stream().collect + (Collectors.collectingAndThen( + Collectors.toCollection( + ()->new TreeSet<>(Comparator.comparing(FileDownLoad::getFileName))),ArrayList::new + ) + ); + if (StringUtils.isNotEmpty(zipName) || data.size() > 1) { response.setContentType("multipart/form-data"); response.setHeader("Content-Disposition", "attachment;filename=" + finalFileName + ".zip"); response.setHeader("fileName", finalFileName + ".zip"); diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java index 5a69e88d..d025259b 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java @@ -894,6 +894,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { useLocal = true; } + log.debug("获取数据{},{},{}",useInterface,useMongo,useLocal); if (useMongo) { //调用monggodb获取数据 @@ -909,6 +910,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { fileDownLoad.setFileName(fpdm + "-" + fphm + fileStoreEntity.getSuffix()); fileDownLoad.setFileSuffix(fileStoreEntity.getSuffix()); fileDownLoadList.add(fileDownLoad); + log.debug("useMongo获得文件数量{},内容{}",fileDownLoadList.size()); } } if (useInterface) { @@ -921,17 +923,23 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { if(StringUtils.isBlank(wjlx)){ wjlx = OrderInfoEnum.FILE_TYPE_PDF.getKey(); } + String fileName = fphm; //转换文件类型参数 if(OrderInfoEnum.FILE_TYPE_PDF.getKey().equals(wjlx)){ fileDownloadRequest.setWJLX("1"); + fileName = fileName+ConfigureConstant.STRING_SUFFIX_PDF; } else if (OrderInfoEnum.FILE_TYPE_OFD.getKey().equals(wjlx)) { fileDownloadRequest.setWJLX("2"); + fileName = fileName+ConfigureConstant.STRING_SUFFIX_OFD; } else if (OrderInfoEnum.FILE_TYPE_PNG.getKey().equals(wjlx)) { fileDownloadRequest.setWJLX("3"); + fileName = fileName+ConfigureConstant.STRING_SUFFIX_PNG; } else if (OrderInfoEnum.FILE_TYPE_XML.getKey().equals(wjlx)) { fileDownloadRequest.setWJLX("4"); + fileName = fileName+ConfigureConstant.STRING_SUFFIX_XML; } else { fileDownloadRequest.setWJLX("1"); + fileName = fileName+ConfigureConstant.STRING_SUFFIX_PDF; } //通过terminalCode判断全电类型 @@ -943,7 +951,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { if(OrderInfoContentEnum.SUCCESS.getKey().equals(response.getCode())){ FileDownLoad fileDownLoad = new FileDownLoad(); fileDownLoad.setFileContent(response.getFileContent()); - fileDownLoad.setFileName(fphm); + fileDownLoad.setFileName(fileName); if (OrderInfoEnum.FILE_TYPE_PDF.getKey().equals(wjlx)) { fileDownLoad.setFileSuffix(ConfigureConstant.STRING_SUFFIX_PDF); } else if (OrderInfoEnum.FILE_TYPE_OFD.getKey().equals(wjlx)) { @@ -954,6 +962,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { fileDownLoad.setFileSuffix(ConfigureConstant.STRING_SUFFIX_XML); } fileDownLoadList.add(fileDownLoad); + log.debug("useInterface获得文件数量{},内容{}",fileDownLoadList.size()); } } else { @@ -1008,6 +1017,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService { } fileDownLoad.setFileSuffix(ConfigureConstant.STRING_SUFFIX_PDF); fileDownLoadList.add(fileDownLoad); + log.debug("useLocal获得文件数量{}",fileDownLoadList.size()); } } diff --git a/pom.xml b/pom.xml index f28e3c66..8fc78cbc 100644 --- a/pom.xml +++ b/pom.xml @@ -74,7 +74,7 @@ 1.0.1-sdenergy - 1.0.0.2-sdenergy + 1.0.0.4-sdenergy 6.1.4.0-BASE