- 添加 FilePathSanitizer 工具类,防止路径穿越和非法字符问题 - 在报告目录路径构建中使用安全的文件名处理 - 为 BookmarkEnum 添加排序字段和注释说明 - 改进书签处理排序逻辑,使用 sort 字段而非依赖枚举声明顺序 - 添加批量处理的语义说明文档 - 优化数据处理流程中的哨兵标记机制 - 为 WordReportService 接口添加详细的资源管理契约文档 - 改进 dealDataLine 方法的职责分离和参数命名 - 修复测试结果详情书签键值引用错误
Tools 工具模块
这是CN_Gather项目的工具集合模块,用于管理各种通用工具。每个工具作为独立的子模块,拥有完整的MVC架构。
架构设计
tools/
├── report-generator/ # 报告生成工具
├── data-generator/ # 数据生成工具(未来扩展)
└── file-processor/ # 文件处理工具(未来扩展)
子模块说明
1. report-generator(报告生成工具)
- 功能: 通用的文档模板处理和报告生成
- 技术栈: Apache POI, docx4j
- 特性:
- 占位符替换
- 书签定位插入
- 动态表格生成
- 多文档合并
- 样式管理
2. data-generator(数据生成工具)
- 功能: MySQL数据生成、测试数据构造
- 状态: 待开发
3. file-processor(文件处理工具)
- 功能: 文件转换、批量处理等
- 状态: 待开发
设计原则
- 独立性: 每个工具子模块独立部署和使用
- 通用性: 脱离具体业务逻辑,提供纯技术能力
- 可扩展: 支持插件化扩展和自定义处理器
- 易集成: 提供简洁的API接口
使用方式
每个工具模块都提供HTTP接口和Java API两种使用方式:
- HTTP接口:适合微服务架构,跨语言调用
- Java API:适合同项目内直接依赖调用
模块间依赖
tools模块作为独立的工具集合,尽量减少对其他业务模块的依赖,主要依赖:
- 基础的Spring Boot框架
- 通用工具库(hutool等)
- 各工具特定的技术栈依赖