Эх сурвалжийг харах

build report service success and session the version without an upgrade

mamingxu 1 сар өмнө
parent
commit
a225628aea

+ 0 - 48
easier-report-api/src/main/java/com/yaoyicloud/constant/EasierCommonEntity.java

@@ -1,48 +0,0 @@
-package com.yaoyicloud.constant;
-
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import lombok.AccessLevel;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * 通用实体用来记录操作历史, 由管理员或者用户操作的实体从此继承
- *
- * @author jimmy
- * @version 1.0.0
- * @date 12/13/23 21:29
- */
-@Data
-@NoArgsConstructor(access = AccessLevel.NONE)
-public abstract class EasierCommonEntity implements Serializable {
-
-    private static final long serialVersionUID = 7344139240780431717L;
-
-    /**
-     * 创建人
-     */
-    @TableField(fill = FieldFill.INSERT)
-    protected String createdBy;
-
-    /**
-     * 更新人
-     */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    protected String modifiedBy;
-
-    /**
-     * 创建时间
-     */
-    @TableField(fill = FieldFill.INSERT)
-    protected LocalDateTime createdTime;
-
-    /**
-     * 更新时间
-     */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    protected LocalDateTime modifiedTime;
-}

+ 2 - 2
easier-report-api/src/main/java/com/yaoyicloud/dto/ReportDTO.java

@@ -32,8 +32,8 @@ public class ReportDTO {
         private Map<String, Object> data;
 
 
-        @NotNull(message = "模版路径必填")
-        private byte[] reportTempFile;
+        @NotNull(message = "模版必填")
+        private String reportTempFile;
 
         @NotNull(message = "导出pdf路径必填")
         private String reportBastPath;

+ 0 - 23
easier-report-api/src/main/java/com/yaoyicloud/feign/ReportService.java

@@ -1,23 +0,0 @@
-package com.yaoyicloud.feign;
-import com.yaoyicloud.constant.SecurityConstants;
-import com.yaoyicloud.constant.ServiceNameConstants;
-import com.yaoyicloud.dto.ReportDTO;
-import com.yaoyicloud.utils.RespResult;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-
-@FeignClient(contextId = "reportService", value = ServiceNameConstants.REPORT_SERVER)
-public interface ReportService {
-
-    /**
-     * 导出报告
-     * @param resource 导出问到所需数据
-     * @param from 是否内部调用
-     * @return pdf保存路径
-     */
-    @PostMapping("/report/create-report")
-    RespResult<String> createPlusVersionCheckReport(@RequestBody ReportDTO.OnCreatePlusVersionReport resource,
-                                                    @RequestHeader(SecurityConstants.FROM) String from);
-}

+ 0 - 24
easier-report-api/src/main/java/com/yaoyicloud/feign/config/FeignConfig.java

@@ -1,24 +0,0 @@
-package com.yaoyicloud.feign.config;
-
-import java.util.concurrent.TimeUnit;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import feign.Request;
-
-/**
- * feign config
- *
- * @author snows
- * @date 2025/04/25
- */
-@Configuration
-public class FeignConfig {
-    @Bean
-    public Request.Options options() {
-        // 设置连接超时和读取超时
-        // 连接超时5000ms,读取超时10000ms
-        return new Request.Options(50000, TimeUnit.MILLISECONDS, 50000, TimeUnit.MILLISECONDS, Boolean.TRUE);
-    }
-}

+ 16 - 16
easier-report-biz/pom.xml

@@ -59,11 +59,11 @@
             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
         </dependency>
         <!-- iText 7 核心 -->
-<!--        <dependency>-->
-<!--            <groupId>com.itextpdf</groupId>-->
-<!--            <artifactId>itext7-core</artifactId>-->
-<!--            <version>7.2.5</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>com.itextpdf</groupId>-->
+        <!--            <artifactId>itext7-core</artifactId>-->
+        <!--            <version>7.2.5</version>-->
+        <!--        </dependency>-->
 
         <!-- iText 7 PDF/HTML 转换 -->
         <dependency>
@@ -83,17 +83,17 @@
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi</artifactId>
-            <version>5.4.1</version>
+            <version>4.1.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi-ooxml</artifactId>
-            <version>5.4.1</version>
+            <version>4.1.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi-scratchpad</artifactId>
-            <version>5.4.1</version>
+            <version>4.1.2</version>
         </dependency>
 
         <!-- XML 处理依赖 -->
@@ -107,11 +107,11 @@
             <artifactId>commons-io</artifactId>
             <version>2.6</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-            <version>1.19</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.apache.commons</groupId>-->
+<!--            <artifactId>commons-compress</artifactId>-->
+<!--            <version>1.19</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>com.yaoyicloud</groupId>
@@ -122,7 +122,7 @@
         <dependency>
             <groupId>com.deepoove</groupId>
             <artifactId>poi-tl</artifactId>
-            <version>1.12.2</version>
+            <version>1.8.2</version>
         </dependency>
 
         <!-- Jsoup -->
@@ -136,7 +136,7 @@
         <dependency>
             <groupId>fr.opensagres.xdocreport</groupId>
             <artifactId>fr.opensagres.poi.xwpf.converter.xhtml</artifactId>
-            <version>2.1.0</version>
+            <version>2.0.2</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.apache.poi</groupId>
@@ -151,7 +151,7 @@
         <dependency>
             <groupId>fr.opensagres.xdocreport</groupId>
             <artifactId>xdocreport</artifactId>
-            <version>2.1.0</version>
+            <version>2.0.6</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.apache.poi</groupId>

+ 35 - 0
easier-report-biz/src/main/java/com/yaoyicloud/config/SessionInterceptor.java

@@ -0,0 +1,35 @@
+package com.yaoyicloud.config;
+
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SessionInterceptor implements HandlerInterceptor {
+
+    private static final Map<String, HttpSession> SESSION_MAP = new HashMap<>();
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        String relationId = request.getParameter("relationId");
+        String Mysession = request.getHeader("X-Session-Id");
+        if (Mysession == null){
+            HttpSession session = request.getSession(true);
+            SESSION_MAP.put(relationId, session);
+        }
+        return true;
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+        // 这里可以添加请求处理后的逻辑,目前示例中没有具体操作
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+        // 这里可以添加请求完成后的逻辑,目前示例中没有具体操作
+    }
+}

+ 15 - 0
easier-report-biz/src/main/java/com/yaoyicloud/config/WebMvcConfig.java

@@ -0,0 +1,15 @@
+package com.yaoyicloud.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class WebMvcConfig implements WebMvcConfigurer {
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(new SessionInterceptor())
+               .addPathPatterns("/**"); // 拦截所有请求
+    }
+}

+ 35 - 6
easier-report-biz/src/main/java/com/yaoyicloud/controller/ReportController.java

@@ -1,5 +1,6 @@
 package com.yaoyicloud.controller;
 
+
 import com.yaoyicloud.annotation.EasierLog;
 import com.yaoyicloud.dto.ReportDTO;
 import com.yaoyicloud.service.ReportService;
@@ -9,8 +10,16 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * 报告控制器
@@ -23,7 +32,6 @@ import java.io.IOException;
 @Slf4j
 public class ReportController {
     private final ReportService reportService;
-
     /**
      * 创建Plus版本审核报告
      *
@@ -32,14 +40,35 @@ public class ReportController {
      */
     @EasierLog("创建Plus版本审核报告")
     @PostMapping("/report/create-report")
-    public String createPlusVersionCheckReport(@Validated @RequestBody ReportDTO.OnCreatePlusVersionReport resource,
-        HttpSession session) throws IOException {
+    public Map<String, Object>
+    createPlusVersionCheckReport(@Validated @RequestBody ReportDTO.OnCreatePlusVersionReport resource,
+                                 HttpServletRequest request) throws IOException {
+        System.out.println("服务被调用了");
+        byte[] fileBytes = Base64.getDecoder().decode(resource.getReportTempFile());
 
-        session.setAttribute(resource.getReportBastPath(), resource.getData());
 
         synchronized (this) {
-            return reportService.createPlusVersionCheckReport(resource.getReportType(), resource.getData(),
-                resource.getReportTempFile(), resource.getReportBastPath(), resource.getRelationId());
+            String reportPath = reportService.createPlusVersionCheckReport(
+                    resource.getReportType(),
+                    resource.getData(),
+                    fileBytes,
+                    resource.getReportBastPath(),
+                    resource.getRelationId()
+            );
+            //把结果保存到session中 一个relationId一个session 这样就把多个结果都保存到一个session中,可以获取路径做拼接
+            //后续 session.removeAttribute清理数据。
+            HttpSession session = request.getSession();
+            String relationId = String.valueOf(resource.getRelationId());
+            List<String> reportPaths = (List<String>) session.getAttribute(relationId);
+
+            if (reportPaths == null) {
+                reportPaths = new ArrayList<>();
+                session.setAttribute(relationId, reportPaths);
+            }
+            Map<String, Object> response = new HashMap<>();
+            response.put("reportResult", reportPath);
+            response.put("sessionId", request.getSession().getId()); // Use the provided session ID
+            return response;
         }
     }
 }

+ 8 - 8
easier-report-biz/src/main/java/com/yaoyicloud/template/AbstractReportExporter.java

@@ -25,7 +25,7 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STVerticalJc;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.config.ConfigureBuilder;
-import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
+import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
 import com.deepoove.poi.policy.RenderPolicy;
 import com.deepoove.poi.template.ElementTemplate;
 import com.deepoove.poi.util.TableTools;
@@ -68,7 +68,7 @@ public abstract class AbstractReportExporter {
         //word导出位置
         String reportTempWordFile = basicPath + "/" + label + ".docx";
         // 定义策略
-        ConfigureBuilder builder = Configure.builder();
+        ConfigureBuilder builder = Configure.newBuilder();
         this.bindConfigure(builder);
         // 渲染数据
         this.renderTemplate(reportTempWordFile, templatePath, builder, data);
@@ -124,7 +124,7 @@ public abstract class AbstractReportExporter {
      * @throws IOException io异常
      */
     protected abstract void renderTemplate(String reportTempWordFile, String templatePath, ConfigureBuilder builder,
-        Map<String, Object> data) throws IOException;
+                                           Map<String, Object> data) throws IOException;
 
     protected abstract String getBasicPath() throws IOException;
 
@@ -135,7 +135,7 @@ public abstract class AbstractReportExporter {
                 PdfPage page = pdfDoc.getPage(i);
                 final int currentPage = i;
                 new PdfCanvasProcessor(new HeadingDetectionStrategy(headings, pdfDoc, currentPage))
-                    .processPageContent(page);
+                        .processPageContent(page);
             }
         }
         return headings;
@@ -154,7 +154,7 @@ public abstract class AbstractReportExporter {
                     TocEntity last = result.get(result.size() - 1);
                     if (last.getPageNumber() == current.getPageNumber()) {
                         TocEntity combined = new TocEntity(last.getTitle() + current.getTitle(), last.getPageNumber(),
-                            last.getLevel(), last.getRect(), last.getFontSize(), last.getParagraphHeight());
+                                last.getLevel(), last.getRect(), last.getFontSize(), last.getParagraphHeight());
                         result.set(result.size() - 1, combined);
                         continue;
                     }
@@ -164,7 +164,7 @@ public abstract class AbstractReportExporter {
                 if (i + 1 < headings.size()) {
                     TocEntity next = headings.get(i + 1);
                     TocEntity combined = new TocEntity(current.getTitle() + next.getTitle(), current.getPageNumber(),
-                        current.getLevel(), current.getRect(), current.getFontSize(), current.getParagraphHeight());
+                            current.getLevel(), current.getRect(), current.getFontSize(), current.getParagraphHeight());
                     result.add(combined);
                     i++;
                     continue;
@@ -177,7 +177,7 @@ public abstract class AbstractReportExporter {
     }
 
     protected RenderPolicy getScoreRenderPolicy() {
-        RenderPolicy policy = new LoopRowTableRenderPolicy() {
+        RenderPolicy policy = new HackLoopTableRenderPolicy() {
             @SuppressWarnings("checkstyle:NestedForDepth")
             @Override
             public void render(ElementTemplate eleTemplate, Object data, XWPFTemplate template) {
@@ -311,7 +311,7 @@ public abstract class AbstractReportExporter {
         }
 
         private void addHeading(TextRenderInfo info, int level, PdfDocument pdfDoc, int i,
-            ArrayList<TocEntity> headings) {
+                                ArrayList<TocEntity> headings) {
             String text = info.getText().trim();
             LineSegment ascentLine = info.getAscentLine();
             LineSegment descentLine = info.getDescentLine();

+ 0 - 93
easier-report-biz/src/main/java/com/yaoyicloud/template/AcademicAssociationReport.java

@@ -1,93 +0,0 @@
-package com.yaoyicloud.template;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-
-import com.yaoyicloud.config.FilerepoProperties;
-import com.yaoyicloud.constant.enums.ReportType;
-import org.springframework.stereotype.Component;
-
-import com.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.config.Configure;
-import com.deepoove.poi.config.ConfigureBuilder;
-import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
-import com.deepoove.poi.policy.RenderPolicy;
-
-
-
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-
-@Slf4j
-@Component
-@RequiredArgsConstructor
-public class AcademicAssociationReport extends AbstractReportExporter {
-
-
-    private final FilerepoProperties filerepoProperties;
-
-    @Override
-    protected String getReportImagePath() {
-        return filerepoProperties.getReportImagePath();
-    }
-
-    @Override
-    protected List<String> getFontPaths() {
-        return Arrays.asList(filerepoProperties.getSourceHanSansCnBoldFontPath(),
-                filerepoProperties.getSourceHanSansCnBoldFontPath());
-    }
-    @Override
-    protected String getTemplate(ReportType reportType, String basePath) {
-        String reportTemplateFileName = getReportTemplateFileName(reportType);
-        return basePath + File.separator + reportTemplateFileName;
-    }
-
-    @Override
-    protected void bindConfigure(ConfigureBuilder builder) {
-        RenderPolicy scoreRenderPolicy = this.getScoreRenderPolicy();
-        LoopRowTableRenderPolicy hackLoopTableRenderPolicy = new LoopRowTableRenderPolicy();
-        builder.bind("checkItemScores", scoreRenderPolicy).bind("basicInfoChecks", hackLoopTableRenderPolicy)
-            .bind("businessAbnormals", hackLoopTableRenderPolicy).bind("dishonestPersons", hackLoopTableRenderPolicy)
-            .bind("penaltyRecords", hackLoopTableRenderPolicy).bind("taxPenalties", hackLoopTableRenderPolicy)
-            .bind("severeViolations", hackLoopTableRenderPolicy).bind("questionnaireItems", hackLoopTableRenderPolicy)
-            .bind("indicators", hackLoopTableRenderPolicy).bind("superiorAuthority", hackLoopTableRenderPolicy);
-    }
-
-    @Override
-    protected String imagePath() {
-        return filerepoProperties.getReportImagePath() + "/coverBackageimage.jpeg";    }
-
-
-
-    @Override
-    protected void renderTemplate(String reportTempWordFile, String templatePath, ConfigureBuilder builder,
-        Map<String, Object> data) throws IOException {
-
-        Configure config = builder.build();
-        XWPFTemplate template = XWPFTemplate.compile(templatePath, config).render(data);
-        // XWPFTemplate template = XWPFTemplate.compile("C:\\Users\\yyy\\Desktop\\锋信易报告\\平台公司\\template.docx", config).render(data);
-        template.writeToFile(reportTempWordFile);
-        template.close();
-
-    }
-
-    @Override
-    protected String getBasicPath() throws IOException {
-        return filerepoProperties.getReportTemplatePath();
-    }
-
-    /**
-     * 获取模板文件路径
-     *
-     * @param reportType
-     * @return
-     */
-    public String getReportTemplateFileName(ReportType reportType) {
-        return reportType.getType().toLowerCase() + filerepoProperties.getReportTemplateSuffix();
-    }
-
-}

+ 0 - 92
easier-report-biz/src/main/java/com/yaoyicloud/template/FoundationReport.java

@@ -1,92 +0,0 @@
-package com.yaoyicloud.template;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-
-import com.yaoyicloud.config.FilerepoProperties;
-import com.yaoyicloud.constant.enums.ReportType;
-import org.springframework.stereotype.Component;
-
-import com.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.config.Configure;
-import com.deepoove.poi.config.ConfigureBuilder;
-import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
-import com.deepoove.poi.policy.RenderPolicy;
-
-
-
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-
-@Slf4j
-@Component
-@RequiredArgsConstructor
-public class FoundationReport extends AbstractReportExporter {
-
-    private final FilerepoProperties filerepoProperties;
-    @Override
-    protected String getReportImagePath() {
-        return filerepoProperties.getReportImagePath();
-    }
-
-    @Override
-    protected String getTemplate(ReportType reportType, String basePath) {
-        String reportTemplateFileName = getReportTemplateFileName(reportType);
-        return basePath + File.separator + reportTemplateFileName;
-    }
-
-    @Override
-    protected void bindConfigure(ConfigureBuilder builder) {
-        RenderPolicy scoreRenderPolicy = this.getScoreRenderPolicy();
-        LoopRowTableRenderPolicy hackLoopTableRenderPolicy = new LoopRowTableRenderPolicy();
-        builder.bind("checkItemScores", scoreRenderPolicy).bind("basicInfoChecks", hackLoopTableRenderPolicy)
-            .bind("businessAbnormals", hackLoopTableRenderPolicy).bind("dishonestPersons", hackLoopTableRenderPolicy)
-            .bind("penaltyRecords", hackLoopTableRenderPolicy).bind("taxPenalties", hackLoopTableRenderPolicy)
-            .bind("severeViolations", hackLoopTableRenderPolicy).bind("questionnaireItems", hackLoopTableRenderPolicy)
-            .bind("indicators", hackLoopTableRenderPolicy);
-    }
-
-    @Override
-    protected String imagePath() {
-        return filerepoProperties.getReportImagePath() + "/coverBackageimage.jpeg";    }
-
-
-
-    @Override
-    protected void renderTemplate(String reportTempWordFile, String templatePath, ConfigureBuilder builder,
-        Map<String, Object> data) throws IOException {
-
-        Configure config = builder.build();
-        XWPFTemplate template = XWPFTemplate.compile(templatePath, config).render(data);
-        // XWPFTemplate template = XWPFTemplate.compile("C:\\Users\\yyy\\Desktop\\锋信易报告\\平台公司\\template.docx", config).render(data);
-        template.writeToFile(reportTempWordFile);
-        template.close();
-
-    }
-
-    @Override
-    protected String getBasicPath() throws IOException {
-        return filerepoProperties.getReportTemplatePath();
-    }
-
-    /**
-     * 获取模板文件路径
-     *
-     * @param reportType
-     * @return
-     */
-    public String getReportTemplateFileName(ReportType reportType) {
-        return reportType.getType().toLowerCase() + filerepoProperties.getReportTemplateSuffix();
-    }
-
-    @Override
-    protected List<String> getFontPaths() {
-        return Arrays.asList(filerepoProperties.getSourceHanSansCnBoldFontPath(),
-            filerepoProperties.getSourceHanSansCnBoldFontPath());
-    }
-
-}

+ 7 - 7
easier-report-biz/src/main/java/com/yaoyicloud/template/PlatformCompanyReport.java

@@ -6,13 +6,13 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
+import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
 import com.yaoyicloud.config.FilerepoProperties;
 import com.yaoyicloud.constant.enums.ReportType;
 import org.springframework.stereotype.Component;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.config.ConfigureBuilder;
-import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
 import com.deepoove.poi.policy.RenderPolicy;
 
 import lombok.RequiredArgsConstructor;
@@ -41,7 +41,7 @@ public class PlatformCompanyReport extends AbstractReportExporter {
     @Override
     protected void bindConfigure(ConfigureBuilder builder) {
         RenderPolicy scoreRenderPolicy = this.getScoreRenderPolicy();
-        LoopRowTableRenderPolicy hackLoopTableRenderPolicy = new LoopRowTableRenderPolicy();
+        HackLoopTableRenderPolicy hackLoopTableRenderPolicy = new HackLoopTableRenderPolicy();
         builder.bind("checkItemScores", scoreRenderPolicy).bind("basicInfoChecks", hackLoopTableRenderPolicy)
             .bind("businessAbnormals", hackLoopTableRenderPolicy).bind("dishonestPersons", hackLoopTableRenderPolicy)
             .bind("penaltyRecords", hackLoopTableRenderPolicy).bind("taxPenalties", hackLoopTableRenderPolicy)
@@ -56,24 +56,24 @@ public class PlatformCompanyReport extends AbstractReportExporter {
     }
 
 
-
-
     @Override
     protected void renderTemplate(String reportTempWordFile, String templatePath, ConfigureBuilder builder,
         Map<String, Object> data) throws IOException {
-
+        File file = new File(templatePath);
+        if (!file.exists()) {
+            throw new RuntimeException("模板文件不存在: " + templatePath);
+        }
         Configure config = builder.build();
         XWPFTemplate template = XWPFTemplate.compile(templatePath, config).render(data);
         template.writeToFile(reportTempWordFile);
         template.close();
-
     }
 
 
 
     @Override
     protected String getBasicPath() throws IOException {
-        return filerepoProperties.getReportTemplatePath();
+        return filerepoProperties.getBasePath();
     }
 
     /**

+ 3 - 1
easier-report-biz/src/test/java/com/yaoyicloud/report/TestServiceProviderInfoRender.java

@@ -1,4 +1,6 @@
-package com.yaoyicloud.render;
+package com.yaoyicloud.report;
+
+import org.junit.jupiter.api.Test;
 
 public class TestServiceProviderInfoRender {
 

+ 4 - 4
pom.xml

@@ -33,10 +33,10 @@
 
     <dependencies>
         <!--feign 依赖-->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-openfeign</artifactId>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-openfeign</artifactId>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-context</artifactId>