QAUP_Management/README.md

142 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# QAUP-Management 平台管理系统
机场无人车冲突管理平台,集成了机场冲突避免系统,提供完整的车辆管理、空间分析、实时监控等功能。
## 项目架构
本项目采用Maven多模块架构
- **qaup-admin**: Web服务入口集成所有模块
- **qaup-framework**: 核心框架,提供通用功能
- **qaup-system**: 系统管理模块,用户、角色、权限等
- **qaup-collision**: **冲突避免系统模块**提供空间分析、车辆监控、WebSocket实时通信等功能
- **qaup-common**: 公共工具类和基础组件
- **qaup-quartz**: 定时任务调度
- **qaup-generator**: 代码生成器
## 核心特性
### 🚗 冲突避免系统 (collision模块)
- **空间数据分析**: 基于PostGIS的空间计算和几何分析
- **实时车辆监控**: WebSocket实时位置数据推送和展示
- **机场区域管理**: 跑道、滑行道、停机坪等区域配置和监控
- **冲突检测算法**: 实时检测车辆与飞机、车辆间的潜在冲突
- **数据适配器**: QuapDataAdapter统一数据访问避免重复DAO开发
- **Redis缓存**: 高性能数据缓存和会话管理
### 🛠️ 系统管理功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成前后端代码的生成java、html、xml、sql支持CRUD下载 。
14. 系统接口根据业务代码自动生成相关的api接口文档。
15. 服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 缓存监控:对系统的缓存信息查询,命令统计等。
17. 在线构建器拖动表单元素生成相应的HTML代码。
18. 连接池监视监视当前系统数据库连接池状态可进行分析SQL找出系统性能瓶颈。
## 技术栈
- **后端**: Spring Boot 2.5.15 + MyBatis + JPA (Hibernate)
- **数据库**: PostgreSQL + PostGIS (空间数据扩展)
- **缓存**: Redis
- **实时通信**: WebSocket + STOMP
- **空间计算**: JTS + GeoTools
- **构建工具**: Maven 3.6+
- **Java版本**: JDK 8
## 快速启动
### 1. 环境准备
```bash
# Java 8
java -version
# Maven 3.6+
mvn -version
# PostgreSQL + PostGIS
psql --version
# Redis
redis-server --version
```
### 2. 数据库配置
1. 创建PostgreSQL数据库并启用PostGIS扩展
2. 执行SQL初始化脚本
- `sql/create_qaup_database.sql` - 创建数据库
- `sql/create_sys_vehicle_info_table.sql` - 车辆信息表
- `sql/create_sys_driver_info_table.sql` - 司机信息表
### 3. 启动Redis服务
```bash
redis-server
```
### 4. 配置应用
修改 `qaup-admin/src/main/resources/application.yml`:
```yaml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/your_database
username: your_username
password: your_password
redis:
host: localhost
port: 6379
```
### 5. 编译和启动
```bash
# 清理并编译整个项目
mvn clean install
# 启动应用
cd qaup-admin
mvn spring-boot:run
# 或者运行打包后的jar
java -jar target/qaup-admin.jar
```
### 6. 访问系统
- 管理后台: http://localhost:8080
- WebSocket端点: ws://localhost:8080/ws
- API文档: http://localhost:8080/swagger-ui/
## 项目合并说明
本项目已将独立的CollisionAvoidanceSystem项目合并到若依框架中通过以下方式实现
1. **模块化集成**: 创建`qaup-collision`模块,保持功能独立性
2. **数据适配器**: `QuapDataAdapter`提供统一数据访问连接若依Service层
3. **配置整合**: 将PostGIS、JPA、WebSocket等配置整合到若依配置体系
4. **版本兼容**: 降级Spring Boot版本确保Java 8兼容性
## 开发指南
### collision模块核心组件
- `QuapDataAdapter`: 数据访问适配器,连接若依系统数据
- `WebSocketConfig`: WebSocket配置支持实时数据推送
- `VehicleLocationService`: 车辆位置管理服务
- `GeopositionController`: WebSocket消息控制器
### 扩展开发
1. 新增spatial实体时继承spatial基类并配置PostGIS映射
2. WebSocket消息通过`/topic`前缀向客户端广播
3. 使用`QuapDataAdapter`获取车辆和司机数据避免直接访问DAO
## 版本信息
- 当前版本: 1.0.1
- 更新日志: 详见 `change_log.md`