|
@@ -0,0 +1,113 @@
|
|
|
|
|
+# WindDataTrans 项目说明书
|
|
|
|
|
+
|
|
|
|
|
+## 项目概述
|
|
|
|
|
+WindDataTrans 是一个基于 Spring Boot 2.7.18 的数据转换服务应用,主要用于处理风电场相关数据的采集、转换和传输。项目采用 Maven 构建,使用 Java 8 开发,集成了多种数据处理和存储技术。
|
|
|
|
|
+
|
|
|
|
|
+## 技术栈
|
|
|
|
|
+### 核心框架
|
|
|
|
|
+- Spring Boot 2.7.18
|
|
|
|
|
+- Spring Web
|
|
|
|
|
+- Spring Scheduling
|
|
|
|
|
+
|
|
|
|
|
+### 数据存储与访问
|
|
|
|
|
+- MySQL 数据库 (mysql-connector-java 8.0.28)
|
|
|
|
|
+- Redis 缓存 (spring-boot-starter-data-redis-reactive)
|
|
|
|
|
+- MyBatis-Plus 3.5.7 (ORM 框架)
|
|
|
|
|
+- Druid 1.2.25 (数据库连接池)
|
|
|
|
|
+
|
|
|
|
|
+### 数据处理
|
|
|
|
|
+- Hutool-all 5.7.15 (Java 工具类库)
|
|
|
|
|
+- FastJSON 2.0.26 (JSON 处理)
|
|
|
|
|
+- Forest 1.5.36 (HTTP 客户端框架)
|
|
|
|
|
+
|
|
|
|
|
+### 文档与工具
|
|
|
|
|
+- Knife4j 3.0.3 (API 文档)
|
|
|
|
|
+- Lombok 1.18.30 (Java 注解工具)
|
|
|
|
|
+- Velocity 1.7 (模板引擎)
|
|
|
|
|
+
|
|
|
|
|
+## 项目结构
|
|
|
|
|
+```
|
|
|
|
|
+WindDataTrans/
|
|
|
|
|
+├── src/main/java/com/dskj/znzn/transData/
|
|
|
|
|
+│ ├── Application.java # 应用入口类
|
|
|
|
|
+│ ├── common/ # 通用组件
|
|
|
|
|
+│ │ ├── ThreadLocalUser.java
|
|
|
|
|
+│ │ ├── annotaions/ # 自定义注解
|
|
|
|
|
+│ │ ├── base/ # 基础类
|
|
|
|
|
+│ │ ├── conf/ # 配置类
|
|
|
|
|
+│ │ ├── exception/ # 异常处理
|
|
|
|
|
+│ │ ├── filter/ # 过滤器
|
|
|
|
|
+│ │ ├── mybatis/ # MyBatis 扩展
|
|
|
|
|
+│ │ ├── service/ # 通用服务
|
|
|
|
|
+│ │ └── utils/ # 工具类
|
|
|
|
|
+│ ├── crontab/ # 定时任务
|
|
|
|
|
+│ │ └── UpdadePlatformData.java # 平台数据更新任务
|
|
|
|
|
+│ ├── generate/ # 代码生成
|
|
|
|
|
+│ │ └── CodeGenerateMain.java # 代码生成入口
|
|
|
|
|
+│ └── web/ # Web 模块
|
|
|
|
|
+│ ├── common/ # Web 通用组件
|
|
|
|
|
+│ ├── dataTransfer/ # 数据转换模块
|
|
|
|
|
+│ ├── laserData/ # 激光数据模块
|
|
|
|
|
+│ ├── transConf/ # 传输配置模块
|
|
|
|
|
+│ └── waveData/ # 波形数据模块
|
|
|
|
|
+└── src/main/resources/
|
|
|
|
|
+ ├── application.yml # 主配置文件
|
|
|
|
|
+ ├── application-*.yml # 环境特定配置
|
|
|
|
|
+ ├── logback-*.xml # 日志配置
|
|
|
|
|
+ ├── mapper/ # MyBatis 映射文件
|
|
|
|
|
+ └── static/ # 静态资源
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 配置说明
|
|
|
|
|
+### 主要配置文件
|
|
|
|
|
+- `application.yml`: 主配置文件,包含服务器端口(9001)、数据源配置等
|
|
|
|
|
+- 环境特定配置: application-dev.yml(开发)、application-prod.yml(生产)等
|
|
|
|
|
+- 日志配置: logback-dev.xml(开发)、logback-prod.xml(生产)
|
|
|
|
|
+
|
|
|
|
|
+### 数据库配置
|
|
|
|
|
+默认使用 Druid 连接池,配置包含:
|
|
|
|
|
+- 初始连接数: 30
|
|
|
|
|
+- 最大活跃连接数: 300
|
|
|
|
|
+- 最大等待时间: 600000ms
|
|
|
|
|
+- 最小空闲连接数: 20
|
|
|
|
|
+
|
|
|
|
|
+## 功能模块
|
|
|
|
|
+### 1. 数据采集与传输
|
|
|
|
|
+- `web/dataTransfer`: 数据转换接口
|
|
|
|
|
+- `web/waveData`: 波形数据接口
|
|
|
|
|
+- `web/laserData`: 激光数据接口
|
|
|
|
|
+
|
|
|
|
|
+### 2. 定时任务
|
|
|
|
|
+- `crontab/UpdadePlatformData.java`: 平台数据定时更新任务
|
|
|
|
|
+
|
|
|
|
|
+### 3. 配置管理
|
|
|
|
|
+- `web/transConf`: 传输配置管理
|
|
|
|
|
+
|
|
|
|
|
+### 4. 代码生成
|
|
|
|
|
+- `generate/CodeGenerateMain.java`: 代码生成工具
|
|
|
|
|
+
|
|
|
|
|
+## 启动说明
|
|
|
|
|
+### 环境要求
|
|
|
|
|
+- JDK 8
|
|
|
|
|
+- Maven 3.6+
|
|
|
|
|
+- MySQL 5.7+
|
|
|
|
|
+- Redis (可选)
|
|
|
|
|
+
|
|
|
|
|
+### 启动步骤
|
|
|
|
|
+1. 配置数据库连接信息
|
|
|
|
|
+2. 选择激活环境: 在 application.yml 中设置 spring.profiles.active
|
|
|
|
|
+3. 执行 Maven 命令: `mvn spring-boot:run`
|
|
|
|
|
+4. 访问 API 文档: http://localhost:9001/doc.html (Knife4j)
|
|
|
|
|
+
|
|
|
|
|
+## 开发指南
|
|
|
|
|
+### 代码规范
|
|
|
|
|
+- 遵循 Java 编码规范
|
|
|
|
|
+- 使用 Lombok 注解减少样板代码
|
|
|
|
|
+- 异常统一处理
|
|
|
|
|
+
|
|
|
|
|
+### 模块开发
|
|
|
|
|
+1. 在 web 目录下创建新的业务模块
|
|
|
|
|
+2. 使用 CodeGenerateMain 生成基础代码
|
|
|
|
|
+3. 实现业务逻辑
|
|
|
|
|
+4. 添加单元测试
|
|
|
|
|
+
|