package com.yc.ship.module.resource.controller.admin.car.vo;

import com.yc.ship.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - 车辆管理分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CarPageReqVO extends PageParam {

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

    @Schema(description = "车辆类型ID", example = "12923")
    private String carTypeId;

    @Schema(description = "车辆载荷")
    private Integer carMaxLoad;

    @Schema(description = "供应商类型（字典supplier_type，内部/外部）", example = "2")
    private Integer companyType;

    @Schema(description = "能源类型（字典energy_type）", example = "2")
    private Integer energyType;

    @Schema(description = "供应商ID（车辆提供方表获取）", example = "20022")
    private String companyId;

    @Schema(description = "车辆状态（0正常、1维修中、2年检、3停运） dispatch_car_status", example = "1")
    private Integer carStatus;

    @Schema(description = "标签")
    private String carTag;

    @Schema(description = "备注", example = "你猜")
    private String remark;

    @Schema(description = "驾驶员表ID", example = "3571")
    private String driverId;

    @Schema(description = "排序")
    private Integer sort;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}