2025-08-02 12:38:52 +08:00

24 lines
1.5 KiB
Python
Raw Permalink 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.

from sqlalchemy import Column, String, Text, Boolean, Integer, Float, DateTime, JSON
from .base import BaseModel
class Event(BaseModel):
__tablename__ = "events"
event_type = Column(String(50), nullable=False, comment="事件类型: person_detection, vehicle_detection, intrusion, etc")
device_id = Column(Integer, nullable=False, comment="关联设备ID")
algorithm_id = Column(Integer, comment="关联算法ID")
severity = Column(String(20), default="medium", comment="严重程度: low, medium, high, critical")
status = Column(String(20), default="pending", comment="事件状态: pending, processing, resolved, ignored")
confidence = Column(Float, comment="置信度")
bbox = Column(Text, comment="边界框坐标JSON格式: [x, y, width, height]")
image_path = Column(String(500), comment="事件图片路径")
video_path = Column(String(500), comment="事件视频路径")
description = Column(Text, comment="事件描述")
location = Column(String(200), comment="事件发生位置")
detected_objects = Column(Text, comment="检测到的对象JSON格式")
processing_time = Column(Float, comment="处理时间(ms)")
is_alert = Column(Boolean, default=False, comment="是否触发告警")
alert_sent = Column(Boolean, default=False, comment="是否已发送告警")
operator_id = Column(Integer, comment="处理人员ID")
resolution_notes = Column(Text, comment="处理备注")
resolved_at = Column(DateTime, comment="解决时间")