fix: 课程列表学习人数只统计学习中的,即status > 1

This commit is contained in:
liu.zixi
2025-12-11 19:35:01 +08:00
parent cbebcc6da8
commit fd9899fb05

View File

@@ -243,9 +243,9 @@ public class CourseDao extends BaseDao<Course> {
builder.append("LEFT JOIN (SELECT course_id, GROUP_CONCAT(teacher_name ORDER BY id SEPARATOR '、') AS teacher_names FROM boe_course_teacher GROUP BY course_id) tch ON c.id = tch.course_id");
// 学习人数聚合(满足时间条件的学习记录,且学习记录有效)
builder.append(System.lineSeparator());
builder.append("LEFT JOIN (SELECT course_id, COUNT(*) AS studys FROM boe_study_course");
builder.append("LEFT JOIN (SELECT course_id, COUNT(*) AS studys FROM boe_study_course WHERE status > 1");
if (filterLearningTime) {
builder.append(" WHERE (add_time >= :learningTimeStart AND add_time <= :learningTimeEnd) OR (finish_time >= :learningTimeStart AND finish_time <= :learningTimeEnd)");
builder.append(" AND (add_time >= :learningTimeStart AND add_time <= :learningTimeEnd) OR (finish_time >= :learningTimeStart AND finish_time <= :learningTimeEnd)");
}
builder.append(" GROUP BY course_id) stu ON c.id = stu.course_id");
// 评分聚合(在时间区间内的有效打分)