/**
 * 文件分类VO
 */
export interface FileCategoryVO {
  /**
   * 分类ID
   */
  id: number;

  /**
   * 分类名称
   */
  name: string;

  /**
   * 分类编码
   */
  code: string;

  /**
   * 父分类ID（0表示顶级分类）
   */
  parentId: number;

  /**
   * 分类类型（1图片 2视频 3音频 4文档 5其他）
   */
  type: number;

  /**
   * 排序号
   */
  sort: number;

  /**
   * 分类图标
   */
  icon?: string;

  /**
   * 分类描述
   */
  description?: string;

  /**
   * 状态（0正常 1停用）
   */
  status: number;

  /**
   * 删除标志（0代表存在 2代表删除）
   */
  delFlag: number;

  /**
   * 创建时间
   */
  createTime: string;

  /**
   * 更新时间
   */
  updateTime: string;

  /**
   * 子分类列表
   */
  children?: FileCategoryVO[];
}

/**
 * 文件分类表单
 */
export interface FileCategoryForm {
  /**
   * 分类ID
   */
  id?: number;

  /**
   * 分类名称
   */
  name: string;

  /**
   * 分类编码
   */
  code: string;

  /**
   * 父分类ID（0表示顶级分类）
   */
  parentId: number;

  /**
   * 分类类型（1图片 2视频 3音频 4文档 5其他）
   */
  type: number;

  /**
   * 排序号
   */
  sort?: number;

  /**
   * 分类图标
   */
  icon?: string;

  /**
   * 分类描述
   */
  description?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: number;
}

/**
 * 文件分类查询参数
 */
export interface FileCategoryQuery {
  /**
   * 分类名称
   */
  name?: string;

  /**
   * 分类编码
   */
  code?: string;

  /**
   * 父分类ID
   */
  parentId?: number;

  /**
   * 分类类型
   */
  type?: number;

  /**
   * 状态
   */
  status?: number;

  /**
   * 页码
   */
  pageNum?: number;

  /**
   * 每页大小
   */
  pageSize?: number;
}

/**
 * 分页查询参数
 */
export interface PageQuery {
  /**
   * 页码
   */
  pageNum?: number;

  /**
   * 每页大小
   */
  pageSize?: number;
}

/**
 * 分页响应结果
 */
export interface TableDataInfo<T> {
  /**
   * 总记录数
   */
  total: number;

  /**
   * 数据列表
   */
  rows: T[];

  /**
   * 页码
   */
  pageNum: number;

  /**
   * 每页大小
   */
  pageSize: number;
} 