package com.common.entity;


import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.time.OffsetDateTime;

/**
 * 非标日志实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("syslog_non_normal_message")
public class SyslogNonNormalMessage {

    /**
     * 非标ID
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 记录时间（UTC时区）
     */
    @TableField("created_at")
    private OffsetDateTime createdAt;

    /**
     * log处理时间
     */
    @TableField("log_time")
    private LocalDateTime logTime;

    /**
     * 设备ID
     */
    @TableField("device_id")
    private Integer deviceId;

    /**
     * 原始日志
     */
    @TableField("syslog_message")
    private String syslogMessage;

    /**
     * 安全日志ID
     */
    @TableField("syslog_uuid")
    private String syslogUuid;

    /**
     * kafka topic
     */
    @TableField("syslog_topic")
    private String syslogTopic;

    /**
     * 租户ID
     */
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 创建者
     */
    @TableField("create_by")
    private Long createBy;

    /**
     * 更新者
     */
    @TableField("update_by")
    private Long updateBy;

    /**
     * 创建部门
     */
    @TableField("create_dept")
    private Long createDept;

    /**
     * 采集头部消息
     */
    @TableField("header_message")
    private String headerMessage;

    /**
     * 接收时间
     */
    @TableField("receive_time")
    private LocalDateTime receiveTime;

    /**
     * 泛化时间
     */
    @TableField("rule_time")
    private LocalDateTime ruleTime;

    /**
     * 设备名称
     */
    @TableField("device_name")
    private String deviceName;

    /**
     * ETL处理节点
     */
    @TableField("etl_node")
    private String etlNode;

    /**
     * 采集任务ID
     */
    @TableField("collect_task_id")
    private Integer collectTaskId;

    /**
     * 采集任务名称
     */
    @TableField("collect_task_name")
    private String collectTaskName;

    /**
     * 非标原因
     */
    @TableField("reason")
    private String reason;

    /**
     * 详细原因
     */
    @TableField("reason_detail")
    private String reasonDetail;

    /**
     * 泛化结果
     */
    @TableField("rule_result")
    private String ruleResult;

    /**
     * 删除标志
     */
    @TableField("del_flag")
    private String delFlag;
}