package org.xyzh.common.dto.study;

import org.xyzh.common.dto.BaseDTO;
import java.util.Date;

/**
 * @description 学习节点表
 * @filename TbCourseNode.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-21
 */
public class TbCourseNode extends BaseDTO {
    
    private static final long serialVersionUID = 1L;

    private String nodeID;
    
    /**
     * @description 章节ID
     */
    private String chapterID;
    
    /**
     * @description 节点名称
     */
    private String name;
    
    /**
     * @description 节点内容
     */
    private String content;
    
    /**
     * @description 节点类型（1视频 2文档 3音频 4图片 5链接）
     */
    private Integer nodeType;
    
    /**
     * @description 资源ID
     */
    private String resourceID;
    
    /**
     * @description 视频URL
     */
    private String videoUrl;
    
    /**
     * @description 节点时长（分钟）
     */
    private Integer duration;
    
    /**
     * @description 排序号
     */
    private Integer orderNum;
    
    /**
     * @description 是否必修（1必修 0选修）
     */
    private Integer isRequired;
    
    /**
     * @description 创建者
     */
    private String creator;
    
    /**
     * @description 更新者
     */
    private String updater;
    
    /**
     * @description 更新时间
     */
    private Date updateTime;
    
    /**
     * @description 删除时间
     */
    private Date deleteTime;
    
    /**
     * @description 是否删除
     */
    private Boolean deleted;

    public String getNodeID() {
        return nodeID;
    }

    public void setNodeID(String nodeID) {
        this.nodeID = nodeID;
    }

    public String getChapterID() {
        return chapterID;
    }

    public void setChapterID(String chapterID) {
        this.chapterID = chapterID;
    }

    public String getName() {
        return name;
    }

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

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getNodeType() {
        return nodeType;
    }

    public void setNodeType(Integer nodeType) {
        this.nodeType = nodeType;
    }

    public String getResourceID() {
        return resourceID;
    }

    public void setResourceID(String resourceID) {
        this.resourceID = resourceID;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public Integer getDuration() {
        return duration;
    }

    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getIsRequired() {
        return isRequired;
    }

    public void setIsRequired(Integer isRequired) {
        this.isRequired = isRequired;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    @Override
    public String toString() {
        return "TbCourseNode{" +
                "id=" + getID() +
                ", nodeID='" + nodeID + '\'' +
                ", chapterID='" + chapterID + '\'' +
                ", name='" + name + '\'' +
                ", content='" + content + '\'' +
                ", nodeType=" + nodeType +
                ", resourceID='" + resourceID + '\'' +
                ", videoUrl='" + videoUrl + '\'' +
                ", duration=" + duration +
                ", orderNum=" + orderNum +
                ", isRequired=" + isRequired +
                '}';
    }
}

