package org.springblade.system.domain.vo;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author：liang.chao
 * @Date：2025/9/9 - 14:18
 * 档案目录实体
 */
@Data
public class ArchivalCatalogueVo {
    private Integer id;
    @NotBlank(message = "分类名称或文件题名不能为空")
    @Length(max = 64, message = "分类名称或文件题名长度不能超过64个字符")
    private String contentName;
    private String parentName;
    @NotNull(message = "上级节点不能为空")
    private Integer parentId;
    private Integer level;
    @NotNull(message = "分类号/案卷排序号不能为空")
    private Integer sort;
    private String markCode;
    private String term;
    private String unitName;
    private String major;
    private String classifyMark;
    private String createTime;
    private String updateTime;
    private String createUserId;
    private String createUserName;
    private String updateUserId;
    private String updateUserName;
    private String delFlag;
    // 子节点列表（用于构建树）
    private List<ArchivalCatalogueVo> children = new ArrayList<>();
}
