Go to file
2026-02-08 17:56:21 +08:00
adxp-adapter Initial commit 2026-01-22 13:19:47 +08:00
deploy Initial commit 2026-01-22 13:19:47 +08:00
doc Initial commit 2026-01-22 13:19:47 +08:00
qaup-admin 重构红绿灯数据采集方式从TCP改为MQTT并优化WebSocket车辆控制指令 2026-01-27 17:01:22 +08:00
qaup-collision Refactor WebSocketMessageBroadcaster to enhance position filtering logic and introduce adaptive speed thresholds for improved accuracy。优化平滑速度策略 2026-02-08 17:56:21 +08:00
qaup-common Initial commit 2026-01-22 13:19:47 +08:00
qaup-framework 重构数据采集和路由查询逻辑,增强超时处理和并发控制。新增Redis缓存管理,优化航班路由参数获取,确保系统稳定性和性能。更新相关文档以反映最新功能和接口调用示例。路由第一次下发成功 2026-02-07 10:52:37 +08:00
qaup-generator Initial commit 2026-01-22 13:19:47 +08:00
qaup-quartz Initial commit 2026-01-22 13:19:47 +08:00
qaup-system Initial commit 2026-01-22 13:19:47 +08:00
qaup-ui Initial commit 2026-01-22 13:19:47 +08:00
scripts Initial commit 2026-01-22 13:19:47 +08:00
sql Initial commit 2026-01-22 13:19:47 +08:00
tmpjarcheck/com/qaup/collision/datacollector/websocket Refactor code structure for improved readability and maintainability,修改了inout的对齐方案 2026-02-08 12:39:41 +08:00
tools Initial commit 2026-01-22 13:19:47 +08:00
.env.example Initial commit 2026-01-22 13:19:47 +08:00
.gitignore Initial commit 2026-01-22 13:19:47 +08:00
accout.md Refactor DataProcessingService to support bizKey in route queries and reduce retry attempts 2026-02-08 08:37:47 +08:00
changelog.md Initial commit 2026-01-22 13:19:47 +08:00
CLAUDE.md Initial commit 2026-01-22 13:19:47 +08:00
IFLOW.md Initial commit 2026-01-22 13:19:47 +08:00
mock.sh Initial commit 2026-01-22 13:19:47 +08:00
mqtt项目核心代码总结.md 重构红绿灯数据采集方式从TCP改为MQTT并优化WebSocket车辆控制指令 2026-01-27 17:01:22 +08:00
pom.xml Initial commit 2026-01-22 13:19:47 +08:00
qaup.sh Initial commit 2026-01-22 13:19:47 +08:00
QWEN.md Initial commit 2026-01-22 13:19:47 +08:00
README.md Initial commit 2026-01-22 13:19:47 +08:00
test_websocket.html 重构红绿灯数据采集方式从TCP改为MQTT并优化WebSocket车辆控制指令 2026-01-27 17:01:22 +08:00
VehicleCommandInfo接口文档.md 重构红绿灯数据采集方式从TCP改为MQTT并优化WebSocket车辆控制指令 2026-01-27 17:01:22 +08:00
verify-jar.py 重构数据采集和路由查询逻辑,增强超时处理和并发控制。新增Redis缓存管理,优化航班路由参数获取,确保系统稳定性和性能。更新相关文档以反映最新功能和接口调用示例。路由第一次下发成功 2026-02-07 10:52:37 +08:00
VERSION.md Initial commit 2026-01-22 13:19:47 +08:00
命令.md Refactor WebSocketMessageBroadcaster to enhance position update handling and introduce payload sanitization,增加了飞机平滑 2026-02-08 16:14:16 +08:00
接口文档1.md Initial commit 2026-01-22 13:19:47 +08:00
接口文档2.md Initial commit 2026-01-22 13:19:47 +08:00
接口文档3.md 优化任务接口数据源并修复路径点坐标映射 2026-01-23 19:41:35 +08:00

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. 进入部署目录
cd deploy/

# 2. 赋予执行权限
chmod +x deploy-all.sh

# 3. 执行自动部署
./deploy-all.sh

自动化部署脚本将自动完成:

  • 环境检查和依赖验证
  • Docker及Docker Compose安装检查
  • 磁盘空间检查至少3GB
  • 端口占用检测
  • Docker镜像处理本地载入或在线拉取
  • 冲突容器清理
  • 数据目录创建和权限设置
  • 配置文件验证
  • 基础设施服务启动PostgreSQL + PostGIS、Redis
  • 应用服务启动和数据库迁移
  • 健康状态检查和验证

方式二:手动部署

1. 环境准备

必需组件:

# Java 8+
java -version

# Maven 3.6+
mvn -version

# Docker & Docker Compose
docker --version
docker-compose --version

可选组件(用于本地开发):

# PostgreSQL + PostGIS用于本地开发
psql --version

# Redis用于本地开发
redis-server --version

2. 数据库配置

Docker启动数据库

# 启动PostgreSQL + PostGIS
docker run -d \
  --name qaup-postgres \
  -e POSTGRES_DB=qaup \
  -e POSTGRES_USER=qaup \
  -e POSTGRES_PASSWORD=qaup123 \
  -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --lc-collate=C --lc-ctype=C" \
  -p 5432:5432 \
  m.daocloud.io/docker.io/postgis/postgis:17-3.5-alpine

# 启动Redis
docker run -d \
  --name qaup-redis \
  -e REDIS_PASSWORD=qaup123 \
  -p 6379:6379 \
  m.daocloud.io/docker.io/library/redis:8.0-alpine redis-server --requirepass qaup123

本地数据库初始化:

  1. 执行SQL初始化脚本

    # 创建数据库和基础表
    psql -U qaup -d qaup -f sql/create_qaup_database.sql
    psql -U qaup -d qaup -f sql/create_sys_vehicle_info_table.sql
    psql -U qaup -d qaup -f sql/create_sys_driver_info_table.sql
    

3. 环境配置

更新应用配置: 修改 qaup-admin/src/main/resources/application.yml:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/qaup
    username: qaup
    password: qaup123
    driver-class-name: org.postgresql.Driver
  redis:
    host: localhost
    port: 6379
    password: qaup123
    database: 0

环境变量配置: 确保各模块 .env 文件配置正确:

  • adxp-adapter/.env.example - ADXP数据中台适配器配置
  • qaup-admin/.env.example - 主应用配置

4. 编译和启动

# 1. 清理并编译整个项目
mvn clean install

# 2. 进入管理模块
cd qaup-admin

# 3. 启动应用(开发模式)
mvn spring-boot:run

# 或打包启动(生产模式)
mvn clean package -DskipTests
java -jar target/qaup-admin.jar

5. 验证部署

服务状态检查:

# 检查应用健康状态
curl http://localhost:8080/actuator/health

# 检查数据库连接
docker exec qaup-postgres pg_isready -U qaup

# 检查Redis连接
docker exec qaup-redis redis-cli -a qaup123 ping

6. 系统访问

7. 管理命令

# 查看服务状态
docker compose ps

# 查看应用日志
docker compose logs -f qaup-app

# 查看数据库日志
docker compose logs -f qaup-postgres

# 查看Redis日志
docker compose logs -f qaup-redis

# 重启应用
docker compose restart qaup-app

# 停止所有服务
docker compose down

# 查看数据库迁移状态
docker exec qaup-postgres psql -U qaup -d qaup -c \
  "SELECT version,description FROM flyway_schema_history ORDER BY installed_rank DESC LIMIT 5;"

# 清理Docker资源
docker system prune -a

项目合并说明

本项目已将独立的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