package com.muyu.car.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName(value = "t_car")
public class SysCar {
    /**
     * 车辆表
     */
    @TableId(value = "car_id",type = IdType.AUTO)
    private Long carId;
    /**
     * 车架号
     */
    private String carFrame;
    /**
     * 车牌号
     */
    private String carCoed;
    /**
     * 车牌颜色 1.白色 2.绿色 3.黑色 4.银色 5.红色
     */
    private Integer carColor;
    /**
     * VIN码
     */
    private String carVin;
    /**
     * 驾车人
     */
    private Long carUserId;
    /**
     * 车主
     */
    private Long userId;
    /**
     * 车辆配置
     */
    private Long typeId;

    /** 车辆品牌 */
    @Excel(name = "车辆品牌")
    private String carBrand;

    /** 车辆型号 */
    @Excel(name = "车辆型号")
    private String carModel;
    /**
     * 年审日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date audditTime;
    /**
     * 行驶证到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date licenseTime;
    /**
     * 保险到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date insuranceTime;
    /**
     * 在线状态 1.无信号 2.行驶中 3.已停止
     */
    private Integer carStatus;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
    /**
     * 当前档位
     */
    private Integer carGears;


    /** 最后一次连线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次连线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carLastJoinTime;

    /** 最后一次离线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次离线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date carLastOfflineTime;

}
