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

4.5 KiB
Raw Permalink Blame History

Mock服务路径数据重构任务清单

创建时间2025-01-16
版本号0.2.2
任务描述根据route.md文件重构mock服务的飞机和车辆数据简化移动逻辑为往复运动

任务目标

  • 根据route.md文件更新飞机和车辆的坐标数据
  • 简化移动逻辑,实现起点终点往复运动
  • 保持API接口兼容性
  • 更新车辆编号为真实车牌号
  • 更新版本号和变更日志

详细工作内容

1. 坐标点重新定义

原问题使用了复杂的POINT_T1到POINT_T13坐标系统
解决方案根据route.md重新定义简化的坐标点

# 飞机 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.md0.2.2 → 0.3.0
  • changelog.md添加详细的0.3.0版本记录

技术细节

数据结构变化

# 新的数据结构
{
    "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接口不变
  • 返回数据格式与原来一致
  • 仅内部逻辑和数据发生变化

验证清单

  • 代码编译无错误
  • 数据格式符合route.md要求
  • 移动逻辑正常工作
  • 车辆指令功能保持正常
  • API接口返回正确数据
  • 版本号正确更新
  • 变更日志记录完整

影响评估

正面影响

  • 代码简化移除约50%的复杂逻辑代码
  • 数据标准化完全符合route.md规范
  • 维护性提升:往复运动逻辑更容易理解和修改
  • 性能优化:移除复杂的路径计算,提高运行效率

风险评估

  • 低风险保持API接口兼容性
  • 测试需要:需要验证新的移动逻辑是否正常
  • 文档更新:相关技术文档需要同步更新

下一步计划

  1. 功能测试验证WebSocket实时数据是否正常
  2. 集成测试:确认与前端系统的数据对接
  3. 性能测试:验证简化后的性能提升
  4. 文档更新更新相关API文档和使用说明

完成状态 已完成
最后更新2025-01-16
下次检查:需要时进行功能验证测试