package com.muyu.enterprise.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 io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
/**
 * 车辆表--实体类
 * @ClassName CarManage
 * @Description 车辆表
 * @author  MingWei.Zong
 * @Date 2024/9/28 16:52
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Tag(name = "车辆表")
@Builder
@TableName(value = "car_manage",autoResultMap = true)
public class CarManage {
    /**
     * 车辆表
     */
    @TableId(value = "car_id",type = IdType.AUTO)
    private Long carId;
    /**
     * 车架号
     */
    private String carFrame;
    /**
     * 车牌号
     */
    private String carCode;
    /**
     * 车牌颜色 1.白色 2.绿色 3.黑色 4.银色 5.红色
     */
    private Integer carColor;
    /**
     * VIN码
     */
    private String carVin;
    /**
     * 驾驶员
     */
    private long userId;
    /**
     * 车辆配置
     */
    private long configId;
    /**
     * 年审日期
     */
    @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 carStayus;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
    /**
     * 当前档位
     */
    private Integer carGears;
    /**
     * 车辆品牌
     */
    private String carModel;
    /**
     * 车辆型号
     */
    private String cardDrand;

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

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

    /**
     * 汽车所属企业id
     */
    private Long companyId;
    /**
     * 车辆类型 1.轿车 2.跑车 3.越野 4.客车 5.公交 6.其他
     */
    private Integer carType;

}
