package com.evobms.project.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.evobms.framework.aspectj.lang.annotation.Excel;
import com.evobms.framework.web.domain.BaseEntity;

/**
 * BBOX管理对象 bms_devices
 *
 * @author 田志阳
 * @date 2025-10-10
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "BmsDevices", description = "BBOX设备管理对象")
public class BmsDevices extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 设备唯一编号 */
    @ApiModelProperty("设备唯一编号")
    @Excel(name = "设备唯一编号")
    private String deviceId;

    /** 设备名称 */
    @ApiModelProperty("设备名称")
    @Excel(name = "设备名称")
    private String deviceName;
     /** 设备名称 */
    @ApiModelProperty("设备SN码")
    @Excel(name = "设备SN码")
    private String deviceSn;

    /** 设备类型 */
    @ApiModelProperty("设备类型")
    @Excel(name = "设备类型")
    private String deviceType;

    /** 设备状态 */
    @ApiModelProperty("设备状态")
    @Excel(name = "设备状态")
    private String status;

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

    /** 服务器固件版本号 */
    @ApiModelProperty("固件版本号")
    @Excel(name = "固件版本号")
    private String firmwareVersion;

    /** 最后在线时间 */
    @ApiModelProperty("最后在线时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后在线时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastOnline;

}
