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

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@ApiModel(
   value = "BusDeviceInfoDTO",
   description = "车载终端设备新增"
)
public class BusDeviceInfoDTO {
   @ApiModelProperty("设备编号")
   private @NotBlank(
   message = "设备编号必填"
) String deviceNum;
   @ApiModelProperty("设备名称")
   private @NotBlank(
   message = "设备名称必填"
) String deviceName;
   @ApiModelProperty("设备sn码")
   private @NotBlank(
   message = "设备sn码必填"
) String deviceSn;
   @ApiModelProperty("设备Key")
   private @NotBlank(
   message = "设备Key必填"
) String deviceKey;
   @ApiModelProperty("通讯状态")
   private Integer commState;
   @ApiModelProperty("设备在线状态1在线2离线")
   private Integer onlineState;
   @ApiModelProperty("设备ip")
   private String deviceIp;
   @ApiModelProperty("版本名称")
   private String versionName;
   @ApiModelProperty("线路id")
   private @NotBlank(
   message = "线路id不可为空"
) String lineId;
   @ApiModelProperty("设备mac")
   private String deviceMac;
   @ApiModelProperty("设备安装地址")
   private String deviceAddr;
   @ApiModelProperty("网关")
   private String deviceGateway;
   @ApiModelProperty("使用场景 1、固定计费2、上车使用3、下车使用")
   private @NotNull(
   message = "使用场景 1、固定计费2、上车使用3、下车使用"
) Integer useScene;
   @ApiModelProperty("设备类型")
   private @NotNull(
   message = "设备类型"
) Integer deviceType;
   @ApiModelProperty("版本号")
   private Integer versionCode;

   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 getOnlineState() {
      return this.onlineState;
   }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   public BusDeviceInfoDTO setLineId(final String lineId) {
      this.lineId = lineId;
      return this;
   }

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

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

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

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

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

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