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

import com.bonus.canteen.core.bus.model.BusSite;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@ApiModel(
   value = "MacBusSceneVO",
   description = "设备拉取线路信息"
)
public class MacBusSceneVO {
   @ApiModelProperty("设备id")
   private Long deviceId;
   @ApiModelProperty("设备编号")
   private String deviceNum;
   @ApiModelProperty("设备名称")
   private String deviceName;
   @ApiModelProperty("设备sn码")
   private String deviceSn;
   @ApiModelProperty("设备Key")
   private String deviceKey;
   @ApiModelProperty("使用场景 1、固定计费2、上车使用3、下车使用")
   private @NotNull(
   message = "使用场景 1、固定计费2、上车使用3、下车使用"
) Integer useScene;
   @ApiModelProperty("线路id")
   private Long lineId;
   @ApiModelProperty("线路站点集合")
   private String lineSites;
   @ApiModelProperty("删除标识(1删除,2正常)")
   private Integer delFlag;
   @ApiModelProperty("乐观锁")
   private Integer revision;
   @ApiModelProperty("创建人")
   private String crby;
   @ApiModelProperty("创建时间")
   private LocalDateTime crtime;
   @ApiModelProperty("更新人")
   private String upby;
   @ApiModelProperty("更新时间")
   private LocalDateTime uptime;
   @ApiModelProperty("线路名称")
   private String lineName;
   @ApiModelProperty("计费规则id")
   private Long billingId;
   @ApiModelProperty("计费规则编号")
   private String billingNum;
   @ApiModelProperty("计费规则名称")
   private String billingName;
   @ApiModelProperty("计费方式(1 按站点计费,2固定计费)")
   private Integer billingType;
   @ApiModelProperty("固定金额  分")
   private BigDecimal fixedAmount;
   @ApiModelProperty("站点单价金额  分")
   private BigDecimal sitePrice;
   @ApiModelProperty("上限金额  分")
   private BigDecimal ceilingPrice;
   @ApiModelProperty("线路站点集合")
   private List<BusSite> busSiteList;

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

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

   public String getLineSites() {
      return this.lineSites;
   }

   public Integer getDelFlag() {
      return this.delFlag;
   }

   public Integer getRevision() {
      return this.revision;
   }

   public String getCrby() {
      return this.crby;
   }

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

   public String getUpby() {
      return this.upby;
   }

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

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

   public Long getBillingId() {
      return this.billingId;
   }

   public String getBillingNum() {
      return this.billingNum;
   }

   public String getBillingName() {
      return this.billingName;
   }

   public Integer getBillingType() {
      return this.billingType;
   }

   public BigDecimal getFixedAmount() {
      return this.fixedAmount;
   }

   public BigDecimal getSitePrice() {
      return this.sitePrice;
   }

   public BigDecimal getCeilingPrice() {
      return this.ceilingPrice;
   }

   public List<BusSite> getBusSiteList() {
      return this.busSiteList;
   }

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

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

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

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

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

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

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

   public MacBusSceneVO setLineSites(final String lineSites) {
      this.lineSites = lineSites;
      return this;
   }

   public MacBusSceneVO setDelFlag(final Integer delFlag) {
      this.delFlag = delFlag;
      return this;
   }

   public MacBusSceneVO setRevision(final Integer revision) {
      this.revision = revision;
      return this;
   }

   public MacBusSceneVO setCrby(final String crby) {
      this.crby = crby;
      return this;
   }

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

   public MacBusSceneVO setUpby(final String upby) {
      this.upby = upby;
      return this;
   }

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

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

   public MacBusSceneVO setBillingId(final Long billingId) {
      this.billingId = billingId;
      return this;
   }

   public MacBusSceneVO setBillingNum(final String billingNum) {
      this.billingNum = billingNum;
      return this;
   }

   public MacBusSceneVO setBillingName(final String billingName) {
      this.billingName = billingName;
      return this;
   }

   public MacBusSceneVO setBillingType(final Integer billingType) {
      this.billingType = billingType;
      return this;
   }

   public MacBusSceneVO setFixedAmount(final BigDecimal fixedAmount) {
      this.fixedAmount = fixedAmount;
      return this;
   }

   public MacBusSceneVO setSitePrice(final BigDecimal sitePrice) {
      this.sitePrice = sitePrice;
      return this;
   }

   public MacBusSceneVO setCeilingPrice(final BigDecimal ceilingPrice) {
      this.ceilingPrice = ceilingPrice;
      return this;
   }

   public MacBusSceneVO setBusSiteList(final List<BusSite> busSiteList) {
      this.busSiteList = busSiteList;
      return this;
   }
}
