package com.tievd.jyz.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tievd.cube.codegen.annotations.QueryField;
import com.tievd.cube.codegen.annotations.QueryFields;
import com.tievd.cube.commons.annotations.Dict;
import com.tievd.cube.commons.easyexcel.annotations.Excel;
import com.tievd.jyz.constants.SystemConstant;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
*
* 网关设备表
*
*
* @author
* @since 2023-02-24
*/
@Data
@Accessors(chain = true)
@TableName("t_device")
@Schema(name = "Device", description = "节点表")
@QueryFields({@QueryField(value = "name", label = "网关名称"),
@QueryField(value = "status", label = "状态")})
public class Device extends Model {
private static final long serialVersionUID = 1L;
@Schema(description = "主键")
@TableId("id")
private Long id;
@Schema(description = "网关名称")
@TableField("name")
@Excel("网关名称")
private String name;
@Schema(description = "设备厂家")
@TableField("factory")
@Dict(SystemConstant.DICT_FACTORY)
private String factory;
@Schema(description = "网关类型 1.aibox")
@TableField("device_type")
@Dict(SystemConstant.DICT_GATEWAY_DEVICE_TYPE)
@Excel("网关类型")
private String deviceType;
@Schema(description = "设备状态 1:在线 2:离线")
@TableField("status")
@Dict(SystemConstant.DICT_ONLINE_STATUS)
private Byte status;
@Schema(description = "SN号")
@TableField("sn")
@Excel("序列号")
private String sn;
@Schema(description = "所属机构")
@TableField(value = "org_code", condition = SqlCondition.LIKE_RIGHT)
@Excel("所属机构")
@Dict(table = "sys_depart", text = "depart_name", value = "org_code")
private String orgCode;
@Schema(description = "节点ip")
@TableField("device_ip")
@Excel("IP地址")
private String deviceIp;
@Schema(description = "心跳时间")
@TableField("heart_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date heartTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "create_time")
private Date createTime;
@TableField("update_time")
private Date updateTime;
@TableField("device_version")
private String deviceVersion;
@TableField("port")
private Integer port;
@Override
public Serializable pkVal() {
return this.id;
}
// public Device() {
// this.status = SystemConstant.DEVICE_OFFLINE;
// }
}