package com.ruoyi.base.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 安防告警日志对象 robot_ops_alarm_log
 * 
 * @author ruoyi
 * @date 2026-05-20
 */
public class AlarmLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 告警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date alarmTime;

    /** 告警类型 */
    @Excel(name = "告警类型")
    private String alarmType;

    /** 告警级别 */
    @Excel(name = "告警级别")
    private String alarmLevel;

    /** 告警来源 */
    @Excel(name = "告警来源")
    private String alarmSource;

    /** 来源位置，如大厅入口、前台区域、走廊 */
    @Excel(name = "来源位置，如大厅入口、前台区域、走廊")
    private String sourcePosition;

    /** 告警标题或摘要 */
    @Excel(name = "告警标题或摘要")
    private String alarmTitle;

    /** 告警描述 */
    @Excel(name = "告警描述")
    private String description;

    /** 抓拍图地址 */
    @Excel(name = "抓拍图地址")
    private String snapshotUrl;

    /** 处理状态 */
    @Excel(name = "处理状态")
    private String handleStatus;

    /** 处理人 */
    @Excel(name = "处理人")
    private String handleBy;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date handleTime;

    /** 处理备注 */
    @Excel(name = "处理备注")
    private String handleRemark;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAlarmTime(Date alarmTime) 
    {
        this.alarmTime = alarmTime;
    }

    public Date getAlarmTime() 
    {
        return alarmTime;
    }

    public void setAlarmType(String alarmType) 
    {
        this.alarmType = alarmType;
    }

    public String getAlarmType() 
    {
        return alarmType;
    }

    public void setAlarmLevel(String alarmLevel) 
    {
        this.alarmLevel = alarmLevel;
    }

    public String getAlarmLevel() 
    {
        return alarmLevel;
    }

    public void setAlarmSource(String alarmSource) 
    {
        this.alarmSource = alarmSource;
    }

    public String getAlarmSource() 
    {
        return alarmSource;
    }

    public void setSourcePosition(String sourcePosition) 
    {
        this.sourcePosition = sourcePosition;
    }

    public String getSourcePosition() 
    {
        return sourcePosition;
    }

    public void setAlarmTitle(String alarmTitle) 
    {
        this.alarmTitle = alarmTitle;
    }

    public String getAlarmTitle() 
    {
        return alarmTitle;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setSnapshotUrl(String snapshotUrl) 
    {
        this.snapshotUrl = snapshotUrl;
    }

    public String getSnapshotUrl() 
    {
        return snapshotUrl;
    }

    public void setHandleStatus(String handleStatus) 
    {
        this.handleStatus = handleStatus;
    }

    public String getHandleStatus() 
    {
        return handleStatus;
    }

    public void setHandleBy(String handleBy) 
    {
        this.handleBy = handleBy;
    }

    public String getHandleBy() 
    {
        return handleBy;
    }

    public void setHandleTime(Date handleTime) 
    {
        this.handleTime = handleTime;
    }

    public Date getHandleTime() 
    {
        return handleTime;
    }

    public void setHandleRemark(String handleRemark) 
    {
        this.handleRemark = handleRemark;
    }

    public String getHandleRemark() 
    {
        return handleRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("alarmTime", getAlarmTime())
            .append("alarmType", getAlarmType())
            .append("alarmLevel", getAlarmLevel())
            .append("alarmSource", getAlarmSource())
            .append("sourcePosition", getSourcePosition())
            .append("alarmTitle", getAlarmTitle())
            .append("description", getDescription())
            .append("snapshotUrl", getSnapshotUrl())
            .append("handleStatus", getHandleStatus())
            .append("handleBy", getHandleBy())
            .append("handleTime", getHandleTime())
            .append("handleRemark", getHandleRemark())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .toString();
    }
}
