package com.sckw.fleet.model.vo;

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

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

/**
 * @author system
 * @description 车牌号校验结果VO
 * @date 2025-06-24
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "车牌号校验结果")
public class TruckValidateVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 原始车牌号
     */
    @Schema(description = "原始车牌号")
    private String originalTruckNo;

    /**
     * 格式化后的车牌号
     */
    @Schema(description = "格式化后的车牌号（去除空格等）")
    private String formattedTruckNo;

    /**
     * 是否校验通过
     */
    @Schema(description = "是否校验通过")
    private Boolean valid;

    /**
     * 校验失败原因
     */
    @Schema(description = "校验失败原因")
    private String errorMsg;

    /**
     * 车辆ID（如果在系统中存在）
     */
    @Schema(description = "车辆ID")
    private Long truckId;

    /**
     * 轴数
     */
    @Schema(description = "轴数")
    private String carAxis;

    /**
     * 是否在系统中存在
     */
    @Schema(description = "是否在系统中存在")
    private Boolean exists;

    /**
     * 企业ID
     */
    @Schema(description = "企业ID")
    private Long entId;

    /**
     * 企业名称
     */
    @Schema(description = "企业名称")
    private String entName;

    /**
     * 车辆类别(牵引车、货车)
     */
    @Schema(description = "车辆类别(牵引车、货车)")
    private Integer type;

    /**
     * 车辆类别描述
     */
    @Schema(description = "车辆类别描述")
    private String typeDesc;
}
