diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java index 7c9f2e9b..200a8d4e 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CourseManagementServiceImpl.java @@ -62,7 +62,7 @@ public class CourseManagementServiceImpl extends ServiceImpl convert = page.convert(courseManagementConvertor::convertEToVo); Map collectMap = classCourseMapper.selectList(new LambdaQueryWrapper() .in(ClassCourseDO::getCourseId, convert.getRecords().stream().map(CourseManagementVO::getId))) - .stream().collect(Collectors.toMap(ClassCourseDO::getCourseId, v -> 1)); + .stream().map(ClassCourseDO::getCourseId).distinct().collect(Collectors.toMap(v -> v, v -> 1)); convert.getRecords().forEach(vo -> { vo.setCourseRelCoursewareVOList(courseRelCoursewareConvertor.convertEListToVoList( courseRelCoursewareMapper.selectList(new LambdaQueryWrapper() @@ -81,11 +81,15 @@ public class CourseManagementServiceImpl extends ServiceImpl collectMap = classCourseMapper.selectList(new LambdaQueryWrapper() + .eq(ClassCourseDO::getCourseId, courseManagementVO.getId())) + .stream().map(ClassCourseDO::getCourseId).distinct().collect(Collectors.toMap(v -> v, v -> 1)); courseManagementVO.setCourseRelCoursewareVOList(courseRelCoursewareConvertor.convertEListToVoList( courseRelCoursewareMapper.selectList(new LambdaQueryWrapper() .eq(CourseRelCoursewareDO::getCourseId, courseManagementVO.getId()) .orderByAsc(CourseRelCoursewareDO::getSort)) )); + courseManagementVO.setUsed(Math.toIntExact(collectMap.getOrDefault(Long.valueOf(courseManagementVO.getId()), 0))); return courseManagementVO; }