package cn.iocoder.yudao.module.asset.controller.admin.prepare.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 备车记录 Response VO")
@Data
public class VehiclePrepareRespVO {

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "车辆ID")
    private Long vehicleId;

    @Schema(description = "车牌号")
    private String plateNo;

    @Schema(description = "VIN码")
    private String vin;

    @Schema(description = "车型ID")
    private Long vehicleModelId;

    @Schema(description = "品牌")
    private String brand;

    @Schema(description = "型号")
    private String model;

    @Schema(description = "车辆类型")
    private String vehicleType;

    @Schema(description = "停车场")
    private String parkingLot;

    @Schema(description = "合同ID")
    private Long contractId;

    @Schema(description = "合同编码")
    private String contractCode;

    @Schema(description = "整备类型")
    private String preparationType;

    @Schema(description = "里程(km)")
    private Integer mileage;

    @Schema(description = "剩余氢量")
    private BigDecimal hydrogenRemaining;

    @Schema(description = "氢量单位")
    private String hydrogenUnit;

    @Schema(description = "剩余电量(%)")
    private BigDecimal batteryRemaining;

    @Schema(description = "是否有车身广告")
    private Boolean hasBodyAd;

    @Schema(description = "广告照片")
    private String bodyAdPhotos;

    @Schema(description = "放大字照片")
    private String enlargedTextPhoto;

    @Schema(description = "是否有尾板")
    private Boolean hasTailLift;

    @Schema(description = "备胎胎纹深度(mm)")
    private BigDecimal spareTireDepth;

    @Schema(description = "备胎照片")
    private String spareTirePhoto;

    @Schema(description = "挂车牌号")
    private String trailerPlateNo;

    @Schema(description = "瑕疵照片")
    private String defectPhotos;

    @Schema(description = "关联验车记录ID")
    private Long inspectionRecordId;

    @Schema(description = "检查清单JSON")
    private String checkList;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "完成时间")
    private LocalDateTime completeTime;

    @Schema(description = "创建者")
    private String creator;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

}
