package com.zhongshu.card.client.model.org;

import com.zhongshu.card.client.model.base.SuperModel;
import com.zhongshu.card.client.type.DataState;
import com.zhongshu.card.client.utils.ITree;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author TRX
 * @date 2024/6/3
 */
@Data
public class DepartmentModel extends SuperModel implements ITree<DepartmentModel>, Serializable {

    @Schema(description = "部门名称")
    private String name;

    @Schema(description = "部门编码")
    private String code;

    @Schema(description = "部门状态")
    private DataState state = DataState.Enable;

    @Schema(description = "上级ID")
    private String parentId;

    @Schema(description = "子层级")
    private List<DepartmentModel> children = new ArrayList<>();
}
