package hw.tagApi.system.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 hw.tagApi.common.annotation.Excel;
import hw.tagApi.common.core.domain.BaseEntity;

/**
 * 用户令牌对象 sys_api_token
 * 
 * @author Yinq
 * @date 2025-04-23
 */
public class SysApiToken extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键标识 */
    private Long tokenId;

    /** 令牌字符串 */
    @Excel(name = "令牌字符串")
    private String tokenCode;

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

    /** 启用状态（1是 0否） */
    @Excel(name = "启用状态", readConverterExp = "1=是,0=否")
    private String enableFlag;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private String fields1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String fields2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String fields3;

    public void setTokenId(Long tokenId) 
    {
        this.tokenId = tokenId;
    }

    public Long getTokenId() 
    {
        return tokenId;
    }

    public void setTokenCode(String tokenCode) 
    {
        this.tokenCode = tokenCode;
    }

    public String getTokenCode() 
    {
        return tokenCode;
    }

    public void setExpiresTime(Date expiresTime) 
    {
        this.expiresTime = expiresTime;
    }

    public Date getExpiresTime() 
    {
        return expiresTime;
    }

    public void setEnableFlag(String enableFlag) 
    {
        this.enableFlag = enableFlag;
    }

    public String getEnableFlag() 
    {
        return enableFlag;
    }

    public void setFields1(String fields1) 
    {
        this.fields1 = fields1;
    }

    public String getFields1() 
    {
        return fields1;
    }

    public void setFields2(String fields2) 
    {
        this.fields2 = fields2;
    }

    public String getFields2() 
    {
        return fields2;
    }

    public void setFields3(String fields3) 
    {
        this.fields3 = fields3;
    }

    public String getFields3() 
    {
        return fields3;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("tokenId", getTokenId())
            .append("tokenCode", getTokenCode())
            .append("expiresTime", getExpiresTime())
            .append("enableFlag", getEnableFlag())
            .append("fields1", getFields1())
            .append("fields2", getFields2())
            .append("fields3", getFields3())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
