package com.vetti.hotake.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.vetti.common.annotation.Excel;
import com.vetti.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 安全日志对象 hotake_security_security_logs
 *
 * @author vetti
 * @date 2026-02-02
 */
@Data
@Accessors(chain = true)
@ApiModel("安全日志")
public class HotakeSecuritySecurityLogs extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 用户ID */
    @ApiModelProperty("用户ID")
    @Excel(name = "用户ID")
    private Long userId;

    /** 事件类型 */
    @ApiModelProperty("事件类型")
    @Excel(name = "事件类型")
    private String eventType;

    /** 事件描述 */
    @ApiModelProperty("事件描述")
    @Excel(name = "事件描述")
    private String eventDescription;

    /** IP地址 */
    @ApiModelProperty("IP地址")
    @Excel(name = "IP地址")
    private String ipAddress;

    /** 用户代理 */
    @ApiModelProperty("用户代理")
    private String userAgent;

    /** 地理位置 */
    @ApiModelProperty("地理位置")
    @Excel(name = "地理位置")
    private String location;

    /** 状态 SUCCESS/FAILED/BLOCKED */
    @ApiModelProperty("状态")
    @Excel(name = "状态")
    private String status;

    /** 元数据(JSON格式) */
    @ApiModelProperty("元数据")
    private String metadata;
}
