소스 검색

课程查询修改

caozixuan 3 년 전
부모
커밋
d42823ff0d

+ 5 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -125,12 +125,13 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
         IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), courseName, startCreateTime, endCreateTime, enable, schoolId, orgIds);
         List<BasicCourseResult> list = iPage.getRecords();
         for (BasicCourseResult basicCourseResult : list) {
-            String clazzIds = basicCourseResult.getClazzIds();
-            String[] clazzIdArr = clazzIds.split(",");
+            Long courseId = basicCourseResult.getId();
+            List<BasicUserCourse> basicUserCourseList = basicUserCourseService.list(new QueryWrapper<BasicUserCourse>().lambda().eq(BasicUserCourse::getCourseId,courseId));
+            Set<Long> clazzIdSet = basicUserCourseList.stream().map(BasicUserCourse::getClazzId).collect(Collectors.toSet());
             List<ClazzDatasourceResult> clazzDatasourceResultList = new ArrayList<>();
-            for (String id : clazzIdArr) {
+            for (Long id : clazzIdSet) {
                 ClazzDatasourceResult clazzDatasourceResult = new ClazzDatasourceResult();
-                BasicClazz clazz = basicClazzService.getById(SystemConstant.convertIdToLong(id));
+                BasicClazz clazz = basicClazzService.getById(id);
                 clazzDatasourceResult.setId(clazz.getId());
                 clazzDatasourceResult.setCode(clazz.getClazzCode());
                 clazzDatasourceResult.setName(clazz.getClazzName());

+ 7 - 14
teachcloud-common/src/main/resources/mapper/BasicCourseMapper.xml

@@ -60,21 +60,15 @@
     <select id="findBasicCoursePage" resultType="com.qmth.teachcloud.common.bean.result.BasicCourseResult">
         SELECT
             bc.id,
-            MAX(bc.code) AS courseCode,
-            MAX(bc.name) AS courseName,
-            MAX(teaching_room_id) AS teachingRoomId,
-            MAX(org.name) AS teachingRoomName,
-            GROUP_CONCAT(clz.id
-                         SEPARATOR ',') AS clazzIds,
-            MAX(bc.enable) as enable,
-            MAX(bc.create_id) AS createId,
-            MAX(bc.create_time) AS createTime
+            bc.code AS courseCode,
+            bc.name AS courseName,
+            teaching_room_id AS teachingRoomId,
+            org.name AS teachingRoomName,
+            bc.enable AS enable,
+            bc.create_id AS createId,
+            bc.create_time AS createTime
         FROM
             basic_course bc
-                INNER JOIN
-            basic_user_course buc ON bc.id = buc.course_id
-                LEFT JOIN
-            basic_clazz clz ON buc.clazz_id = clz.id AND clz.enable = TRUE
                 LEFT JOIN
             sys_org org ON bc.teaching_room_id = org.id
                 AND org.type = 'TEACHING_ROOM'
@@ -102,7 +96,6 @@
                 </foreach>
             </if>
         </where>
-        GROUP BY bc.id
         ORDER BY createTime DESC
     </select>
     <select id="findExamTaskByCourseCode" resultType="java.util.Map">