package com.prolog.rdc.tms.model.dto.e6;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 获取车辆的最新位置信息DTO
 * @author hongbo.pan
 * @date 2023/3/21
 */
@Data
public class VehicleInfoDTO {

    @ApiModelProperty(value = "车牌")
    @JSONField(name = "Vehicle")
    private String vehicle;

    @ApiModelProperty(value = "定位时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "GPSTime")
    private Date gpsTime;

    @ApiModelProperty(value = "速度")
    @JSONField(name = "Speed")
    private BigDecimal speed;

    @ApiModelProperty(value = "里程")
    @JSONField(name = "Odometer")
    private BigDecimal odometer;

    @ApiModelProperty(value = "纬度(WGS-84坐标系)")
    @JSONField(name = "Lat")
    private BigDecimal lat;

    @ApiModelProperty(value = "经度(WGS-84坐标系)")
    @JSONField(name = "Lon")
    private BigDecimal lon;

    @ApiModelProperty(value = "车头方向0-360(0为正北 顺时针递加)")
    @JSONField(name = "Direction")
    private BigDecimal direction;

    @ApiModelProperty(value = "状态")
    @JSONField(name = "Status")
    private String status;

    @ApiModelProperty(value = "车辆位置")
    @JSONField(name = "PlaceName")
    private String placeName;

    @ApiModelProperty(value = "省")
    @JSONField(name = "Provice")
    private String provice;

    @ApiModelProperty(value = "市")
    @JSONField(name = "City")
    private String city;

    @ApiModelProperty(value = "区")
    @JSONField(name = "District")
    private String district;

    @ApiModelProperty(value = "路名信息")
    @JSONField(name = "RoadName")
    private String roadName;

    @ApiModelProperty(value = "温度1(℃)")
    @JSONField(name = "T1")
    private BigDecimal t1;

    @ApiModelProperty(value = "温度2(℃)")
    @JSONField(name = "T2")
    private BigDecimal t2;

    @ApiModelProperty(value = "温度3(℃)")
    @JSONField(name = "T3")
    private BigDecimal t3;

    @ApiModelProperty(value = "温度4(℃)")
    @JSONField(name = "T4")
    private BigDecimal t4;

    @ApiModelProperty(value = "根据参数isoffsetlonlat返回的纬度")
    @JSONField(name = "Lat02")
    private BigDecimal lat02;

    @ApiModelProperty(value = "根据参数isoffsetlonlat返回的经度")
    @JSONField(name = "Lon02")
    private BigDecimal lon02;

    @ApiModelProperty(value = "地标名称")
    @JSONField(name = "AreaName")
    private String areaName;

    @ApiModelProperty(value = "温度1采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "Time1")
    private Date time1;

    @ApiModelProperty(value = "温度2采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "Time2")
    private Date time2;

    @ApiModelProperty(value = "温度3采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "Time3")
    private Date time3;

    @ApiModelProperty(value = "温度4采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "Time4")
    private Date time4;

    @ApiModelProperty(value = "湿度1(%RH)")
    @JSONField(name = "H1")
    private BigDecimal h1;

    @ApiModelProperty(value = "湿度2(%RH)")
    @JSONField(name = "H2")
    private BigDecimal h2;

    @ApiModelProperty(value = "湿度3(%RH)")
    @JSONField(name = "H3")
    private BigDecimal h3;

    @ApiModelProperty(value = "湿度4(%RH)")
    @JSONField(name = "H4")
    private BigDecimal h4;

    @ApiModelProperty(value = "湿度1采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "HT1")
    private Date ht1;

    @ApiModelProperty(value = "湿度2采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "HT2")
    private Date ht2;

    @ApiModelProperty(value = "湿度3采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "HT3")
    private Date ht3;

    @ApiModelProperty(value = "湿度4采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(name = "HT4")
    private Date ht4;

    @ApiModelProperty(value = "设备类型")
    @JSONField(name = "DeviceTypeStr")
    private String deviceTypeStr;

    @ApiModelProperty(value = "设备编号")
    @JSONField(name = "EquipCode")
    private String equipCode;

    @ApiModelProperty(value = "当前油量")
    @JSONField(name = "Oil")
    private String oil;

    @ApiModelProperty(value = "海拔高度 单位米")
    @JSONField(name = "Height")
    private BigDecimal height;

    @ApiModelProperty(value = "停车时长 单位秒")
    @JSONField(name = "StopSec")
    private BigDecimal stopSec;

    @ApiModelProperty(value = "最后上报ACC状态;0 无,1关,2开")
    @JSONField(name = "ACC")
    private String acc;

    @ApiModelProperty(value = "真实车牌")
    @JSONField(name = "VehicleNo")
    private String vehicleNo;

    @ApiModelProperty(value = "油量欧姆值")
    @JSONField(name = "Ohm")
    private String ohm;

    @ApiModelProperty(value = "当前ACC状态 1:在线   0:不在线   2:未知")
    @JSONField(name = "CurAccSta")
    private String curAccSta;

}
