package cn.iocoder.yudao.module.vehicle.controller.admin.application.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import java.time.LocalDateTime; @Schema(description = "管理后台 - 用车申请新增/修改 Request VO") @Data public class VehicleApplicationSaveReqVO { @Schema(description = "编号(修改时必填)", example = "1") private Long id; @Schema(description = "用车开始时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "用车开始时间不能为空") private LocalDateTime useStartTime; @Schema(description = "用车结束时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "用车结束时间不能为空") private LocalDateTime useEndTime; @Schema(description = "出发地", requiredMode = Schema.RequiredMode.REQUIRED, example = "学院行政楼") @NotBlank(message = "出发地不能为空") @Size(max = 128, message = "出发地不能超过 128 个字符") private String departure; @Schema(description = "目的地", requiredMode = Schema.RequiredMode.REQUIRED, example = "南通市政务中心") @NotBlank(message = "目的地不能为空") @Size(max = 128, message = "目的地不能超过 128 个字符") private String destination; @Schema(description = "随行人数", example = "3") @Min(value = 1, message = "随行人数必须大于 0") private Integer passengers; @Schema(description = "用车事由", requiredMode = Schema.RequiredMode.REQUIRED, example = "参加产教融合项目对接会") @NotBlank(message = "用车事由不能为空") @Size(max = 512, message = "用车事由不能超过 512 个字符") private String reason; @Schema(description = "车牌号(可选)", example = "苏F12345") @Size(max = 32, message = "车牌号不能超过 32 个字符") private String vehicleNo; @Schema(description = "备注") @Size(max = 512, message = "备注不能超过 512 个字符") private String remark; }