package com.bonus.canteen.core.bus.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@ApiModel(
   value = "BusDeviceInfoVO",
   description = "车载终端设备展示"
)
public class BusDeviceInfoVO {
   @ApiModelProperty("设备id")
   private Long deviceId;
   @ApiModelProperty("设备编号")
   private String deviceNum;
   @ApiModelProperty("设备名称")
   private String deviceName;
   @ApiModelProperty("设备sn码")
   private String deviceSn;
   @ApiModelProperty("设备Key")
   private String deviceKey;
   @ApiModelProperty("通讯状态")
   private Integer commState;
   @ApiModelProperty("设备类型")
   private Integer deviceType;
   @ApiModelProperty("设备在线状态1在线2离线")
   private Integer onlineState;
   @ApiModelProperty("设备ip")
   private String deviceIp;
   @ApiModelProperty("版本名称")
   private String versionName;
   @ApiModelProperty("设备安装地址")
   private String deviceAddr;
   @ApiModelProperty("网关")
   private String deviceGateway;
   @ApiModelProperty("设备mac")
   private String deviceMac;
   @ApiModelProperty("线路id")
   private Long lineId;
   @ApiModelProperty("线路名称")
   private String lineName;
   @ApiModelProperty("使用场景 1、固定计费2、上车使用3、下车使用")
   private @NotNull(
   message = "使用场景 1、固定计费2、上车使用3、下车使用"
) Integer useScene;
   @ApiModelProperty("版本号")
   private Integer versionCode;
   @ApiModelProperty("创建时间")
   private LocalDateTime crtime;
   @ApiModelProperty("更新时间")
   private LocalDateTime uptime;

   public Long getDeviceId() {
      return this.deviceId;
   }

   public String getDeviceNum() {
      return this.deviceNum;
   }

   public String getDeviceName() {
      return this.deviceName;
   }

   public String getDeviceSn() {
      return this.deviceSn;
   }

   public String getDeviceKey() {
      return this.deviceKey;
   }

   public Integer getCommState() {
      return this.commState;
   }

   public Integer getDeviceType() {
      return this.deviceType;
   }

   public Integer getOnlineState() {
      return this.onlineState;
   }

   public String getDeviceIp() {
      return this.deviceIp;
   }

   public String getVersionName() {
      return this.versionName;
   }

   public String getDeviceAddr() {
      return this.deviceAddr;
   }

   public String getDeviceGateway() {
      return this.deviceGateway;
   }

   public String getDeviceMac() {
      return this.deviceMac;
   }

   public Long getLineId() {
      return this.lineId;
   }

   public String getLineName() {
      return this.lineName;
   }

   public Integer getUseScene() {
      return this.useScene;
   }

   public Integer getVersionCode() {
      return this.versionCode;
   }

   public LocalDateTime getCrtime() {
      return this.crtime;
   }

   public LocalDateTime getUptime() {
      return this.uptime;
   }

   public BusDeviceInfoVO setDeviceId(final Long deviceId) {
      this.deviceId = deviceId;
      return this;
   }

   public BusDeviceInfoVO setDeviceNum(final String deviceNum) {
      this.deviceNum = deviceNum;
      return this;
   }

   public BusDeviceInfoVO setDeviceName(final String deviceName) {
      this.deviceName = deviceName;
      return this;
   }

   public BusDeviceInfoVO setDeviceSn(final String deviceSn) {
      this.deviceSn = deviceSn;
      return this;
   }

   public BusDeviceInfoVO setDeviceKey(final String deviceKey) {
      this.deviceKey = deviceKey;
      return this;
   }

   public BusDeviceInfoVO setCommState(final Integer commState) {
      this.commState = commState;
      return this;
   }

   public BusDeviceInfoVO setDeviceType(final Integer deviceType) {
      this.deviceType = deviceType;
      return this;
   }

   public BusDeviceInfoVO setOnlineState(final Integer onlineState) {
      this.onlineState = onlineState;
      return this;
   }

   public BusDeviceInfoVO setDeviceIp(final String deviceIp) {
      this.deviceIp = deviceIp;
      return this;
   }

   public BusDeviceInfoVO setVersionName(final String versionName) {
      this.versionName = versionName;
      return this;
   }

   public BusDeviceInfoVO setDeviceAddr(final String deviceAddr) {
      this.deviceAddr = deviceAddr;
      return this;
   }

   public BusDeviceInfoVO setDeviceGateway(final String deviceGateway) {
      this.deviceGateway = deviceGateway;
      return this;
   }

   public BusDeviceInfoVO setDeviceMac(final String deviceMac) {
      this.deviceMac = deviceMac;
      return this;
   }

   public BusDeviceInfoVO setLineId(final Long lineId) {
      this.lineId = lineId;
      return this;
   }

   public BusDeviceInfoVO setLineName(final String lineName) {
      this.lineName = lineName;
      return this;
   }

   public BusDeviceInfoVO setUseScene(final Integer useScene) {
      this.useScene = useScene;
      return this;
   }

   public BusDeviceInfoVO setVersionCode(final Integer versionCode) {
      this.versionCode = versionCode;
      return this;
   }

   public BusDeviceInfoVO setCrtime(final LocalDateTime crtime) {
      this.crtime = crtime;
      return this;
   }

   public BusDeviceInfoVO setUptime(final LocalDateTime uptime) {
      this.uptime = uptime;
      return this;
   }
}
