# Tools 工具模块

这是CN_Gather项目的工具集合模块，用于管理各种通用工具。每个工具作为独立的子模块，拥有完整的MVC架构。

## 架构设计

```
tools/
├── report-generator/          # 报告生成工具
├── data-generator/           # 数据生成工具（未来扩展）
└── file-processor/          # 文件处理工具（未来扩展）
```

## 子模块说明

### 1. report-generator（报告生成工具）
- **功能**: 通用的文档模板处理和报告生成
- **技术栈**: Apache POI, docx4j
- **特性**: 
  - 占位符替换
  - 书签定位插入
  - 动态表格生成
  - 多文档合并
  - 样式管理

### 2. data-generator（数据生成工具）
- **功能**: MySQL数据生成、测试数据构造
- **状态**: 待开发

### 3. file-processor（文件处理工具）
- **功能**: 文件转换、批量处理等
- **状态**: 待开发

## 设计原则

1. **独立性**: 每个工具子模块独立部署和使用
2. **通用性**: 脱离具体业务逻辑，提供纯技术能力
3. **可扩展**: 支持插件化扩展和自定义处理器
4. **易集成**: 提供简洁的API接口

## 使用方式

每个工具模块都提供HTTP接口和Java API两种使用方式：
- HTTP接口：适合微服务架构，跨语言调用
- Java API：适合同项目内直接依赖调用

## 模块间依赖

tools模块作为独立的工具集合，尽量减少对其他业务模块的依赖，主要依赖：
- 基础的Spring Boot框架
- 通用工具库（hutool等）
- 各工具特定的技术栈依赖