package com.zt.plat.module.base.controller.admin.doctemplate.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 模板分类 Response VO")
@Data
public class DocTemplateCategoryRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Long id;

    @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "采购类")
    private String categoryName;

    @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "PURCHASE")
    private String categoryCode;

    @Schema(description = "父分类ID", example = "1")
    private Long parentId;

    @Schema(description = "层级（1=大类，2=小类）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer level;

    @Schema(description = "排序号", example = "1")
    private Integer sort;

    @Schema(description = "备注", example = "采购业务相关文档分类")
    private String remark;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "创建人ID", example = "1")
    private String creator;

    @Schema(description = "创建人名称", example = "管理员")
    private String creatorName;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "更新人ID", example = "1")
    private String updater;

    @Schema(description = "更新人名称", example = "管理员")
    private String updaterName;

    @Schema(description = "子分类列表")
    private List<DocTemplateCategoryRespVO> children;

}
