成就等界面接口调整

This commit is contained in:
2025-10-31 19:13:21 +08:00
parent 9ad9507a72
commit 16754b527e
61 changed files with 4748 additions and 592 deletions

View File

@@ -23,6 +23,11 @@ public class TbResourceRecommend extends BaseDTO {
*/
private Integer orderNum;
/**
* @description 推荐类型1-热门资源2-思政资源)
*/
private Integer recommendType;
/**
* @description 推荐理由
*/
@@ -54,6 +59,14 @@ public class TbResourceRecommend extends BaseDTO {
this.orderNum = orderNum;
}
public Integer getRecommendType() {
return recommendType;
}
public void setRecommendType(Integer recommendType) {
this.recommendType = recommendType;
}
public String getReason() {
return reason;
}
@@ -83,6 +96,7 @@ public class TbResourceRecommend extends BaseDTO {
return "TbResourceRecommend{" +
"id=" + getID() +
", resourceID='" + resourceID + '\'' +
", recommendType=" + recommendType +
", orderNum=" + orderNum +
", reason='" + reason + '\'' +
", createTime=" + getCreateTime() +

View File

@@ -0,0 +1,65 @@
package org.xyzh.common.dto.study;
import org.xyzh.common.dto.BaseDTO;
/**
* @description 学习任务标签关联实体
* @filename TbLearningTaskTag.java
* @author yslg
* @copyright xyzh
* @since 2025-10-31
*/
public class TbLearningTaskTag extends BaseDTO {
private static final long serialVersionUID = 1L;
/**
* 任务ID
*/
private String taskID;
/**
* 标签ID
*/
private String tagID;
/**
* 创建者
*/
private String creator;
public String getTaskID() {
return taskID;
}
public void setTaskID(String taskID) {
this.taskID = taskID;
}
public String getTagID() {
return tagID;
}
public void setTagID(String tagID) {
this.tagID = tagID;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
@Override
public String toString() {
return "TbLearningTaskTag{" +
"id='" + getID() + '\'' +
", taskID='" + taskID + '\'' +
", tagID='" + tagID + '\'' +
", creator='" + creator + '\'' +
", createTime=" + getCreateTime() +
'}';
}
}

View File

@@ -0,0 +1,422 @@
package org.xyzh.common.vo;
import java.io.Serializable;
import java.util.Date;
/**
* @description 资源推荐VO用于管理端平铺结构
* @filename ResourceRecommendVO.java
* @author yslg
* @copyright xyzh
* @since 2025-01-XX
*/
public class ResourceRecommendVO implements Serializable {
private static final long serialVersionUID = 1L;
// ==================== 推荐表字段 ====================
/**
* 推荐ID
*/
private String id;
/**
* 资源ID
*/
private String resourceID;
/**
* 推荐类型1-热门资源2-思政资源)
*/
private Integer recommendType;
/**
* 排序号
*/
private Integer orderNum;
/**
* 推荐理由
*/
private String reason;
/**
* 推荐创建者
*/
private String creator;
/**
* 推荐更新者
*/
private String updater;
/**
* 推荐创建时间
*/
private Date createTime;
/**
* 推荐更新时间
*/
private Date updateTime;
/**
* 推荐删除时间
*/
private Date deleteTime;
/**
* 推荐是否删除
*/
private Boolean deleted;
// ==================== 资源表字段 ====================
/**
* 资源标题
*/
private String title;
/**
* 资源简介
*/
private String summary;
/**
* 封面图片
*/
private String coverImage;
/**
* 标签ID文章分类标签tagType=1
*/
private String tagID;
/**
* 作者
*/
private String author;
/**
* 来源
*/
private String source;
/**
* 来源URL
*/
private String sourceUrl;
/**
* 浏览次数
*/
private Integer viewCount;
/**
* 点赞次数
*/
private Integer likeCount;
/**
* 收藏次数
*/
private Integer collectCount;
/**
* 状态0草稿 1已发布 2下架
*/
private Integer status;
/**
* 是否推荐
*/
private Boolean isRecommend;
/**
* 是否轮播
*/
private Boolean isBanner;
/**
* 发布时间
*/
private Date publishTime;
/**
* 资源创建者
*/
private String resourceCreator;
/**
* 资源更新者
*/
private String resourceUpdater;
/**
* 资源创建时间
*/
private Date resourceCreateTime;
/**
* 资源更新时间
*/
private Date resourceUpdateTime;
/**
* 当前用户是否有读权限
*/
private Boolean canRead;
/**
* 当前用户是否有写权限
*/
private Boolean canWrite;
// ==================== Getter and Setter ====================
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getResourceID() {
return resourceID;
}
public void setResourceID(String resourceID) {
this.resourceID = resourceID;
}
public Integer getRecommendType() {
return recommendType;
}
public void setRecommendType(Integer recommendType) {
this.recommendType = recommendType;
}
public Integer getOrderNum() {
return orderNum;
}
public void setOrderNum(Integer orderNum) {
this.orderNum = orderNum;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
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 getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
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;
}
public Boolean getDeleted() {
return deleted;
}
public void setDeleted(Boolean deleted) {
this.deleted = deleted;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getCoverImage() {
return coverImage;
}
public void setCoverImage(String coverImage) {
this.coverImage = coverImage;
}
public String getTagID() {
return tagID;
}
public void setTagID(String tagID) {
this.tagID = tagID;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getSourceUrl() {
return sourceUrl;
}
public void setSourceUrl(String sourceUrl) {
this.sourceUrl = sourceUrl;
}
public Integer getViewCount() {
return viewCount;
}
public void setViewCount(Integer viewCount) {
this.viewCount = viewCount;
}
public Integer getLikeCount() {
return likeCount;
}
public void setLikeCount(Integer likeCount) {
this.likeCount = likeCount;
}
public Integer getCollectCount() {
return collectCount;
}
public void setCollectCount(Integer collectCount) {
this.collectCount = collectCount;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Boolean getIsRecommend() {
return isRecommend;
}
public void setIsRecommend(Boolean isRecommend) {
this.isRecommend = isRecommend;
}
public Boolean getIsBanner() {
return isBanner;
}
public void setIsBanner(Boolean isBanner) {
this.isBanner = isBanner;
}
public Date getPublishTime() {
return publishTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
public String getResourceCreator() {
return resourceCreator;
}
public void setResourceCreator(String resourceCreator) {
this.resourceCreator = resourceCreator;
}
public String getResourceUpdater() {
return resourceUpdater;
}
public void setResourceUpdater(String resourceUpdater) {
this.resourceUpdater = resourceUpdater;
}
public Date getResourceCreateTime() {
return resourceCreateTime;
}
public void setResourceCreateTime(Date resourceCreateTime) {
this.resourceCreateTime = resourceCreateTime;
}
public Date getResourceUpdateTime() {
return resourceUpdateTime;
}
public void setResourceUpdateTime(Date resourceUpdateTime) {
this.resourceUpdateTime = resourceUpdateTime;
}
public Boolean getCanRead() {
return canRead;
}
public void setCanRead(Boolean canRead) {
this.canRead = canRead;
}
public Boolean getCanWrite() {
return canWrite;
}
public void setCanWrite(Boolean canWrite) {
this.canWrite = canWrite;
}
}

View File

@@ -23,6 +23,16 @@ public class ResourceVO implements Serializable{
* 资源标签列表(包含文章分类标签 tag_type=1
*/
private List<TbTag> tags;
/**
* 是否推荐(用于首页展示)
*/
private Boolean isRecommended;
/**
* 推荐类型1-热门资源2-思政资源)
*/
private Integer recommendType;
public TbResource getResource() {
return resource;
@@ -39,4 +49,20 @@ public class ResourceVO implements Serializable{
public void setTags(List<TbTag> tags) {
this.tags = tags;
}
public Boolean getIsRecommended() {
return isRecommended;
}
public void setIsRecommended(Boolean isRecommended) {
this.isRecommended = isRecommended;
}
public Integer getRecommendType() {
return recommendType;
}
public void setRecommendType(Integer recommendType) {
this.recommendType = recommendType;
}
}

View File

@@ -4,6 +4,7 @@ import org.xyzh.common.dto.BaseDTO;
import org.xyzh.common.dto.study.TbLearningTask;
import org.xyzh.common.dto.study.TbTaskItem;
import org.xyzh.common.dto.study.TbTaskUser;
import org.xyzh.common.dto.resource.TbTag;
import java.util.List;
import java.util.stream.Collectors;
@@ -15,6 +16,7 @@ public class TaskVO extends BaseDTO{
private List<TaskItemVO> taskCourses;
private List<TaskItemVO> taskResources;
private List<TaskItemVO> taskUsers;
private List<TagVO> taskTags;
private Integer totalTaskNum;
private Integer completedTaskNum;
private Integer learningTaskNum;
@@ -85,6 +87,14 @@ public class TaskVO extends BaseDTO{
public List<TbTaskUser> toTaskUsers() {
return getTaskUsers().stream().map(TaskItemVO::toTaskUser).collect(Collectors.toList());
}
public List<TagVO> getTaskTags() {
return taskTags;
}
public void setTaskTags(List<TagVO> taskTags) {
this.taskTags = taskTags;
}
public void setTaskItemList(List<TbTaskItem> taskItems) {
if (taskItems == null) {

View File

@@ -0,0 +1,359 @@
package org.xyzh.common.vo;
import org.xyzh.common.dto.BaseDTO;
import java.util.Date;
/**
* @description 用户收藏VO - 扁平化收藏信息和关联资源/课程详情
* @filename UserCollectionVO.java
* @author yslg
* @copyright xyzh
* @since 2025-10-31
*/
public class UserCollectionVO extends BaseDTO {
private static final long serialVersionUID = 1L;
// ========== 收藏基本信息 ==========
/**
* @description 用户ID
*/
private String userID;
/**
* @description 收藏类型1资源 2课程
*/
private Integer collectionType;
/**
* @description 收藏对象ID
*/
private String collectionID;
private Integer collectionValue;
/**
* @description 收藏时间
*/
private Date collectionTime;
// ========== 资源详情collectionType=1时有效 ==========
/**
* @description 资源ID
*/
private String resourceID;
/**
* @description 资源标题
*/
private String title;
/**
* @description 资源内容
*/
private String content;
/**
* @description 资源简介
*/
private String summary;
/**
* @description 封面图片
*/
private String coverImage;
/**
* @description 标签ID
*/
private String tagID;
/**
* @description 作者
*/
private String author;
/**
* @description 来源
*/
private String source;
/**
* @description 浏览次数
*/
private Integer viewCount;
/**
* @description 点赞次数
*/
private Integer likeCount;
/**
* @description 收藏次数
*/
private Integer collectCount;
/**
* @description 资源状态
*/
private Integer status;
/**
* @description 发布时间
*/
private Date publishTime;
// ========== 课程详情collectionType=2时有效 ==========
/**
* @description 课程ID
*/
private String courseID;
/**
* @description 课程名称
*/
private String courseName;
/**
* @description 课程描述
*/
private String description;
/**
* @description 课程时长(分钟)
*/
private Integer duration;
/**
* @description 授课老师
*/
private String teacher;
/**
* @description 课程状态
*/
private Integer courseStatus;
/**
* @description 学习人数
*/
private Integer learnCount;
// ========== Getters and Setters ==========
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public Integer getCollectionType() {
return collectionType;
}
public void setCollectionType(Integer collectionType) {
this.collectionType = collectionType;
}
public String getCollectionID() {
return collectionID;
}
public void setCollectionID(String collectionID) {
this.collectionID = collectionID;
}
public Integer getCollectionValue() {
return collectionValue;
}
public void setCollectionValue(Integer collectionValue) {
this.collectionValue = collectionValue;
}
public Date getCollectionTime() {
return collectionTime;
}
public void setCollectionTime(Date collectionTime) {
this.collectionTime = collectionTime;
}
public String getResourceID() {
return resourceID;
}
public void setResourceID(String resourceID) {
this.resourceID = resourceID;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getCoverImage() {
return coverImage;
}
public void setCoverImage(String coverImage) {
this.coverImage = coverImage;
}
public String getTagID() {
return tagID;
}
public void setTagID(String tagID) {
this.tagID = tagID;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public Integer getViewCount() {
return viewCount;
}
public void setViewCount(Integer viewCount) {
this.viewCount = viewCount;
}
public Integer getLikeCount() {
return likeCount;
}
public void setLikeCount(Integer likeCount) {
this.likeCount = likeCount;
}
public Integer getCollectCount() {
return collectCount;
}
public void setCollectCount(Integer collectCount) {
this.collectCount = collectCount;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getPublishTime() {
return publishTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
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 getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getDuration() {
return duration;
}
public void setDuration(Integer duration) {
this.duration = duration;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public Integer getCourseStatus() {
return courseStatus;
}
public void setCourseStatus(Integer courseStatus) {
this.courseStatus = courseStatus;
}
public Integer getLearnCount() {
return learnCount;
}
public void setLearnCount(Integer learnCount) {
this.learnCount = learnCount;
}
@Override
public String toString() {
return "UserCollectionVO{" +
"id=" + getID() +
", userID='" + userID + '\'' +
", collectionType=" + collectionType +
", collectionID='" + collectionID + '\'' +
", collectionTime=" + collectionTime +
", resourceID='" + resourceID + '\'' +
", title='" + title + '\'' +
", courseID='" + courseID + '\'' +
", courseName='" + courseName + '\'' +
'}';
}
}