package com.auth.model.base.dto;

import com.auth.common.model.common.BasePageDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "DeptDTO-部门表传输对象", title = "部门表", description = "部门表的DTO对象")
public class DeptDto extends BasePageDto {

    @Schema(name = "parentId", title = "父级id")
    private Long parentId;

    @Schema(name = "manager", title = "管理者id")
    private String manager;

    @Schema(name = "deptName", title = "部门名称")
    private String deptName;

    @Schema(name = "summary", title = "部门简介")
    private String summary;

    @Schema(name = "isDeleted", title = "是否删除")
    private Boolean isDeleted;

    @Schema(name = "deptCode", title = "部门编码(唯一标识)")
    private String deptCode;

    @Schema(name = "deptLevel", title = "部门层级(从1开始)")
    private Integer deptLevel;

    @Schema(name = "deptPath", title = "部门路径(存储所有父级ID，用逗号分隔)")
    private String deptPath;

    @Schema(name = "managerIds", title = "管理者ID列表(多个ID用逗号分隔)")
    private String managerIds;

    @Schema(name = "orderNum", title = "显示顺序")
    private Integer orderNum;

    @Schema(name = "status", title = "状态(0=停用 1=启用)")
    private Boolean status;

    @Schema(name = "remark", title = "备注信息")
    private String remark;

}