| 12345678910111213141516171819202122232425262728293031 |
- """故障 → 3D 部件对照表,以及故障场景位置的记录。"""
- from typing import Any
- from fastapi import APIRouter
- from pydantic import BaseModel, Field
- from services import fault_map_service
- router = APIRouter()
- class FaultSceneInput(BaseModel):
- model: str = Field(min_length=1)
- alarm_type: str = Field(min_length=1)
- device_point: str = ""
- camera: list[float] = Field(min_length=3, max_length=3)
- target: list[float] = Field(min_length=3, max_length=3)
- @router.get("/api/fault-part-map")
- def list_fault_part_map() -> list[dict[str, Any]]:
- return fault_map_service.list_rows()
- @router.post("/api/fault-part-map/scene")
- def set_fault_scene(payload: FaultSceneInput) -> dict[str, Any]:
- changed = fault_map_service.set_scene_position(
- payload.model, payload.alarm_type, payload.device_point, payload.camera, payload.target,
- )
- return {"ok": True, "updated": changed}
|