package com.railway.business.baseinfo.domain;

import com.railway.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

/**
 * @author railway
 */
@Data
@ApiModel("区间/站场")
@EqualsAndHashCode(callSuper = true)
public class BaseStation extends BaseEntity {

  @ApiModelProperty(value = "主键", hidden = true)
  private Long stationId;

  @ApiModelProperty(value = "线路id")
  private Long lineId;

  @ApiModelProperty(value = "线别")
  private String lineName;

  @ApiModelProperty(value = "区间站场名称")
  @Length(min = 1, max = 64, message = "【区间站场名称】长度必须介于 {min} 和 {max} 之间")
  private String stationName;

  @ApiModelProperty(value = "区间站场类型")
  @Length(min = 1, max = 4, message = "【区间站场类型】长度必须介于 {min} 和 {max} 之间")
  private String stationType;

  @ApiModelProperty(value = "区间站场类型名")
  private String stationTypeText;

  @ApiModelProperty(value = "显示顺序")
  private Integer orderNum;

  @ApiModelProperty(value = "起始公里标")
  private BigDecimal startMarker;

  @ApiModelProperty(value = "结束公里标")
  private BigDecimal endMarker;

  @ApiModelProperty(value = "删除标志（0代表存在 1代表删除）")
  @Length(min = 1, max = 1, message = "【删除标志（0代表存在 1代表删除）】长度必须介于 {min} 和 {max} 之间")
  private String delFlag;

}