From ea4c1248a32480d0ef5b95af5ce58e95864f4cd1 Mon Sep 17 00:00:00 2001 From: "liu.zixi" Date: Mon, 24 Nov 2025 11:22:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AF=BE=E7=A8=8B=E5=88=97=E8=A1=A8dao?= =?UTF-8?q?=E5=B1=82=E6=8A=A5=E9=94=99=E7=BB=A7=E7=BB=AD=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/module/course/dao/CourseDao.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java index 0784fc08..244ffc3c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java @@ -196,21 +196,21 @@ public class CourseDao extends BaseDao { 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_base.boe_study_course"); + builder.append("LEFT JOIN (SELECT course_id, COUNT(*) AS studys FROM boe_study_course"); if (filterLearningTime) { builder.append(" WHERE (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"); // 评分聚合(在时间区间内的有效打分) builder.append(System.lineSeparator()); - builder.append("LEFT JOIN (SELECT course_id, AVG(scores) AS score FROM boe_base.boe_grade"); + builder.append("LEFT JOIN (SELECT course_id, AVG(scores) AS score FROM boe_grade"); if (filterLearningTime) { builder.append(" WHERE sys_create_time >= :learningTimeStart AND sys_create_time <= :learningTimeEnd"); } builder.append(" GROUP BY course_id) grd ON c.id = grd.course_id"); // 课件聚合 builder.append(System.lineSeparator()); - builder.append("LEFT JOIN (SELECT course_id, SUM(duration) AS duration_sum FROM boe_base.boe_course_content WHERE deleted = 0 GROUP BY course_id) cc ON c.id = cc.course_id"); + builder.append("LEFT JOIN (SELECT course_id, SUM(duration) AS duration_sum FROM boe_course_content WHERE deleted = 0 GROUP BY course_id) cc ON c.id = cc.course_id"); // where条件 // 第一个条件:deleted = 0 builder.append(System.lineSeparator()); @@ -256,7 +256,7 @@ public class CourseDao extends BaseDao { // 时间筛选逻辑:只有当两个时间参数都提供时才启用学习记录存在性校验 if (filterLearningTime) { builder.append(System.lineSeparator()); - builder.append("AND (:learningTimeStart IS NULL OR :learningTimeEnd IS NULL OR EXISTS (SELECT 1 FROM boe_base.boe_study_course sc WHERE sc.course_id = c.id AND sc.finish_time IS NOT NULL AND sc.add_time >= :learningTimeStart AND sc.finish_time <= :learningTimeEnd))"); + builder.append("AND (:learningTimeStart IS NULL OR :learningTimeEnd IS NULL OR EXISTS (SELECT 1 FROM boe_study_course sc WHERE sc.course_id = c.id AND sc.finish_time IS NOT NULL AND sc.add_time >= :learningTimeStart AND sc.finish_time <= :learningTimeEnd))"); } // 授课教师 if (StringUtils.isNotBlank(queryDTO.getTeacherName())) {