气象管理系统
Go to file
2026-06-25 15:29:16 +08:00
system-admin 针对部署修改特定配置文件,区分运行环境 2026-06-25 12:10:46 +08:00
system-common 更新redis的使用和数据汇总性能优化 2026-06-24 13:49:57 +08:00
system-dynamic-datasource 整合提交 2026-06-23 18:46:45 +08:00
.dockerignore 针对部署修改特定配置文件,区分运行环境 2026-06-25 12:10:46 +08:00
.gitignore 更新redis的使用和数据汇总性能优化 2026-06-24 13:49:57 +08:00
CLAUDE.md 针对部署修改特定配置文件,区分运行环境 2026-06-25 12:10:46 +08:00
docker-compose.yml 更新redis的使用和数据汇总性能优化 2026-06-24 13:49:57 +08:00
LICENSE 整合提交 2026-06-23 18:46:45 +08:00
pom.xml 删除不需要的模块 2026-06-25 15:29:16 +08:00
README.md 针对部署修改特定配置文件,区分运行环境 2026-06-25 12:10:46 +08:00

气象数据分析平台

基于 Spring Boot 3.5 / Vue 3 的全栈气象数据管理与分析系统,支持气象站点管理、逐日观测数据批量导入、数据统计分析与可视化展示。

开发者文档CLAUDE.md


项目结构

weather-data/
├── system-common/              → 公共模块基础实体、工具类、Redis、校验
├── system-admin/               → 管理后台 (port 8080, /system-admin)
│   └── modules/weather/
│       ├── dailydata/          → 逐日观测数据Excel 批量导入、统计汇总)
│       ├── station/            → 气象站点管理
│       └── filescan/           → 气象资料文件监控与查阅
├── system-api/                 → 外部 API 服务 (port 8081, /renren-api)
├── system-dynamic-datasource/  → 多数据源支持(预留)
├── renren-generator/           → 代码生成器
└── weather-data-ui/            → Vue 3 前端

模块说明

模块 说明
system-admin 管理后台,包含气象数据管理、站点管理、文件查阅、系统管理(用户/角色/菜单/部门)、定时任务、日志管理
system-api 对外开放的 REST API 服务,提供用户注册/登录等接口
system-common 共享库,被所有子模块依赖
weather-data-ui 前端 SPA气象数据仪表盘、CRUD 页面、图表可视化

技术栈

层级 技术
后端框架 Spring Boot 3.5, MyBatis-Plus 3.5, Apache Shiro 1.12
数据库 MySQL 8.0也支持达梦、Oracle、SQL Server、PostgreSQL
缓存 Redis 7可选
定时任务 Quartz
接口文档 Knife4j (Swagger)
前端框架 Vue 3, TypeScript, Vite 5, Element Plus, Pinia, ECharts

环境要求JDK 17+, Maven 3.6+, Node.js 18+, MySQL 8.0+


快速启动(本地开发)

1. 初始化数据库

创建数据库 weather_data_systemUTF-8mb4执行初始化脚本

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

2. 配置数据源

编辑 system-admin/src/main/resources/application-dev.yml,修改 MySQL 连接信息:

spring:
  datasource:
    druid:
      url: jdbc:mysql://localhost:3306/weather_data_system?... 
      username: root
      password: 你的密码

3. 启动后端

# 完整构建(跳过测试)
mvn clean install -DskipTests

# IDEA 中直接运行 AdminApplication.java

管理后台:http://localhost:8080/system-admin
接口文档:http://localhost:8080/system-admin/doc.html默认关闭需在 application.yml 中启用 knife4j.enable: true

默认账号:admin / admin

4. 启动前端

cd weather-data-ui
npm install
npm run dev

前端开发服务器:http://localhost:8001

注意:前端开发环境 .env.developmentVITE_APP_API 默认指向 http://192.168.2.186:8080/system-admin,请按需修改为你的后端地址。


生产部署

项目提供两种部署方式,根据目标环境选用。

Windows 一键部署

适用于 Windows Server 生产环境,自动安装 MySQL / Redis / Nginx 并部署前后端。

部署包结构deploy/ 目录,可独立拷贝到目标服务器):

deploy/
├── deploy.bat                       ← 一键部署(推荐,双击运行)
├── deploy.ps1                       ← PowerShell 版本
├── templates/                       ← 配置模板deploy.bat 使用)
├── project/
│   ├── client-side/dist/          ← 前端构建产物
│   └── server-side/
│       ├── system-admin.jar       ← 管理后台
│       └── system-api.jar         ← API 服务(可选)
├── mysql/init/
│   └── weather_data_system.sql    ← 数据库初始化脚本
├── nginx/nginx.conf               ← Docker 网关配置
└── software/                      ← 第三方安装包
    ├── mysql-installer-community-8.0.46.0.msi
    ├── nginx-1.28.3.zip
    └── Redis-8.8.0-Windows-x64-Service.zip
REM 以管理员身份运行命令提示符

deploy\deploy.bat                 :: 默认安装到 C:\weather-data

REM 部署完成后:
C:\weather-data\start.bat         :: 启动平台
C:\weather-data\stop.bat          :: 停止平台

前置条件Windows 10 1803+ 或 Windows Server 2019+,需预装 JDK 17+。将 deploy/ 目录完整拷贝至目标服务器后以管理员身份运行 deploy.bat

Docker 部署

适用于 Linux 服务器或支持 Docker 的 Windows 环境。编排包含 6 个服务MySQL、Redis、Admin、API、UI、Gateway。

前置条件

  1. 安装 Docker Engine 20.10+ 和 Docker Compose v2
  2. JAR 已构建到各模块的 target/ 目录
  3. 前端已构建到 weather-data-ui/dist/

部署步骤

# 1. 构建所有模块
mvn clean install -DskipTests
cd weather-data-ui && npm run build && cd ..

# 2. 修改环境变量(密码等敏感信息)
cp .env .env.local    # 修改 .env.local 中的密码

# 3. 创建部署所需的 nginx 配置目录
mkdir -p deploy/nginx deploy/mysql/init

# 4. 复制初始化 SQL
cp system-admin/db/weather_data_system.sql deploy/mysql/init/

# 5. 启动
docker compose up -d

# 6. 访问
# http://localhost → 前端页面
# http://localhost:8080/system-admin → 管理后台
# http://localhost:8081/renren-api → API 服务

常用命令

docker compose up -d              # 启动所有服务
docker compose down               # 停止所有服务
docker compose logs -f admin      # 查看管理后台日志
docker compose restart admin      # 重启管理后台

主要功能

气象数据管理

  • 逐日观测数据:支持 Excel 批量导入(异步双遍扫描,进度可查)、按站点/日期查询、统计分析、导出
  • 气象站点管理:站点 CRUD关联部门实现数据权限隔离
  • 气象资料查阅:自动监控资料文件目录,支持在线查阅

系统管理

  • 用户 / 角色 / 菜单 / 部门管理
  • 数据权限:@DataFilter 注解实现部门级数据隔离
  • 定时任务Quartz 动态管理,支持在线启停
  • 操作日志 / 登录日志 / 异常日志
  • 文件存储(支持本地及云存储)

前端仪表盘

  • 气象数据多维度统计与图表可视化ECharts
  • 筛选、排序、导出PNG/PDF
  • 导入进度实时展示

参考链接