package com.bonus.canteen.core.device.manage.controller.deprecated.dto;

import com.bonus.common.houqin.framework.config.deserializer.DateTimeDeserializer;
import com.bonus.common.houqin.framework.config.serializer.DateTimeSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

public class DeviceHeartBeatDto {
   @ApiModelProperty("菜品编号")
   private Integer menuNo;
   @ApiModelProperty("菜品名称")
   private String menuName;
   @ApiModelProperty("菜品单价")
   private Integer menuPrice;
   @ApiModelProperty("终端编号")
   private String macNo;
   @ApiModelProperty("天线状态")
   private String antennaState;
   @ApiModelProperty("设备版本号")
   private String deviceVersion;
   @JsonSerialize(
      using = DateTimeSerializer.class
   )
   @JsonDeserialize(
      using = DateTimeDeserializer.class
   )
   @ApiModelProperty("菜谱下发时间")
   private LocalDateTime localDateTimeMenuSend;
   @ApiModelProperty("下发出品机成功（每下发成功一次置为1一次，其余情况默认为2）")
   private Integer deviceSendSuccess;
   @ApiModelProperty("在线离线状态")
   private Integer onlineState;

   public Integer getMenuNo() {
      return this.menuNo;
   }

   public String getMenuName() {
      return this.menuName;
   }

   public Integer getMenuPrice() {
      return this.menuPrice;
   }

   public String getMacNo() {
      return this.macNo;
   }

   public String getAntennaState() {
      return this.antennaState;
   }

   public String getDeviceVersion() {
      return this.deviceVersion;
   }

   public LocalDateTime getLocalDateTimeMenuSend() {
      return this.localDateTimeMenuSend;
   }

   public Integer getDeviceSendSuccess() {
      return this.deviceSendSuccess;
   }

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

   public DeviceHeartBeatDto setMenuNo(final Integer menuNo) {
      this.menuNo = menuNo;
      return this;
   }

   public DeviceHeartBeatDto setMenuName(final String menuName) {
      this.menuName = menuName;
      return this;
   }

   public DeviceHeartBeatDto setMenuPrice(final Integer menuPrice) {
      this.menuPrice = menuPrice;
      return this;
   }

   public DeviceHeartBeatDto setMacNo(final String macNo) {
      this.macNo = macNo;
      return this;
   }

   public DeviceHeartBeatDto setAntennaState(final String antennaState) {
      this.antennaState = antennaState;
      return this;
   }

   public DeviceHeartBeatDto setDeviceVersion(final String deviceVersion) {
      this.deviceVersion = deviceVersion;
      return this;
   }

   @JsonDeserialize(
      using = DateTimeDeserializer.class
   )
   public DeviceHeartBeatDto setLocalDateTimeMenuSend(final LocalDateTime localDateTimeMenuSend) {
      this.localDateTimeMenuSend = localDateTimeMenuSend;
      return this;
   }

   public DeviceHeartBeatDto setDeviceSendSuccess(final Integer deviceSendSuccess) {
      this.deviceSendSuccess = deviceSendSuccess;
      return this;
   }

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