package org.xyzh.common.vo;

import java.io.Serializable;
import java.util.Date;

/**
 * @description 学习统计明细VO
 * @filename LearningStatisticsDetailVO.java
 * @author yslg
 * @copyright xyzh
 * @since 2025-10-27
 */
public class LearningStatisticsDetailVO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * @description 统计日期
     */
    private Date statDate;
    
    /**
     * @description 资源类型（1资源/新闻 2课程 3章节）
     */
    private Integer resourceType;
    
    /**
     * @description 资源类型名称
     */
    private String resourceTypeName;
    
    /**
     * @description 资源ID
     */
    private String resourceID;
    
    /**
     * @description 资源标题
     */
    private String resourceTitle;

    /**
     * @description 课程ID
     */
    private String courseID;
    
    /**
     * @description 课程名称
     */
    private String courseName;

    /**
     * @description 章节ID
     */
    private String chapterID;
    
    /**
     * @description 章节名称
     */
    private String chapterName;
    
    /**
     * @description 学习时长（秒）
     */
    private Integer totalDuration;
    
    /**
     * @description 学习时长（格式化）
     */
    private String totalDurationFormatted;
    
    /**
     * @description 学习次数
     */
    private Integer learnCount;
    
    /**
     * @description 是否完成
     */
    private Boolean isComplete;
    
    /**
     * @description 完成时间
     */
    private Date completeTime;

    public Date getStatDate() {
        return statDate;
    }

    public void setStatDate(Date statDate) {
        this.statDate = statDate;
    }

    public Integer getResourceType() {
        return resourceType;
    }

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

    public String getResourceTypeName() {
        return resourceTypeName;
    }

    public void setResourceTypeName(String resourceTypeName) {
        this.resourceTypeName = resourceTypeName;
    }

    public String getResourceID() {
        return resourceID;
    }

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

    public String getResourceTitle() {
        return resourceTitle;
    }

    public void setResourceTitle(String resourceTitle) {
        this.resourceTitle = resourceTitle;
    }

    public String getCourseID() {
        return courseID;
    }

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

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getChapterID() {
        return chapterID;
    }

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

    public String getChapterName() {
        return chapterName;
    }

    public void setChapterName(String chapterName) {
        this.chapterName = chapterName;
    }

    public Integer getTotalDuration() {
        return totalDuration;
    }

    public void setTotalDuration(Integer totalDuration) {
        this.totalDuration = totalDuration;
    }

    public String getTotalDurationFormatted() {
        return totalDurationFormatted;
    }

    public void setTotalDurationFormatted(String totalDurationFormatted) {
        this.totalDurationFormatted = totalDurationFormatted;
    }

    public Integer getLearnCount() {
        return learnCount;
    }

    public void setLearnCount(Integer learnCount) {
        this.learnCount = learnCount;
    }

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

    @Override
    public String toString() {
        return "LearningStatisticsDetailVO{" +
                "statDate=" + statDate +
                ", resourceType=" + resourceType +
                ", resourceTypeName='" + resourceTypeName + '\'' +
                ", resourceTitle='" + resourceTitle + '\'' +
                ", totalDuration=" + totalDuration +
                ", totalDurationFormatted='" + totalDurationFormatted + '\'' +
                ", learnCount=" + learnCount +
                ", isComplete=" + isComplete +
                '}';
    }
}

