from iti.applications.extensions import db from iti.applications.common.crud import TimeModelMixin from iti.applications.common.utils import BaseSchema from apiflask.fields import String, Integer, DateTime, Nested class IotAlertLog(db.Model, TimeModelMixin): """ 告警日志表 """ __tablename__ = "iot_alert_log" id = db.Column( db.Integer, primary_key=True, autoincrement=True, comment="标识", ) alert_tag = db.Column(db.String(255), nullable=False, comment="告警标签") alert_target_name = db.Column(db.String(255), nullable=False, comment="告警对象名称") alert_content = db.Column(db.String(2048), nullable=False, comment="告警文本") alert_level = db.Column(db.Integer, nullable=False, comment="告警级别 0-预警,1-一般,2-紧急,3-严重") status = db.Column(db.Integer, nullable=False, default=1, comment="状态 1-告警中,0-已恢复") trigger_count = db.Column(db.Integer, nullable=False, default=0, comment="触发次数") class IotAlertLogSchema(BaseSchema): """ 告警日志表响应结构 """ class Meta: name = "IotAlertLog" id = Integer() alert_tag = String() alert_target_name = String() alert_content = String() alert_level = Integer() status = Integer() trigger_count = Integer() created_at = DateTime(format="%Y-%m-%d %H:%M:%S") updated_at = DateTime(format="%Y-%m-%d %H:%M:%S")