package com.example.demo.model;

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

import java.util.List;

/**
 * 部门实体模型。
 *
 * <p>对应系统部门，支持树形结构，可包含子部门列表。</p>
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "部门实体")
public class Dept {

    /** 部门ID */
    @Schema(description = "部门ID")
    private Long deptId;

    /** 部门名称 */
    @Schema(description = "部门名称")
    private String deptName;

    /** 上级部门ID */
    @Schema(description = "上级部门ID")
    private Long parentId;

    /** 排序号 */
    @Schema(description = "排序号")
    private Integer sortOrder;

    /** 状态：0-禁用，1-启用 */
    @Schema(description = "状态：0-禁用，1-启用")
    private Integer status;

    /** 子部门列表（树形结构时使用） */
    @Schema(description = "子部门列表（树形结构）")
    private List<Dept> children;
}
