package com.sooka.sponest.monitor.meiqiguan.gps.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;


@Data
public class GasTankTravelMileage {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 设备序列号，全局唯一
     */
    private String deviceid;

    /**
     * 最大速度 米/小时
     */
    private Double maxspeed;

    /**
     * 这一段里程的总里程 米
     */
    private Double tripdistance;

    /**
     * 这一段里程的总时间 毫秒数
     */
    private String triptime;

    /**
     * 开始时间 毫秒数
     */
    private String starttime;

    /**
     * 结束时间 毫秒数
     */
    private String endtime;

    /**
     * 停车时长 毫秒数
     */
    private String parktime;

    /**
     * 平均速度 米/小时
     */
    private Double averagespeed;

    /**
     * 开始纬度
     */
    private String slat;

    /**
     * 开始经度
     */
    private String slon;

    /**
     * 结束纬度
     */
    private String elat;

    /**
     * 结束经度
     */
    private String elon;

    /**
     * 跟踪开始时间
     */
    private String trackstarttime;

    /**
     * 跟踪结束时间
     */
    private String trackendtime;

    /**
     * 油量报告
     */
    private String fuelreport;

    /**
     * 行程地点
     */
    private String addressmap;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDeviceid() {
        return deviceid;
    }

    public void setDeviceid(String deviceid) {
        this.deviceid = deviceid;
    }

    public Double getMaxspeed() {
        return maxspeed;
    }

    public void setMaxspeed(Double maxspeed) {
        this.maxspeed = maxspeed;
    }

    public Double getTripdistance() {
        return tripdistance;
    }

    public void setTripdistance(Double tripdistance) {
        this.tripdistance = tripdistance;
    }

    public String getTriptime() {
        return triptime;
    }

    public void setTriptime(String triptime) {
        this.triptime = triptime;
    }

    public String getStarttime() {
        return starttime;
    }

    public void setStarttime(String starttime) {
        this.starttime = starttime;
    }

    public String getEndtime() {
        return endtime;
    }

    public void setEndtime(String endtime) {
        this.endtime = endtime;
    }

    public String getParktime() {
        return parktime;
    }

    public void setParktime(String parktime) {
        this.parktime = parktime;
    }

    public Double getAveragespeed() {
        return averagespeed;
    }

    public void setAveragespeed(Double averagespeed) {
        this.averagespeed = averagespeed;
    }

    public String getSlat() {
        return slat;
    }

    public void setSlat(String slat) {
        this.slat = slat;
    }

    public String getSlon() {
        return slon;
    }

    public void setSlon(String slon) {
        this.slon = slon;
    }

    public String getElat() {
        return elat;
    }

    public void setElat(String elat) {
        this.elat = elat;
    }

    public String getElon() {
        return elon;
    }

    public void setElon(String elon) {
        this.elon = elon;
    }

    public String getTrackstarttime() {
        return trackstarttime;
    }

    public void setTrackstarttime(String trackstarttime) {
        this.trackstarttime = trackstarttime;
    }

    public String getTrackendtime() {
        return trackendtime;
    }

    public void setTrackendtime(String trackendtime) {
        this.trackendtime = trackendtime;
    }

    public String getFuelreport() {
        return fuelreport;
    }

    public void setFuelreport(String fuelreport) {
        this.fuelreport = fuelreport;
    }

    public String getAddressmap() {
        return addressmap;
    }

    public void setAddressmap(String addressmap) {
        this.addressmap = addressmap;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deviceid", getDeviceid())
                .append("maxspeed", getMaxspeed())
                .append("tripdistance", getTripdistance())
                .append("triptime", getTriptime())
                .append("starttime", getStarttime())
                .append("endtime", getEndtime())
                .append("parktime", getParktime())
                .append("averagespeed", getAveragespeed())
                .append("slat", getSlat())
                .append("slon", getSlon())
                .append("elat", getElat())
                .append("elon", getElon())
                .append("trackstarttime", getTrackstarttime())
                .append("trackendtime", getTrackendtime())
                .append("fuelreport", getFuelreport())
                .append("addressmap", getAddressmap())
                .append("createTime", getCreateTime())
                .toString();
    }

}
