package org.dromara.domain.proprietorCar.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.domain.proprietorCar.ProprietorCar;

import java.io.Serial;
import java.io.Serializable;



/**
 * 业主车辆管理视图对象 proprietor_car
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ProprietorCar.class)
public class ProprietorCarVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 业主车辆主键
     */
    @ExcelProperty(value = "业主车辆主键")
    private Long carId;

    /**
     * 房屋信息id
     */
    @ExcelProperty(value = "房屋信息id")
    private Long houseId;

    /**
     * 房屋的详细门牌号
     */
    @ExcelProperty(value = "房屋的详细门牌号")
    private String detailedAddress;

    /**
     * 居住人员表id
     */
    @ExcelProperty(value = "居住人员表id")
    private Long residentId;

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

    /**
     * 业主姓名
     */
    @ExcelProperty(value = "业主姓名")
    private String userName;

    /**
     * 业主手机号
     */
    @ExcelProperty(value = "业主手机号")
    private String residentPhone;

    /**
     * 车牌号码
     */
    @ExcelProperty(value = "车牌号码")
    private String plateNumber;

    /**
     * 车辆车型 （大众汽车牌SVW6474DFD）
     */
    @ExcelProperty(value = "车辆车型 ", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "大=众汽车牌SVW6474DFD")
    private String vehicleBrand;

    /**
     * 车辆类型 （小型普通客车）
     */
    @ExcelProperty(value = "车辆类型 ", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "小=型普通客车")
    private String vehicleType;

    /**
     * 车辆能源类型 燃油 新能源
     */
    @ExcelProperty(value = "车辆能源类型 燃油 新能源")
    private String vehicleEnergy;

    /**
     * 车辆颜色
     */
    @ExcelProperty(value = "车辆颜色")
    private String vehicleColour;

    /**
     * 发动机编号
     */
    @ExcelProperty(value = "发动机编号")
    private String engineNumber;

    /**
     * 车辆识别代号
     */
    @ExcelProperty(value = "车辆识别代号")
    private String identificationNumber;

    /**
     * 注册日期
     */
    @ExcelProperty(value = "注册日期")
    private String registrationDate;

    /**
     * 发证日期
     */
    @ExcelProperty(value = "发证日期")
    private String issueDate;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
