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 资源类型（1资源 2课程 3章节）
     */
    private Integer resourceType;
    
    /**
     * @description 资源ID
     */
    private String resourceID;
    
    /**
     * @description 任务ID
     */
    private String taskID;
    
    /**
     * @description 学习时长（秒）
     */
    private Integer duration;
    
    /**
     * @description 学习进度（0-100）
     */
    private BigDecimal progress;
    
    /**
     * @description 是否完成
     */
    private Boolean isComplete;
    
    /**
     * @description 完成时间
     */
    private Date completeTime;
    
    /**
     * @description 最后学习时间
     */
    private Date lastLearnTime;

    public String getUserID() {
        return userID;
    }

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

    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 getTaskID() {
        return taskID;
    }

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

    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;
    }

    @Override
    public String toString() {
        return "TbLearningRecord{" +
                "id=" + getID() +
                ", userID='" + userID + '\'' +
                ", resourceType=" + resourceType +
                ", resourceID='" + resourceID + '\'' +
                ", taskID='" + taskID + '\'' +
                ", duration=" + duration +
                ", progress=" + progress +
                ", isComplete=" + isComplete +
                ", lastLearnTime=" + lastLearnTime +
                '}';
    }
}
