package com.ruoyi.ie.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.ArrayList;
import java.util.List;

public class KnowledgeTree
{
    private static final long serialVersionUID = 1L;

    /** 章节id */
    private Long id;

    /** 章节名称 */
    @Excel(name = "章节名称")
    private String name;

    /** 父id */
    @Excel(name = "父id")
    private Long pid;

    /** 科目id */
    @Excel(name = "科目id")
    private Long subjectId;

    /** 学段Id */
    @Excel(name = "学段Id")
    private Long pharseId;


    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 旧版本平行目录id */
    private String oldId;


    private Integer level;
    private Integer videoKnowledgeId;
    private Integer questionsCount;

    private String uniqueCode;
    private String location;
    private String examineeType;

    /** 知识点树 */
    private List<KnowledgeTree> children = new ArrayList<KnowledgeTree>();

    private List<Long> pids;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public Long getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Long subjectId) {
        this.subjectId = subjectId;
    }

    public Long getPharseId() {
        return pharseId;
    }

    public void setPharseId(Long pharseId) {
        this.pharseId = pharseId;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public String getOldId() {
        return oldId;
    }

    public void setOldId(String oldId) {
        this.oldId = oldId;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getQuestionsCount() {
        return questionsCount;
    }

    public void setQuestionsCount(Integer questionsCount) {
        this.questionsCount = questionsCount;
    }

    public String getUniqueCode() {
        return uniqueCode;
    }

    public void setUniqueCode(String uniqueCode) {
        this.uniqueCode = uniqueCode;
    }

    public List<KnowledgeTree> getChildren() {
        return children;
    }

    public void setChildren(List<KnowledgeTree> children) {
        this.children = children;
    }

    public List<Long> getPids() {
        return pids;
    }

    public void setPids(List<Long> pids) {
        this.pids = pids;
    }

    public Integer getVideoKnowledgeId() {
        return videoKnowledgeId;
    }

    public void setVideoKnowledgeId(Integer videoKnowledgeId) {
        this.videoKnowledgeId = videoKnowledgeId;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getExamineeType() {
        return examineeType;
    }

    public void setExamineeType(String examineeType) {
        this.examineeType = examineeType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("pid", getPid())
            .append("subjectId", getSubjectId())
            .append("pharseId", getPharseId())
            .append("sort", getSort())
            .append("oldId", getOldId())
            .append("level", getLevel())
            .append("uniqueCode", getUniqueCode())
            .append("children", getChildren())
            .toString();
    }
}
