文档更新
This commit is contained in:
+17
-20
@@ -1,6 +1,6 @@
|
||||
# 气象数据平台
|
||||
|
||||
基于 Spring Boot 3.5 与 Vue 3 的全栈气象数据平台。
|
||||
基于 Spring Boot 3.5 与 Vue 3 的全栈气象数据管理与分析平台。支持多数据源环境,提供实时文件监控、统计分析与基于角色的访问控制。
|
||||
|
||||
> 开发者文档:[CLAUDE.md](CLAUDE.md) | 模块文档:[system-admin](system-admin/CLAUDE.md) | [system-common](system-common/CLAUDE.md) | [system-dynamic-datasource](system-dynamic-datasource/CLAUDE.md) | [weather-data-ui](weather-data-ui/CLAUDE.md)
|
||||
>
|
||||
@@ -33,18 +33,18 @@ weather-data-ui <-- 独立前端,通过 REST API 与 system-admin 通
|
||||
|
||||
| 业务域 | 包路径 | 功能说明 |
|
||||
|--------|--------|----------|
|
||||
| 逐日气象数据 | [modules/weather/dailydata/](system-admin/src/main/java/com/weather/modules/weather/dailydata/) | Excel 批量导入、CRUD、Redis 缓存统计汇总 |
|
||||
| 逐日气象数据 | [modules/weather/dailydata/](system-admin/src/main/java/com/weather/modules/weather/dailydata/) | Excel 异步双遍扫描批量导入、CRUD、Redis 缓存统计汇总 |
|
||||
| 气象站点 | [modules/weather/station/](system-admin/src/main/java/com/weather/modules/weather/station/) | 站点注册,关联部门实现数据权限隔离 |
|
||||
| 文件扫描 | [modules/weather/filescan/](system-admin/src/main/java/com/weather/modules/weather/filescan/) | WatchService 目录监控,气象资料自动入库 |
|
||||
| 区域管理 | [modules/region/](system-admin/src/main/java/com/weather/modules/region/) | 行政区域树(省/市/县) |
|
||||
| 文件扫描 | [modules/weather/filescan/](system-admin/src/main/java/com/weather/modules/weather/filescan/) | WatchService 目录监控,并行文件扫描,MD5 去重,气象资料自动入库 |
|
||||
| 区域管理 | [modules/region/](system-admin/src/main/java/com/weather/modules/region/) | 行政区域树(省/市/县),CSV 数据加载 |
|
||||
| 系统管理 | [modules/sys/](system-admin/src/main/java/com/weather/modules/sys/) | 用户、角色、菜单、部门、字典、参数 |
|
||||
| 通知消息 | [modules/sys/alert/](system-admin/src/main/java/com/weather/modules/sys/alert/) | SSE 实时推送,Spring 事件驱动广播 |
|
||||
| 安全认证 | [modules/security/](system-admin/src/main/java/com/weather/modules/security/) | Shiro + Token 认证,OAuth2 过滤器,密码加密 |
|
||||
| 定时任务 | [modules/job/](system-admin/src/main/java/com/weather/modules/job/) | Quartz 动态任务管理,在线启停 |
|
||||
| 通知消息 | [modules/sys/alert/](system-admin/src/main/java/com/weather/modules/sys/alert/) | SSE 实时推送,Spring 事件驱动广播,外部告警源轮询采集 |
|
||||
| 安全认证 | [modules/security/](system-admin/src/main/java/com/weather/modules/security/) | Shiro + Token 认证,OAuth2 过滤器,BCrypt 密码加密,登录状态持久化 |
|
||||
| 定时任务 | [modules/job/](system-admin/src/main/java/com/weather/modules/job/) | Quartz 动态任务管理,在线创建、启停、修改 Cron 表达式 |
|
||||
| 审计日志 | [modules/log/](system-admin/src/main/java/com/weather/modules/log/) | 操作日志、登录日志、异常日志 |
|
||||
| 云存储 | [modules/oss/](system-admin/src/main/java/com/weather/modules/oss/) | 阿里云 OSS / 七牛云 / 腾讯云 COS 文件存储 |
|
||||
|
||||
**[weather-data-ui](weather-data-ui/)** 是 Vue 3 单页应用,通过 REST API 与 system-admin 通信。特性包括:动态路由(登录时从服务端菜单加载)、标签页导航、ECharts 图表可视化、SSE 实时通知滚动。
|
||||
**[weather-data-ui](weather-data-ui/)** 是 Vue 3 单页应用,通过 REST API 与 system-admin 通信。特性包括:动态路由(登录时从服务端菜单加载)、标签页导航、ECharts 图表可视化、SSE 实时通知滚动、客户端 Excel/PDF 导出。
|
||||
|
||||
## 技术栈
|
||||
|
||||
@@ -68,9 +68,10 @@ weather-data-ui <-- 独立前端,通过 REST API 与 system-admin 通
|
||||
```bash
|
||||
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS weather_data_system DEFAULT CHARSET utf8mb4"
|
||||
mysql -u root -p weather_data_system < system-admin/db/weather_data_system.sql
|
||||
mysql -u root -p weather_data_system < system-admin/db/init_system_params.sql
|
||||
```
|
||||
|
||||
数据库脚本:[system-admin/db/weather_data_system.sql](system-admin/db/weather_data_system.sql)
|
||||
数据库脚本:[system-admin/db/weather_data_system.sql](system-admin/db/weather_data_system.sql) | [system-admin/db/init_system_params.sql](system-admin/db/init_system_params.sql)
|
||||
|
||||
### 2. 配置数据源
|
||||
|
||||
@@ -125,17 +126,13 @@ npm run dev
|
||||
4. 配置 `application-prod.yml` 中的生产环境数据库和 Redis 连接信息
|
||||
5. 启动后端:`java -jar system-admin.jar --spring.profiles.active=prod`
|
||||
|
||||
### Windows Server
|
||||
|
||||
参见 `deploy/` 目录下的一键部署脚本([deploy.bat](deploy/deploy.bat) / [deploy.ps1](deploy/deploy.ps1))。要求 Windows 10 1803+ 或 Windows Server 2019+,需预装 JDK 17+。以管理员身份运行。
|
||||
|
||||
## 核心功能
|
||||
|
||||
- **气象数据导入**:Excel 异步双遍扫描批量导入,进度可查,多行 INSERT 优化。入口:[WeatherDataImportManager](system-admin/src/main/java/com/weather/modules/weather/dailydata/WeatherDataImportManager.java)
|
||||
- **统计汇总**:历年同月同日数据汇总,Redis 缓存加速查询,缓存命中自动降级至数据库。缓存任务:[WeatherSummarizeCacheTask](system-admin/src/main/java/com/weather/modules/weather/dailydata/task/WeatherSummarizeCacheTask.java)
|
||||
- **文件监控**:基于 WatchService 自动监控资料目录,MD5 去重,文件生命周期管理(接收 -> 展示 -> 归档)。服务:[FileWatchServiceManager](system-admin/src/main/java/com/weather/modules/weather/filescan/FileWatchServiceManager.java)
|
||||
- **实时通知**:基于 SSE 的服务端推送,Spring 事件驱动广播。服务:[SseAlertService](system-admin/src/main/java/com/weather/modules/sys/alert/SseAlertService.java)
|
||||
- **数据权限**:基于 MyBatis-Plus 拦截器的部门级行级安全,通过 `@DataFilter` 注解启用。拦截器:[DataFilterInterceptor](system-admin/src/main/java/com/weather/common/interceptor/DataFilterInterceptor.java)
|
||||
- **气象数据导入**:Excel 异步双遍扫描批量导入,实时进度可查,多行 INSERT 优化,自动站点-部门映射。入口:[WeatherDataImportManager](system-admin/src/main/java/com/weather/modules/weather/dailydata/WeatherDataImportManager.java)
|
||||
- **统计汇总**:历年同月同日数据汇总,Redis 缓存加速查询,缓存未命中时自动降级至数据库。缓存任务:[WeatherSummarizeCacheTask](system-admin/src/main/java/com/weather/modules/weather/dailydata/task/WeatherSummarizeCacheTask.java)
|
||||
- **文件监控**:基于 WatchService 自动监控资料目录,启动时并行扫描存量文件,MD5 去重,文件生命周期管理(接收 -> 展示 -> 归档)。服务:[FileWatchServiceManager](system-admin/src/main/java/com/weather/modules/weather/filescan/FileWatchServiceManager.java)
|
||||
- **实时通知**:基于 SSE 的服务端推送,Spring 事件驱动广播(创建/撤回/删除),支持外部告警源轮询采集。服务:[SseAlertService](system-admin/src/main/java/com/weather/modules/sys/alert/SseAlertService.java)
|
||||
- **数据权限**:基于 MyBatis-Plus 拦截器的部门级行级安全,通过 `@DataFilter` 注解启用,SQL WHERE 子句注入。拦截器:[DataFilterInterceptor](system-admin/src/main/java/com/weather/common/interceptor/DataFilterInterceptor.java)
|
||||
- **动态数据源**:运行时通过 `@DataSource` 注解切换数据源,ThreadLocal 上下文传递。实现:[DynamicDataSource](system-dynamic-datasource/src/main/java/com/weather/commons/dynamic/datasource/config/DynamicDataSource.java)
|
||||
- **定时任务**:Quartz 动态任务管理,支持在线创建、启停、修改 Cron 表达式。配置:[ScheduleConfig](system-admin/src/main/java/com/weather/modules/job/config/ScheduleConfig.java)
|
||||
- **云存储**:支持阿里云 OSS、七牛云、腾讯云 COS 文件上传与管理。工厂:[OSSFactory](system-admin/src/main/java/com/weather/modules/oss/cloud/OSSFactory.java)
|
||||
- **定时任务**:Quartz 动态任务管理,支持在线创建、启停、暂停、修改 Cron 表达式,执行历史可查。配置:[ScheduleConfig](system-admin/src/main/java/com/weather/modules/job/config/ScheduleConfig.java)
|
||||
- **云存储**:支持阿里云 OSS、七牛云、腾讯云 COS 文件上传与管理,统一上传接口。工厂:[OSSFactory](system-admin/src/main/java/com/weather/modules/oss/cloud/OSSFactory.java)
|
||||
|
||||
Reference in New Issue
Block a user