package cn.iocoder.yudao.module.asset.controller.admin.requisition.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; @Schema(description = "管理后台 - 资产领用新增/修改 Request VO") @Data public class AssetRequisitionSaveReqVO { @Schema(description = "编号(修改时必填)", example = "1") private Long id; @Schema(description = "资产 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "请选择领用资产") private Long assetId; @Schema(description = "领用人用户 ID", example = "1024") private Long recipientId; @Schema(description = "领用人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @Size(max = 64, message = "领用人姓名不能超过 64 个字符") private String recipientName; @Schema(description = "领用时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "领用时间不能为空") private LocalDateTime requisitionTime; @Schema(description = "领用数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "领用数量不能为空") @Min(value = 1, message = "领用数量必须大于 0") private Integer quantity; @Schema(description = "用途", example = "行政办公打印") @Size(max = 512, message = "用途不能超过 512 个字符") private String purpose; @Schema(description = "预计归还日期", example = "2026-11-20") private LocalDate expectedReturnDate; @Schema(description = "备注") @Size(max = 512, message = "备注不能超过 512 个字符") private String remark; }