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_password_history
 *
 * @author vetti
 * @date 2026-02-02
 */
@Data
@Accessors(chain = true)
@ApiModel("密码历史记录")
public class HotakeSecurityPasswordHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    /** 密码哈希值 */
    @ApiModelProperty("密码哈希值")
    private String passwordHash;

    /** 修改时间 */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date changedAt;

    /** 修改方式 USER/ADMIN/RESET */
    @ApiModelProperty("修改方式")
    @Excel(name = "修改方式")
    private String changedBy;

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