From a9a95c4d0d2631338e7836eec1b315530d1de2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 10 Jul 2025 16:04:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StructuralPackageControllerService.java | 6 +----- .../com/nflg/wms/admin/util/PdfGeneratorUtil.java | 7 +++++-- .../nflg/wms/auth/config/RestTemplateConfig.java | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 nflg-wms-auth/src/main/java/com/nflg/wms/auth/config/RestTemplateConfig.java diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java index a8000cca..c7cada97 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java @@ -38,7 +38,6 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ResourceUtils; import org.springframework.web.multipart.MultipartFile; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; @@ -51,7 +50,6 @@ import org.ttzero.excel.reader.Sheet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; import java.math.BigDecimal; import java.net.URLEncoder; @@ -338,8 +336,6 @@ public class StructuralPackageControllerService { } public void exportPdf(HttpServletResponse response, @Valid @NotNull Long id) throws Exception { - File file = ResourceUtils.getFile("classpath:template/StructuralPackage.html"); - VUtil.trueThrowBusinessError(!file.exists()).throwMessage("模板文件不存在"); PackageVO vo = packageService.getInfo(id); VUtil.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("数据不存在"); TemplateEngine templateEngine = new TemplateEngine(); @@ -353,6 +349,6 @@ public class StructuralPackageControllerService { Context context = new Context(); context.setVariables(variables); String html = templateEngine.process("StructuralPackage", context); - PdfGeneratorUtil.generatePdf(vo.getNo() + "老鼠图", html, file.toURI().toURL().toString(), response); + PdfGeneratorUtil.generatePdf(vo.getNo() + "老鼠图", html, response); } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/PdfGeneratorUtil.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/PdfGeneratorUtil.java index 8beca04c..81ed9ab9 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/PdfGeneratorUtil.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/PdfGeneratorUtil.java @@ -2,10 +2,12 @@ package com.nflg.wms.admin.util; import com.lowagie.text.pdf.BaseFont; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.core.io.ClassPathResource; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.xhtmlrenderer.pdf.ITextRenderer; +import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -13,10 +15,11 @@ public class PdfGeneratorUtil { private static final String fontPath = "fonts/simsun.ttc"; - public static void generatePdf(String name,String html,String baseUrl, HttpServletResponse response) throws Exception { + public static void generatePdf(String name,String html, HttpServletResponse response) throws Exception { ITextRenderer renderer = new ITextRenderer(); renderer.getFontResolver().addFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); - renderer.setDocumentFromString(html,baseUrl); + URL baseUrl = new ClassPathResource("template/").getURL(); + renderer.setDocumentFromString(html,baseUrl.toString()); renderer.layout(); renderer.createPDF(response.getOutputStream()); response.setContentType(MediaType.APPLICATION_PDF_VALUE); diff --git a/nflg-wms-auth/src/main/java/com/nflg/wms/auth/config/RestTemplateConfig.java b/nflg-wms-auth/src/main/java/com/nflg/wms/auth/config/RestTemplateConfig.java new file mode 100644 index 00000000..66d884fa --- /dev/null +++ b/nflg-wms-auth/src/main/java/com/nflg/wms/auth/config/RestTemplateConfig.java @@ -0,0 +1,15 @@ +package com.nflg.wms.auth.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } + +}