package com.cmvr.inspection.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 边缘 AI 推送的 PPE 违规报警主表实体。
 */
@Data
@TableName("inspection_detection_alert")
public class InspectionDetectionAlert implements Serializable
{
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    private String eventId;
    private String idempotencyKey;
    @TableField("schema_version")
    private String schema;
    private String sourceId;
    private String grpcIp;
    @TableField("source_sequence")
    private Long sequence;
    private Long capturedAtNs;
    private Long receivedAtNs;
    private String traceId;
    private String sessionId;
    private String inputPort;
    private String ruleId;
    private String modelId;
    private String modelName;
    private String labelsJson;
    @TableField("detection_scope")
    private String scope;
    private String scopeId;
    private Integer hitCount;
    private Double windowMs;
    private Long firstSeenNs;
    private Long lastSeenNs;
    private Long triggeredAtNs;
    private Double maxConfidence;
    private String imagePath;
    private String rawJson;
    private Date createdAt;
}
