package com.ningdatech.carapi.homepage.entity.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import org.springframework.stereotype.Component;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

/**
 * @author CMM
 * @since 2023/07/06 10:47
 */
@Component
@Slf4j
@Data
@RequiredArgsConstructor
@TableName("nd_data_access_gps")
@ApiModel(value = "NdDataAccessGps", description = "车辆GPS")
public class NdDataAccessGps implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("ID")
    @TableId(value = "record_id", type = IdType.AUTO)
    private Long recordId;

    @ApiModelProperty("车牌号")
    @TableField(value = "car_plate")
    private String carPlate;

    @ApiModelProperty("颜色")
    @TableField(value = "plate_color")
    private String plateColor;

    @ApiModelProperty("坐标")
    @TableField(value = "car_longitude")
    private BigDecimal carLongitude;

    @ApiModelProperty("坐标")
    @TableField(value = "car_latitude")
    private BigDecimal carLatitude;

    @ApiModelProperty("坐标")
    @TableField(value = "car_altitude")
    private BigDecimal carAltitude;

    @ApiModelProperty("坐标")
    @TableField(value = "car_velocity")
    private BigDecimal carVelocity;

    @ApiModelProperty("坐标")
    @TableField(value = "car_direction")
    private BigDecimal carDirection;

    @ApiModelProperty("时间")
    @TableField(value = "update_time")
    private LocalDateTime updateTime;

    @ApiModelProperty("名")
    @TableField(value = "operator_name")
    private String operatorName;

    @ApiModelProperty("操作ID")
    @TableField(value = "operator_id")
    private String operatorId;

    @TableField(value = "alarm_flag")
    private Long alarmFlag;

    @ApiModelProperty("状态")
    @TableField(value = "status")
    private Long status;

    @ApiModelProperty("看板那啥")
    @TableField(value = "dashboard_mileage")
    private Long dashboardMileage;

    @ApiModelProperty("看板速度")
    @TableField(value = "dashboard_speed")
    private Long dashboardSpeed;

    @TableField(value = "abnormal_causes")
    private Integer abnormalCauses;

    @ApiModelProperty("时间")
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    @ApiModelProperty("业务数据ID")
    @TableField(value = "biz_id")
    private String bizId;
}
