Quellcode durchsuchen

fix(导入导出):
新增导入api

18339543638 vor 2 Jahren
Ursprung
Commit
d287630f84

+ 11 - 0
tr-modules-api/tr-module-export-api/src/main/java/cn/tr/module/api/ExcelApi.java

@@ -2,6 +2,7 @@ package cn.tr.module.api;
 
 import org.springframework.util.Base64Utils;
 
+import java.io.InputStream;
 import java.util.Collection;
 
 /**
@@ -29,4 +30,14 @@ public interface ExcelApi {
      * @return 文件字节码数组
      */
     <T> byte[] doExportExcel(Class<T> aClass, Collection<T> data);
+
+    /**
+     * 导入文件
+     * @param filename    文件名称
+     * @param inputStream 数据流
+     * @param aClass      文件类
+     * @return            导入记录id
+     * @throws Exception
+     */
+    <T> String importExcel(String filename, InputStream inputStream, Class<T> aClass) throws Exception;
 }

+ 2 - 1
tr-modules/tr-module-export/src/main/java/cn/tr/module/excel/core/service/ExcelService.java

@@ -63,7 +63,8 @@ public class ExcelService {
         createSheet(excelWriter,0,"导入(导出)模板",aClass,data);
         List<ExcelTemplateDescDTO> exportTemplate = ExcelTemplateDescUtil.createExportTemplate(aClass);
         createSheet(excelWriter,1,"模板注释",ExcelTemplateDescDTO.class,exportTemplate);
-        excelWriter.finish();
+        IoUtil.flush(outputStream);
+        IoUtil.close(excelWriter);
         return outputStream.toByteArray();
     }
 

+ 6 - 0
tr-modules/tr-module-export/src/main/java/cn/tr/module/excel/provider/ExcelProvider.java

@@ -5,6 +5,7 @@ import cn.tr.module.excel.core.service.ExcelService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.io.InputStream;
 import java.util.Collection;
 
 /**
@@ -21,4 +22,9 @@ public class ExcelProvider implements ExcelApi {
     public <T> byte[] doExportExcel(Class<T> aClass, Collection<T> data) {
         return excelService.exportExcel(aClass,data);
     }
+
+    @Override
+    public <T> String importExcel(String filename, InputStream inputStream, Class<T> aClass) throws Exception {
+        return excelService.importExcel(filename,inputStream,aClass,null);
+    }
 }

+ 1 - 1
tr-test/src/main/java/cn/tr/test/WebApplication.java

@@ -13,7 +13,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
  * @Date: 2023年02月22日
  */
 @SpringBootApplication(scanBasePackages = "cn.tr.module.*")
-@MapperScan({"cn.tr.module.*.*.repository","cn.tr.module.*.modular.*.mapper"})
+@MapperScan({"cn.tr.module.*.**.repository","cn.tr.module.*.modular.*.mapper"})
 @EnableAsync
 public class WebApplication {
     public static void main(String[] args) {