package cn.iocoder.yudao.module.archive.controller.admin.document.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 java.util.List;
|
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
|
@Schema(description = "管理后台 - 档案新增/修改 Request VO")
|
@Data
|
public class ArchiveDocumentSaveReqVO {
|
|
@Schema(description = "编号", example = "1")
|
private Long id;
|
|
@Schema(description = "档案标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026年度学会工作总结")
|
@NotEmpty(message = "档案标题不能为空")
|
private String title;
|
|
@Schema(description = "档案分类 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@NotNull(message = "档案分类不能为空")
|
private Long categoryId;
|
|
@Schema(description = "密级:1-公开 2-内部 3-保密,为空时取分类默认密级", example = "2")
|
private Integer secretLevel;
|
|
@Schema(description = "载体:1-电子 2-实体 3-电子+实体,为空时取默认值 3", example = "3")
|
private Integer carrierType;
|
|
@Schema(description = "实体-书架号", example = "A")
|
private String shelfNo;
|
|
@Schema(description = "实体-层号", example = "2")
|
private String layerNo;
|
|
@Schema(description = "实体-列号", example = "3")
|
private String columnNo;
|
|
@Schema(description = "实体-册号/档案盒号", example = "B-03")
|
private String boxNo;
|
|
@Schema(description = "实体存放位置描述", example = "3号库房A架2层")
|
private String storePlace;
|
|
@Schema(description = "归档日期,为空时取当天", example = "2026-09-29")
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
private LocalDate archiveDate;
|
|
@Schema(description = "摘要", example = "2026年度学会工作总结及下一年度计划")
|
private String summary;
|
|
@Schema(description = "关键词,英文逗号分隔", example = "工作总结,年度计划")
|
private String tags;
|
|
@Schema(description = "备注")
|
private String remark;
|
|
@Schema(description = "附件 BlobId 列表")
|
private List<Long> blobIds;
|
|
}
|