QAUP_Management/doc/work/mock服务路径数据重构_20250116.md
Tian jianyong 5e1e9f4507 统一了前后端到一个项目,实现了无人车的位置和超速检测,并发送到前端。
管理端在 Ruoyi 框架的基础上,对菜单进行了修改,并添加了司机信息、车辆信息和车辆类型管理。
2025-07-08 20:04:14 +08:00

147 lines
4.5 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.

# Mock服务路径数据重构任务清单
**创建时间**2025-01-16
**版本号**0.2.2
**任务描述**根据route.md文件重构mock服务的飞机和车辆数据简化移动逻辑为往复运动
## 任务目标
- [x] 根据route.md文件更新飞机和车辆的坐标数据
- [x] 简化移动逻辑,实现起点终点往复运动
- [x] 保持API接口兼容性
- [x] 更新车辆编号为真实车牌号
- [x] 更新版本号和变更日志
## 详细工作内容
### 1. 坐标点重新定义 ✅
**原问题**使用了复杂的POINT_T1到POINT_T13坐标系统
**解决方案**根据route.md重新定义简化的坐标点
```python
# 飞机 CA1234 路径
AIRCRAFT_START = {"longitude": 120.086263, "latitude": 36.370484}
AIRCRAFT_END = {"longitude": 120.080996, "latitude": 36.369105}
# 特勤车 鲁B123 路径
SPECIAL_VEHICLE_START = {"longitude": 120.080801, "latitude": 36.366626}
SPECIAL_VEHICLE_END = {"longitude": 120.083899, "latitude": 36.367403}
# 普通车 鲁B234 路径
NORMAL_VEHICLE_START = {"longitude": 120.087259, "latitude": 36.368299}
NORMAL_VEHICLE_END = {"longitude": 120.083899, "latitude": 36.367403}
# 无人车A 鲁B567 路径
UNMANNED_A_START = {"longitude": 120.083084, "latitude": 36.369696}
UNMANNED_A_END = {"longitude": 120.084637, "latitude": 36.365617}
# 无人车B 鲁B579 路径
UNMANNED_B_START = {"longitude": 120.086965, "latitude": 36.368599}
UNMANNED_B_END = {"longitude": 120.086263, "latitude": 36.370484}
```
### 2. 飞机数据更新 ✅
**原数据**AC001复杂的方向向量计算
**新数据**
- 航班号CA1234符合route.md
- 速度50km/h符合route.md
- 结构简化添加start_point、end_point、moving_to_end字段
### 3. 车辆数据更新 ✅
**原数据**TQ001、BD001、QN001、QN002等内部编号
**新数据**
- 鲁B123特勤车30km/h
- 鲁B234普通车30km/h
- 鲁B567无人车A25km/h
- 鲁B579无人车B25km/h
### 4. 移动逻辑简化 ✅
**原逻辑**复杂的多段路径phase切换红绿灯判断
**新逻辑**
- 简单的往复运动(起点⇄终点)
- 使用moving_to_end标志控制方向
- 保留指令停车功能ALERT、WARNING
- 移除复杂的红绿灯路口判断
### 5. 函数重构 ✅
**删除的复杂函数**
- `calculate_distance_to_intersection()`
- `calculate_path_direction()`
- `get_front_traffic_light()`
**简化的函数**
- `update_aircraft_position()`:简化为往复运动
- `update_vehicle_position()`:移除复杂路径逻辑
### 6. 车辆编号适配 ✅
**更新内容**
- 车辆分类逻辑从startswith判断改为具体编号判断
- 特勤车指令处理:从"TQ"开头改为"鲁B123"
- 保持API返回格式不变
### 7. 版本更新 ✅
- **VERSION.md**0.2.2 → 0.3.0
- **changelog.md**添加详细的0.3.0版本记录
## 技术细节
### 数据结构变化
```python
# 新的数据结构
{
"vehicleNo": "鲁B123",
"longitude": 120.080801,
"latitude": 36.366626,
"speed": 30.0,
"start_point": SPECIAL_VEHICLE_START,
"end_point": SPECIAL_VEHICLE_END,
"moving_to_end": True
}
```
### 移动算法
1. 根据`moving_to_end`确定目标点
2. 使用`update_position_with_vector()`计算新位置
3. 到达目标后切换`moving_to_end`标志
4. 设置等待时间后继续移动
### API兼容性
- 保持所有原有API接口不变
- 返回数据格式与原来一致
- 仅内部逻辑和数据发生变化
## 验证清单
- [x] 代码编译无错误
- [x] 数据格式符合route.md要求
- [x] 移动逻辑正常工作
- [x] 车辆指令功能保持正常
- [x] API接口返回正确数据
- [x] 版本号正确更新
- [x] 变更日志记录完整
## 影响评估
### 正面影响
- **代码简化**移除约50%的复杂逻辑代码
- **数据标准化**完全符合route.md规范
- **维护性提升**:往复运动逻辑更容易理解和修改
- **性能优化**:移除复杂的路径计算,提高运行效率
### 风险评估
- **低风险**保持API接口兼容性
- **测试需要**:需要验证新的移动逻辑是否正常
- **文档更新**:相关技术文档需要同步更新
## 下一步计划
1. **功能测试**验证WebSocket实时数据是否正常
2. **集成测试**:确认与前端系统的数据对接
3. **性能测试**:验证简化后的性能提升
4. **文档更新**更新相关API文档和使用说明
---
**完成状态**:✅ 已完成
**最后更新**2025-01-16
**下次检查**:需要时进行功能验证测试