package org.xyzh.api.log.dto;

import java.util.Date;
import com.alibaba.fastjson2.annotation.JSONField;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.xyzh.common.dto.BaseDTO;

/**
 * @description    系统登录日志DTO
 * @filename    TbSysLoginLogDTO.java
 * @author    yslg
 * @copyright yslg
 * @since 2025-11-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "系统登录日志DTO")
public class TbSysLoginLogDTO extends BaseDTO {
    
    @Schema(description = "用户ID")
    private String userId;
    
    @Schema(description = "用户名")
    private String username;
    
    @Schema(description = "IP地址")
    private String ipAddress;
    
    @Schema(description = "IP来源")
    private String ipSource;
    
    @Schema(description = "浏览器")
    private String browser;
    
    @Schema(description = "操作系统")
    private String os;
    
    @Schema(description = "密码")
    private String password;
    
    @Schema(description = "登录时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date loginTime;
    
    @Schema(description = "状态")
    private Integer status;
    
    @Schema(description = "错误次数")
    private Integer errorCount;
    
    @Schema(description = "消息")
    private String message;
}