Skip to content

Commit 2514394

Browse files
committed
更正注释,格式和目录
1 parent 381b95c commit 2514394

File tree

12 files changed

+92
-101
lines changed

12 files changed

+92
-101
lines changed

app-builder/plugins/aipp-file-extract-excel/pom.xml

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
43
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
54
<modelVersion>4.0.0</modelVersion>
65
<parent>
@@ -9,6 +8,7 @@
98
<version>1.0.0-SNAPSHOT</version>
109
</parent>
1110

11+
<groupId>modelengine.fit.jade.plugin</groupId>
1212
<artifactId>aipp-file-extract-excel</artifactId>
1313

1414
<dependencies>
@@ -21,14 +21,6 @@
2121
<groupId>org.fitframework</groupId>
2222
<artifactId>fit-util</artifactId>
2323
</dependency>
24-
<dependency>
25-
<groupId>cn.idev.excel</groupId>
26-
<artifactId>fastexcel</artifactId>
27-
</dependency>
28-
<dependency>
29-
<groupId>modelengine.fit.jade</groupId>
30-
<artifactId>aipp-file-extract-service</artifactId>
31-
</dependency>
3224
<dependency>
3325
<groupId>org.junit.jupiter</groupId>
3426
<artifactId>junit-jupiter</artifactId>
@@ -41,6 +33,22 @@
4133
<groupId>org.assertj</groupId>
4234
<artifactId>assertj-core</artifactId>
4335
</dependency>
36+
37+
<!-- fast excel -->
38+
<dependency>
39+
<groupId>cn.idev.excel</groupId>
40+
<artifactId>fastexcel</artifactId>
41+
</dependency>
42+
43+
<!-- Services -->
44+
<dependency>
45+
<groupId>modelengine.fit.jade</groupId>
46+
<artifactId>aipp-file-extract-service</artifactId>
47+
</dependency>
48+
<dependency>
49+
<groupId>modelengine.fit.jade</groupId>
50+
<artifactId>aipp-service</artifactId>
51+
</dependency>
4452
</dependencies>
4553

4654
<build>
@@ -85,5 +93,4 @@
8593
</plugin>
8694
</plugins>
8795
</build>
88-
8996
</project>

app-builder/plugins/aipp-file-extract-excel/src/main/java/modelengine/fit/jade/aipp/file/extract/ExcelFileExtractor.java

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import cn.idev.excel.read.listener.ReadListener;
1919
import cn.idev.excel.read.metadata.ReadSheet;
2020
import cn.idev.excel.util.DateUtils;
21+
import modelengine.fit.jober.aipp.service.OperatorService;
2122
import modelengine.fitframework.annotation.Component;
2223
import modelengine.fitframework.annotation.Fitable;
2324

@@ -34,9 +35,20 @@
3435
import java.util.Map;
3536
import java.util.stream.Collectors;
3637

38+
/**
39+
* Excel文件的提取器。
40+
*
41+
* @author jsbjfkbsjk
42+
* @since 2025-9-6
43+
*/
3744
@Component
3845
public class ExcelFileExtractor implements AbstractFileExtractor {
39-
46+
/**
47+
* 把单元格转换成格式化字符串
48+
*
49+
* @param cell 表示单元格数据 {@link ReadCellData}
50+
* @return 转换后的内容 {@link String}
51+
*/
4052
private static String getCellValueAsString(ReadCellData<?> cell) {
4153
switch (cell.getType()) {
4254
case STRING:
@@ -60,22 +72,22 @@ private static String getCellValueAsString(ReadCellData<?> cell) {
6072
}
6173
}
6274

75+
/**
76+
* 该文件提取器支持excel类型
77+
*
78+
* @return 枚举常量类型 {@link OperatorService.FileType}
79+
*/
6380
@Override
6481
@Fitable(id = "get-fileType-excel")
65-
public FileTypeConstant.FileType supportedFileType() {
66-
return FileTypeConstant.FileType.EXCEL;
82+
public OperatorService.FileType supportedFileType() {
83+
return OperatorService.FileType.EXCEL;
6784
}
6885

6986
/**
7087
* 从指定路径的 Excel 文件中提取内容,并返回为字符串形式。
71-
* 实现方式:
72-
* 基于 fast-excel 包,使用流式读取(ReadListener)逐行解析,避免一次性加载整表造成的内存开销。
73-
* 每行数据会被转换为以制表符(\t)分隔的文本,并在行末追加换行符。
74-
* 支持多 sheet 解析,会依次读取工作簿中的每一个 sheet。
7588
*
7689
* @param fileUrl 表示文件路径的 {@link String}.
7790
* @return 表示文件内容的 {@link String}。
78-
* @throws RuntimeException 当文件读取或解析失败时抛出
7991
*/
8092
@Override
8193
@Fitable(id = "extract-file-excel")
@@ -119,8 +131,7 @@ public void doAfterAllAnalysed(AnalysisContext context) {
119131

120132
/**
121133
* 自定义单元格数据转换器。
122-
* 将 Excel 单元格数据统一转换为字符串,避免数值/日期等类型在读取时格式不一致的问题。
123-
* 缺点:由于采用fast excel包,没有 FORMULA类,会将公式单元格自动计算为值
134+
* 该转换器实现了能够处理单元格数据并将其转换为字符串形式。
124135
*/
125136
public static class CustomCellStringConverter implements Converter<String> {
126137
@Override

app-builder/plugins/aipp-file-extract-excel/src/test/java/modelengine/fit/jade/aipp/file/extract/ExcelFileExtractorTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import static org.assertj.core.api.Assertions.assertThat;
1010

11+
import modelengine.fit.jober.aipp.service.OperatorService;
1112
import modelengine.fitframework.annotation.Fit;
1213
import modelengine.fitframework.test.annotation.FitTestWithJunit;
1314

@@ -17,6 +18,12 @@
1718

1819
import java.io.File;
1920

21+
/**
22+
* 表示{@link ExcelFileExtractor}的测试集
23+
*
24+
* @author jsbjfkbsjk
25+
* @since 2025-9-6
26+
*/
2027
@FitTestWithJunit(includeClasses = ExcelFileExtractor.class)
2128
@Disabled
2229
class ExcelFileExtractorTest {
@@ -26,7 +33,7 @@ class ExcelFileExtractorTest {
2633
@Test
2734
@DisplayName("测试获取支持文件类型")
2835
void supportedFileType() {
29-
assertThat(this.excelFileExtractor.supportedFileType()).isEqualTo(FileTypeConstant.FileType.EXCEL);
36+
assertThat(this.excelFileExtractor.supportedFileType()).isEqualTo(OperatorService.FileType.EXCEL);
3037
}
3138

3239
@Test

app-builder/plugins/aipp-file-extract-service/src/main/java/modelengine/fit/jade/aipp/file/extract/FileTypeConstant.java

Lines changed: 0 additions & 24 deletions
This file was deleted.

app-builder/plugins/aipp-plugin/pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,9 @@
149149
<artifactId>aipp-file-extract-service</artifactId>
150150
</dependency>
151151
<dependency>
152-
<groupId>modelengine.fit.jade</groupId>
152+
<groupId>modelengine.fit.jade.plugin</groupId>
153153
<artifactId>aipp-file-extract-excel</artifactId>
154+
<version>1.0.0-SNAPSHOT</version>
154155
<scope>test</scope>
155156
</dependency>
156157

app-builder/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/tool/FileExtractorContainer.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
package modelengine.fit.jober.aipp.tool;
88

99
import modelengine.fit.jade.aipp.file.extract.AbstractFileExtractor;
10-
import modelengine.fit.jade.aipp.file.extract.FileTypeConstant;
1110
import modelengine.fit.jober.aipp.service.OperatorService;
1211
import modelengine.fitframework.annotation.Component;
1312

@@ -18,22 +17,35 @@
1817

1918
/**
2019
* 管理文件提取器的容器
20+
*
21+
* @author jsbjfkbsjk
22+
* @since 2025-9-6
2123
*/
2224
@Component
2325
public class FileExtractorContainer {
24-
private final Map<FileTypeConstant.FileType, AbstractFileExtractor> map;
26+
private final Map<OperatorService.FileType, AbstractFileExtractor> map;
2527

28+
/**
29+
* 初始化用框架注入提取器
30+
*
31+
* @param extractors 文件提取器 {@link AbstractFileExtractor}
32+
*/
2633
public FileExtractorContainer(List<AbstractFileExtractor> extractors) {
27-
map = new EnumMap<>(FileTypeConstant.FileType.class);
34+
map = new EnumMap<>(OperatorService.FileType.class);
2835
for (AbstractFileExtractor fileExtractor : extractors) {
2936
map.put(fileExtractor.supportedFileType(), fileExtractor);
3037
}
3138
}
3239

40+
/**
41+
* 根据文件类型找到支持文件类型的提取器
42+
*
43+
* @param fileUrl 文件路径 {@link String}
44+
* @param fileType 文件枚举类型 {@link OperatorService.FileType}
45+
* @return 提取的字符串 {@link Optional<String>}
46+
*/
3347
public Optional<String> extract(String fileUrl, OperatorService.FileType fileType) {
34-
FileTypeConstant.FileType fileType_transform = FileTypeConvertor.convert(fileType);
35-
return Optional.ofNullable(map.get(fileType_transform))
48+
return Optional.ofNullable(map.get(fileType))
3649
.map(extractor -> extractor.extractFile(fileUrl));
3750
}
38-
3951
}

app-builder/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/tool/FileTypeConvertor.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

app-builder/plugins/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
<module>aipp-document-extract-node</module>
2020
<module>aipp-extractor</module>
2121
<module>aipp-file-extract-excel</module>
22-
<module>aipp-file-extract-service</module>
2322
<module>aipp-http-call</module>
2423
<module>aipp-loop-tool</module>
2524
<module>aipp-memory</module>

app-builder/plugins/aipp-file-extract-service/pom.xml renamed to app-builder/services/aipp-file-extract-service/pom.xml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
43
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
54
<modelVersion>4.0.0</modelVersion>
65
<parent>
76
<groupId>modelengine.fit.jade</groupId>
8-
<artifactId>app-builder-plugin-parent</artifactId>
7+
<artifactId>app-builder-service-parent</artifactId>
98
<version>1.0.0-SNAPSHOT</version>
109
</parent>
1110

@@ -21,6 +20,12 @@
2120
<groupId>org.fitframework</groupId>
2221
<artifactId>fit-util</artifactId>
2322
</dependency>
23+
24+
<!-- Services -->
25+
<dependency>
26+
<groupId>modelengine.fit.jade</groupId>
27+
<artifactId>aipp-service</artifactId>
28+
</dependency>
2429
</dependencies>
2530

2631
<build>
@@ -53,5 +58,4 @@
5358
</plugin>
5459
</plugins>
5560
</build>
56-
5761
</project>

app-builder/plugins/aipp-file-extract-service/src/main/java/modelengine/fit/jade/aipp/file/extract/AbstractFileExtractor.java renamed to app-builder/services/aipp-file-extract-service/src/main/java/modelengine/fit/jade/aipp/file/extract/AbstractFileExtractor.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,18 @@
66

77
package modelengine.fit.jade.aipp.file.extract;
88

9+
import modelengine.fit.jober.aipp.service.OperatorService;
910
import modelengine.fitframework.annotation.Genericable;
1011

12+
/**
13+
* Excel文件提取器的抽象接口。
14+
*
15+
* @author jsbjfkbsjk
16+
* @since 2025-9-6
17+
*/
1118
public interface AbstractFileExtractor {
1219
/**
20+
* 提取文件函数
1321
*
1422
* @param fileUrl 文件路径
1523
* @return 表示提取的文件信息的 {@link String}。
@@ -18,10 +26,10 @@ public interface AbstractFileExtractor {
1826
String extractFile(String fileUrl);
1927

2028
/**
29+
* 返回提取器支持文件类型
2130
*
22-
* @return 表示返回的文件枚举类型
31+
* @return 表示返回的文件枚举类型 {@link OperatorService.FileType}
2332
*/
2433
@Genericable(id = "get-fileType")
25-
FileTypeConstant.FileType supportedFileType();
26-
34+
OperatorService.FileType supportedFileType();
2735
}

0 commit comments

Comments
 (0)