package cn.iocoder.yudao.module.purchase.controller.admin.order.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; import java.time.LocalDate; import java.util.List; @Schema(description = "管理后台 - 采购单新增/修改 Request VO") @Data public class PurchaseOrderSaveReqVO { @Schema(description = "编号(修改时必填)", example = "1") private Long id; @Schema(description = "采购时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-10-20") @NotNull(message = "采购时间不能为空") private LocalDate purchaseDate; @Schema(description = "采购人(经办人)用户 ID", example = "1024") private Long buyerId; @Schema(description = "采购人(经办人)姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotBlank(message = "采购人(经办人)不能为空") @Size(max = 64, message = "采购人姓名不能超过 64 个字符") private String buyerName; @Schema(description = "备注") @Size(max = 512, message = "备注不能超过 512 个字符") private String remark; @Schema(description = "采购商品明细", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "采购单至少需要 1 行采购商品明细") @Valid private List items; }