package com.sckw.fleet.model.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

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

/**
 * 司机侧新增车辆并关联请求
 */
@Data
public class DriverAssociatedTruckSaveRequest implements Serializable {

    @Serial
    private static final long serialVersionUID = -5419891383273186634L;

    @Schema(description = "司机id")
    @NotNull(message = "司机id不能为空")
    private Long driverId;

    @Schema(description = "车牌号")
    @NotBlank(message = "车牌号不能为空")
    private String truckNo;

    @Schema(description = "车辆类型")
    @NotNull(message = "车辆类型不能为空")
    private Integer type;

    @Schema(description = "车轴配置id")
    @NotNull(message = "车辆轴数不能为空")
    private Long truckAxleId;

    @Schema(description = "发动机号")
    @NotBlank(message = "发动机号不能为空")
    private String engineNo;

    @Schema(description = "能源类型")
    @NotNull(message = "能源类型不能为空")
    private Integer energyType;

    @Schema(description = "排放标准")
    private Integer eev;

    @Schema(description = "货车行驶证")
    @NotBlank(message = "货车行驶证不能为空")
    private String truckLicense;

    @Schema(description = "环保清单")
    @NotBlank(message = "环保清单不能为空")
    private String environmentalList;

    @Schema(description = "道路运输许可证")
    @NotBlank(message = "道路运输许可证不能为空")
    private String transportLicense;

    @Schema(description = "车队id")
    private Long fleetId;

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

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

    @Schema(description = "定位设备")
    private String positionDevice;
    @Schema(description = "企业id")
    private String entId;
}
