package org.xyzh.common.dto.study;

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

/**
 * @description 学习记录表
 * @filename TbLearningRecord.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-15
 */
public class TbLearningRecord extends BaseDTO {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 用户ID
     */
    private String userID;

    /**
     * @description 任务ID
     */
    private String taskID;
    
    /**
     * @description 资源类型（1资源 2课程 3章节）
     */
    private Integer resourceType;
    
    /**
     * @description 资源ID
     */
    private String resourceID;

    /**
     * @description 课程ID
     */
    private String courseID;

    /**
     * @description 章节ID
     */
    private String chapterID;

    /**
     * @description 节点ID
     */
    private String nodeID;
    
    /**
     * @description 学习时长（秒）
     */
    private Integer duration;
    
    /**
     * @description 学习进度（0-100）
     */
    private BigDecimal progress;
    
    /**
     * @description 是否完成
     */
    private Boolean isComplete;
    
    /**
     * @description 完成时间
     */
    private Date completeTime;
    
    /**
     * @description 最后学习时间
     */
    private Date lastLearnTime;
    
    /**
     * @description 创建者
     */
    private String creator;
    
    /**
     * @description 更新者
     */
    private String updater;
    
    /**
     * @description 更新时间
     */
    private Date updateTime;
    
    /**
     * @description 删除时间
     */
    private Date deleteTime;

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getTaskID() {
        return taskID;
    }

    public void setTaskID(String taskID) {
        this.taskID = taskID;
    }

    public Integer getResourceType() {
        return resourceType;
    }

    public void setResourceType(Integer resourceType) {
        this.resourceType = resourceType;
    }

    public String getResourceID() {
        return resourceID;
    }

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

    

    public String getCourseID() {
      return courseID;
    }

    public void setCourseID(String courseID) {
      this.courseID = courseID;
    }

    public String getChapterID() {
      return chapterID;
    }

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

    public String getNodeID() {
      return nodeID;
    }

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

    public Integer getDuration() {
        return duration;
    }

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

    public BigDecimal getProgress() {
        return progress;
    }

    public void setProgress(BigDecimal progress) {
        this.progress = progress;
    }

    public Boolean getIsComplete() {
        return isComplete;
    }

    public void setIsComplete(Boolean isComplete) {
        this.isComplete = isComplete;
    }

    public Date getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    public Date getLastLearnTime() {
        return lastLearnTime;
    }

    public void setLastLearnTime(Date lastLearnTime) {
        this.lastLearnTime = lastLearnTime;
    }

    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 "TbLearningRecord{" +
                "id=" + getID() +
                ", userID='" + userID + '\'' +
                ", taskID='" + taskID + '\'' +
                ", resourceType=" + resourceType +
                ", resourceID='" + resourceID + '\'' +
                ", courseID='" + courseID + '\'' +
                ", chapterID='" + chapterID + '\'' +
                ", nodeID='" + nodeID + '\'' +
                ", duration=" + duration +
                ", progress=" + progress +
                ", isComplete=" + isComplete +
                ", lastLearnTime=" + lastLearnTime +
                '}';
    }
}
