serv\web-学习历史修改

This commit is contained in:
2025-10-27 13:42:34 +08:00
parent 74880b429e
commit e50de4a277
31 changed files with 3997 additions and 64 deletions

View File

@@ -0,0 +1,250 @@
package org.xyzh.common.dto.study;
import org.xyzh.common.dto.BaseDTO;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description 学习观看历史表
* @filename TbLearningHistory.java
* @author yslg
* @copyright xyzh
* @since 2025-10-27
*/
public class TbLearningHistory extends BaseDTO {
private static final long serialVersionUID = 1L;
/**
* @description 用户ID
*/
private String userID;
/**
* @description 学习会话ID
*/
private String historyID;
/**
* @description 资源类型1资源/新闻 2课程 3章节 4节点
*/
private Integer resourceType;
/**
* @description 资源ID
*/
private String resourceID;
/**
* @description 课程ID
*/
private String courseID;
/**
* @description 章节ID
*/
private String chapterID;
/**
* @description 节点ID
*/
private String nodeID;
/**
* @description 关联任务ID
*/
private String taskID;
/**
* @description 开始学习时间
*/
private Date startTime;
/**
* @description 结束学习时间
*/
private Date endTime;
/**
* @description 本次学习时长(秒)
*/
private Integer duration;
/**
* @description 开始进度0-100
*/
private BigDecimal startProgress;
/**
* @description 结束进度0-100
*/
private BigDecimal endProgress;
/**
* @description 设备类型web/mobile/app
*/
private String deviceType;
/**
* @description IP地址
*/
private String ipAddress;
/**
* @description 创建者
*/
private String creator;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getHistoryID() {
return historyID;
}
public void setHistoryID(String historyID) {
this.historyID = historyID;
}
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 String getTaskID() {
return taskID;
}
public void setTaskID(String taskID) {
this.taskID = taskID;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getDuration() {
return duration;
}
public void setDuration(Integer duration) {
this.duration = duration;
}
public BigDecimal getStartProgress() {
return startProgress;
}
public void setStartProgress(BigDecimal startProgress) {
this.startProgress = startProgress;
}
public BigDecimal getEndProgress() {
return endProgress;
}
public void setEndProgress(BigDecimal endProgress) {
this.endProgress = endProgress;
}
public String getDeviceType() {
return deviceType;
}
public void setDeviceType(String deviceType) {
this.deviceType = deviceType;
}
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
@Override
public String toString() {
return "TbLearningHistory{" +
"id=" + getID() +
", userID='" + userID + '\'' +
", historyID='" + historyID + '\'' +
", resourceType=" + resourceType +
", resourceID='" + resourceID + '\'' +
", courseID='" + courseID + '\'' +
", chapterID='" + chapterID + '\'' +
", nodeID='" + nodeID + '\'' +
", taskID='" + taskID + '\'' +
", startTime=" + startTime +
", endTime=" + endTime +
", duration=" + duration +
", startProgress=" + startProgress +
", endProgress=" + endProgress +
", deviceType='" + deviceType + '\'' +
", ipAddress='" + ipAddress + '\'' +
", creator='" + creator + '\'' +
", createTime=" + getCreateTime() +
'}';
}
}

View File

@@ -0,0 +1,194 @@
package org.xyzh.common.dto.study;
import org.xyzh.common.dto.BaseDTO;
import java.util.Date;
/**
* @description 学习统计明细表
* @filename TbLearningStatisticsDetail.java
* @author yslg
* @copyright xyzh
* @since 2025-10-27
*/
public class TbLearningStatisticsDetail extends BaseDTO {
private static final long serialVersionUID = 1L;
/**
* @description 用户ID
*/
private String userID;
/**
* @description 统计日期
*/
private Date statDate;
/**
* @description 资源类型1资源/新闻 2课程 3章节
*/
private Integer resourceType;
/**
* @description 资源ID
*/
private String resourceID;
/**
* @description 课程ID
*/
private String courseID;
/**
* @description 章节ID
*/
private String chapterID;
/**
* @description 学习时长(秒)
*/
private Integer totalDuration;
/**
* @description 学习次数
*/
private Integer learnCount;
/**
* @description 是否完成
*/
private Boolean isComplete;
/**
* @description 完成时间
*/
private Date completeTime;
/**
* @description 创建者
*/
private String creator;
/**
* @description 更新者
*/
private String updater;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
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 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 Integer getTotalDuration() {
return totalDuration;
}
public void setTotalDuration(Integer totalDuration) {
this.totalDuration = totalDuration;
}
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;
}
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;
}
@Override
public String toString() {
return "TbLearningStatisticsDetail{" +
"id=" + getID() +
", userID='" + userID + '\'' +
", statDate=" + statDate +
", resourceType=" + resourceType +
", resourceID='" + resourceID + '\'' +
", courseID='" + courseID + '\'' +
", chapterID='" + chapterID + '\'' +
", totalDuration=" + totalDuration +
", learnCount=" + learnCount +
", isComplete=" + isComplete +
", completeTime=" + completeTime +
", creator='" + creator + '\'' +
", updater='" + updater + '\'' +
", createTime=" + getCreateTime() +
", updateTime=" + getUpdateTime() +
'}';
}
}

View File

@@ -0,0 +1,347 @@
package org.xyzh.common.vo;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description 学习历史响应VO
* @filename LearningHistoryVO.java
* @author yslg
* @copyright xyzh
* @since 2025-10-27
*/
public class LearningHistoryVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* @description 历史记录ID
*/
private String id;
/**
* @description 用户ID
*/
private String userID;
/**
* @description 用户名称(关联查询)
*/
private String userName;
/**
* @description 学习会话ID
*/
private String sessionID;
/**
* @description 资源类型1资源/新闻 2课程 3章节 4节点
*/
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 节点ID
*/
private String nodeID;
/**
* @description 节点名称(关联查询)
*/
private String nodeName;
/**
* @description 关联任务ID
*/
private String taskID;
/**
* @description 任务名称(关联查询)
*/
private String taskName;
/**
* @description 开始学习时间
*/
private Date startTime;
/**
* @description 结束学习时间
*/
private Date endTime;
/**
* @description 本次学习时长(秒)
*/
private Integer duration;
/**
* @description 学习时长格式化后1小时20分钟
*/
private String durationFormatted;
/**
* @description 开始进度0-100
*/
private BigDecimal startProgress;
/**
* @description 结束进度0-100
*/
private BigDecimal endProgress;
/**
* @description 设备类型
*/
private String deviceType;
/**
* @description 创建时间
*/
private Date createTime;
// Getters and Setters
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getSessionID() {
return sessionID;
}
public void setSessionID(String sessionID) {
this.sessionID = sessionID;
}
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 String getNodeID() {
return nodeID;
}
public void setNodeID(String nodeID) {
this.nodeID = nodeID;
}
public String getNodeName() {
return nodeName;
}
public void setNodeName(String nodeName) {
this.nodeName = nodeName;
}
public String getTaskID() {
return taskID;
}
public void setTaskID(String taskID) {
this.taskID = taskID;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getDuration() {
return duration;
}
public void setDuration(Integer duration) {
this.duration = duration;
}
public String getDurationFormatted() {
return durationFormatted;
}
public void setDurationFormatted(String durationFormatted) {
this.durationFormatted = durationFormatted;
}
public BigDecimal getStartProgress() {
return startProgress;
}
public void setStartProgress(BigDecimal startProgress) {
this.startProgress = startProgress;
}
public BigDecimal getEndProgress() {
return endProgress;
}
public void setEndProgress(BigDecimal endProgress) {
this.endProgress = endProgress;
}
public String getDeviceType() {
return deviceType;
}
public void setDeviceType(String deviceType) {
this.deviceType = deviceType;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "LearningHistoryVO{" +
"id='" + id + '\'' +
", userID='" + userID + '\'' +
", userName='" + userName + '\'' +
", resourceType=" + resourceType +
", resourceTypeName='" + resourceTypeName + '\'' +
", resourceTitle='" + resourceTitle + '\'' +
", duration=" + duration +
", durationFormatted='" + durationFormatted + '\'' +
", startTime=" + startTime +
", endTime=" + endTime +
'}';
}
}

View File

@@ -0,0 +1,213 @@
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 +
'}';
}
}

View File

@@ -0,0 +1,176 @@
package org.xyzh.common.vo;
import java.io.Serializable;
import java.util.List;
/**
* @description 学习统计响应VO
* @filename LearningStatisticsVO.java
* @author yslg
* @copyright xyzh
* @since 2025-10-27
*/
public class LearningStatisticsVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* @description 用户ID
*/
private String userID;
/**
* @description 统计周期day/week/month
*/
private String period;
/**
* @description 总学习时长(秒)
*/
private Integer totalDuration;
/**
* @description 总学习时长(格式化)
*/
private String totalDurationFormatted;
/**
* @description 学习天数
*/
private Integer learnDays;
/**
* @description 学习资源数量
*/
private Integer resourceCount;
/**
* @description 学习课程数量
*/
private Integer courseCount;
/**
* @description 学习次数
*/
private Integer learnCount;
/**
* @description 完成数量
*/
private Integer completeCount;
/**
* @description 平均每天学习时长(秒)
*/
private Integer avgDailyDuration;
/**
* @description 学习明细列表
*/
private List<LearningStatisticsDetailVO> details;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getPeriod() {
return period;
}
public void setPeriod(String period) {
this.period = period;
}
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 getLearnDays() {
return learnDays;
}
public void setLearnDays(Integer learnDays) {
this.learnDays = learnDays;
}
public Integer getResourceCount() {
return resourceCount;
}
public void setResourceCount(Integer resourceCount) {
this.resourceCount = resourceCount;
}
public Integer getCourseCount() {
return courseCount;
}
public void setCourseCount(Integer courseCount) {
this.courseCount = courseCount;
}
public Integer getLearnCount() {
return learnCount;
}
public void setLearnCount(Integer learnCount) {
this.learnCount = learnCount;
}
public Integer getCompleteCount() {
return completeCount;
}
public void setCompleteCount(Integer completeCount) {
this.completeCount = completeCount;
}
public Integer getAvgDailyDuration() {
return avgDailyDuration;
}
public void setAvgDailyDuration(Integer avgDailyDuration) {
this.avgDailyDuration = avgDailyDuration;
}
public List<LearningStatisticsDetailVO> getDetails() {
return details;
}
public void setDetails(List<LearningStatisticsDetailVO> details) {
this.details = details;
}
@Override
public String toString() {
return "LearningStatisticsVO{" +
"userID='" + userID + '\'' +
", period='" + period + '\'' +
", totalDuration=" + totalDuration +
", totalDurationFormatted='" + totalDurationFormatted + '\'' +
", learnDays=" + learnDays +
", resourceCount=" + resourceCount +
", courseCount=" + courseCount +
", learnCount=" + learnCount +
", completeCount=" + completeCount +
", avgDailyDuration=" + avgDailyDuration +
'}';
}
}