package com.hotwj.platform.config.vehicleBrandModel.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.config.vehicleBrandModel.domain.HotVehicleBrandModel;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;


/**
 * 车辆品牌型号库视图对象 hot_vehicle_brand_model
 *
 * @author shihongwei
 * @date 2026-02-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotVehicleBrandModel.class)
public class HotVehicleBrandModelVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 类型(字典)
     */
    @ExcelProperty(value = "类型(字典)")
    private String vehicleType;

    /**
     * 品牌型号
     */
    @ExcelProperty(value = "品牌型号")
    private String brandModel;

    /**
     * 车身颜色
     */
    @ExcelProperty(value = "车身颜色")
    private String bodyColor;

    /**
     * 车牌颜色
     */
    @ExcelProperty(value = "车牌颜色")
    private String plateColor;

    /**
     * 燃料种类
     */
    @ExcelProperty(value = "燃料种类")
    private String fuelType;

    /**
     * 制造厂名称
     */
    @ExcelProperty(value = "制造厂名称")
    private String manufacturerName;

    /**
     * 发动机排量(ml)
     */
    @ExcelProperty(value = "发动机排量(ml)")
    private Long engineDisplacement;

    /**
     * 发动机功率(KW)
     */
    @ExcelProperty(value = "发动机功率(KW)")
    private Long enginePowerKw;

    /**
     * 电机功率(KW)
     */
    @ExcelProperty(value = "电机功率(KW)")
    private Long motorPowerKw;

    /**
     * 驱动电机型号
     */
    @ExcelProperty(value = "驱动电机型号")
    private String driveMotorModel;

    /**
     * 轴距(mm)
     */
    @ExcelProperty(value = "轴距(mm)")
    private Long wheelbaseMm;

    /**
     * 轮胎数
     */
    @ExcelProperty(value = "轮胎数")
    private Long tireCount;

    /**
     * 轮胎规格
     */
    @ExcelProperty(value = "轮胎规格")
    private String tireSpec;

    /**
     * 轴数
     */
    @ExcelProperty(value = "轴数")
    private Long axleCount;

    /**
     * 车辆型号
     */
    @ExcelProperty(value = "车辆型号")
    private String vehicleModel;

    /**
     * 货箱内部长(mm)
     */
    @ExcelProperty(value = "货箱内部长(mm)")
    private Long cargoLengthMm;

    /**
     * 货箱内部宽(mm)
     */
    @ExcelProperty(value = "货箱内部宽(mm)")
    private Long cargoWidthMm;

    /**
     * 货箱内部高(mm)
     */
    @ExcelProperty(value = "货箱内部高(mm)")
    private Long cargoHeightMm;

    /**
     * 货箱内部容积(立方米)
     */
    @ExcelProperty(value = "货箱内部容积(立方米)")
    private BigDecimal cargoVolume;

    /**
     * 变速器
     */
    @ExcelProperty(value = "变速器")
    private String transmission;

    /**
     * 缓速器
     */
    @ExcelProperty(value = "缓速器")
    private String retarder;

    /**
     * 排放标准
     */
    @ExcelProperty(value = "排放标准")
    private String emissionStandard;

    /**
     * 电池类型
     */
    @ExcelProperty(value = "电池类型")
    private String batteryType;

    /**
     * 承保座数
     */
    @ExcelProperty(value = "承保座数")
    private Long insuredSeatCount;

    /**
     * 行驶制动方式
     */
    @ExcelProperty(value = "行驶制动方式")
    private String serviceBrakeType;

    /**
     * 前轮制动器形式
     */
    @ExcelProperty(value = "前轮制动器形式")
    private String frontBrakeType;

    /**
     * 制动防抱死系统
     */
    @ExcelProperty(value = "制动防抱死系统")
    private String absSystem;

    /**
     * 后轮制动器形式
     */
    @ExcelProperty(value = "后轮制动器形式")
    private String rearBrakeType;

    /**
     * 驻车制动方式
     */
    @ExcelProperty(value = "驻车制动方式")
    private String parkingBrakeType;

    /**
     * 空调系统
     */
    @ExcelProperty(value = "空调系统")
    private String airConditioning;

    /**
     * 底盘型号
     */
    @ExcelProperty(value = "底盘型号")
    private String chassisModel;

    /**
     * 国产标记
     */
    @ExcelProperty(value = "国产标记")
    private String domesticFlag;

    /**
     * 数据缺失统计
     */
    @ExcelProperty(value = "数据缺失统计")
    private Long dataMissingCount;

    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;


}
