功能:area_id 存储 + 工单对接代码完善 + 心跳端点
- AlarmEvent 模型添加 area_id 字段 - create_from_edge_report 提取 ext_data.area_id 存储 - 心跳端点 POST /api/ai/device/heartbeat - work_order_client: create_order 支持完整参数(description/priority/triggerSource/cameraId/imageUrl) - notify_dispatch: 工单标题中文化、alarmType 中文映射、永久 COS URL、triggerSource 来源判断 - oss_storage: 新增 get_permanent_url 方法 - 工单创建测试脚本 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -271,13 +271,14 @@ class AlarmEvent(Base):
|
||||
first_frame_time = Column(DateTime, comment="首帧时间")
|
||||
last_frame_time = Column(DateTime, comment="末帧时间")
|
||||
duration_ms = Column(Integer, comment="持续时长(毫秒)")
|
||||
alarm_level = Column(SmallInteger, comment="告警级别: 1提醒 2一般 3严重 4紧急")
|
||||
alarm_level = Column(SmallInteger, comment="告警级别: 0紧急 1重要 2普通 3轻微")
|
||||
confidence_score = Column(Float, comment="置信度 0-1")
|
||||
alarm_status = Column(String(20), default="NEW", comment="告警状态: NEW/CONFIRMED/FALSE/CLOSED")
|
||||
handle_status = Column(String(20), default="UNHANDLED", comment="处理状态: UNHANDLED/HANDLING/DONE")
|
||||
snapshot_url = Column(String(512), comment="截图URL")
|
||||
video_url = Column(String(512), comment="视频URL")
|
||||
edge_node_id = Column(String(64), comment="边缘节点ID")
|
||||
area_id = Column(BigInteger, comment="所属区域ID")
|
||||
handler = Column(String(64), comment="处理人")
|
||||
handle_remark = Column(Text, comment="处理备注")
|
||||
handled_at = Column(DateTime, comment="处理时间")
|
||||
@@ -308,6 +309,7 @@ class AlarmEvent(Base):
|
||||
"snapshot_url": self.snapshot_url,
|
||||
"video_url": self.video_url,
|
||||
"edge_node_id": self.edge_node_id,
|
||||
"area_id": self.area_id,
|
||||
"handler": self.handler,
|
||||
"handle_remark": self.handle_remark,
|
||||
"handled_at": self.handled_at.strftime('%Y-%m-%d %H:%M:%S') if self.handled_at else None,
|
||||
|
||||
Reference in New Issue
Block a user