# 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`