# QAUP项目业务原则和范围说明

## 🎯 业务原则

### 核心管理对象
- **主要管理对象**: 无人车 (Unmanned Vehicle)
- **监控范围**: 仅针对无人车进行实时监控、检测和告警
- **数据记录范围**: 
  - 无人车: 完整的位置数据、状态数据、检测结果、告警事件
  - 特勤车/普通车辆: 仅记录基本车辆信息，不保存状态数据

### 功能边界定义

#### ✅ 系统管理范围 (无人车)
1. **实时数据采集**: 位置、速度、方向等状态数据
2. **空间检测**: 电子围栏准入检测、超速检测、冲突检测
3. **告警管理**: 各类违规行为的实时告警
4. **轨迹追踪**: 历史轨迹记录和回放
5. **指令控制**: 无人车控制指令的发送和执行

#### ❌ 系统不管理范围
1. **航空器**: 平台不管理航空器，仅作为环境对象存在
2. **特勤车辆**: 只记录车辆基本信息，不进行实时监控
3. **普通车辆**: 只记录车辆基本信息，不进行实时监控

### 电子围栏检测原则
- **检测对象**: 仅针对无人车进行电子围栏准入检测
- **告警对象**: 仅对无人车的违规行为进行告警
- **数据存储**: 仅保存无人车的围栏事件记录

### 数据处理原则
- **状态数据**: 只采集和存储无人车的实时状态
- **历史数据**: 只保留无人车的历史轨迹和事件记录
- **性能优化**: 系统资源专注于无人车管理，提高处理效率

## 🏗️ 架构影响

基于以上原则，系统架构应该：

1. **数据模型设计**: 区分无人车数据和其他车辆数据的存储策略
2. **检测服务**: 所有检测逻辑仅针对无人车类型进行处理
3. **事件处理**: 告警和事件系统只处理无人车相关事件
4. **前端展示**: UI界面主要展示无人车的监控和管理功能

## 📝 技术实现要点

### 车辆类型过滤
```java
// 在所有检测服务中添加车辆类型检查
if (vehicle.getVehicleType() != MovingObjectType.UNMANNED_VEHICLE) {
    // 跳过检测，不进行处理
    return;
}
```

### 数据存储策略
- **vehicle_location表**: 只存储无人车的位置数据
- **geofence_events表**: 只记录无人车的围栏事件
- **sys_vehicle_info表**: 存储所有车辆基本信息（用于系统完整性）

### 告警系统范围
- 所有告警事件都标注为无人车专用
- WebSocket推送只包含无人车相关事件
- 前端告警界面只显示无人车告警

这个原则将大大简化系统复杂度，提高系统性能，并确保功能边界清晰。