package cn.iocoder.yudao.module.archive.controller.admin.borrow.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDate; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; @Schema(description = "管理后台 - 档案借阅单新增/修改 Request VO") @Data public class ArchiveBorrowSaveReqVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "档案 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "借阅档案不能为空") private Long documentId; @Schema(description = "借阅人用户 ID", example = "1") private Long borrowerUserId; @Schema(description = "借阅人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotEmpty(message = "借阅人姓名不能为空") private String borrowerName; @Schema(description = "借阅人部门", example = "秘书处") private String borrowerDept; @Schema(description = "借阅人联系电话", example = "13800138000") private String borrowerPhone; @Schema(description = "借阅日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-09-29") @NotNull(message = "借阅日期不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate borrowDate; @Schema(description = "借阅目的", example = "撰写年度总结引用历史数据") private String borrowPurpose; @Schema(description = "归还期限", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-10-15") @NotNull(message = "归还期限不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate returnDeadline; @Schema(description = "备注") private String remark; }