feat: 🎸 课程列表按最新\最热\推荐排序

This commit is contained in:
GoCo 2025-08-29 17:21:42 +08:00
parent bf470b1c79
commit 42eb767979

View File

@ -33,8 +33,8 @@ import org.jeecg.modules.gen.resource.entity.Resource;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.Comparator;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -55,8 +55,27 @@ public class CourseBizController {
public Result<List<CourseWithTeacherInfo>> queryCourseList( public Result<List<CourseWithTeacherInfo>> queryCourseList(
@RequestParam(value = "categoryId", required = false) String categoryId, @RequestParam(value = "categoryId", required = false) String categoryId,
@RequestParam(value = "difficulty", required = false) String difficulty, @RequestParam(value = "difficulty", required = false) String difficulty,
@RequestParam(value = "subject", required = false) String topic) { @RequestParam(value = "subject", required = false) String topic,
@RequestParam(value = "sort", required = false) String sort) {
List<CourseWithTeacherInfo> list = courseBizService.getCourseList(categoryId, difficulty, topic); List<CourseWithTeacherInfo> list = courseBizService.getCourseList(categoryId, difficulty, topic);
if (sort != null) {
switch (sort) {
case "hottest":
list = list.stream()
.sorted(Comparator.comparing(Course::getEnrollCount, Comparator.nullsLast(Integer::compareTo)).reversed())
.collect(Collectors.toList());
break;
case "latest":
list = list.stream()
.sorted(Comparator.comparing(Course::getCreateTime, Comparator.nullsLast(java.util.Date::compareTo)).reversed())
.collect(Collectors.toList());
break;
case "recommend":
default:
// 不处理直接返回
break;
}
}
return Result.OK(list); return Result.OK(list);
} }