|
@@ -3470,7 +3470,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
}
|
|
}
|
|
MapUtil.populateMap(params, queryInfo);
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
- List dataList = null;
|
|
|
|
|
|
+ List<StudentCourseScheduleRecordDto> dataList = null;
|
|
int count = courseScheduleDao.countStudentCourseScheduleRecords(params);
|
|
int count = courseScheduleDao.countStudentCourseScheduleRecords(params);
|
|
if (count > 0) {
|
|
if (count > 0) {
|
|
pageInfo.setTotal(count);
|
|
pageInfo.setTotal(count);
|
|
@@ -3764,6 +3764,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
cttnMap = courseScheduleTeacherSalaries.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId, Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole, Collectors.mapping(CourseScheduleTeacherSalary::getUserName, Collectors.toSet()))));
|
|
cttnMap = courseScheduleTeacherSalaries.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId, Collectors.groupingBy(CourseScheduleTeacherSalary::getTeacherRole, Collectors.mapping(CourseScheduleTeacherSalary::getUserName, Collectors.toSet()))));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 课程组信息
|
|
|
|
+ Map<String, ImLiveBroadcastRoomDto> liveRoomMap = getCourseLiveRoomMap(dataList);
|
|
|
|
+
|
|
for (TeacherClassCourseSchudeleDto e : dataList) {
|
|
for (TeacherClassCourseSchudeleDto e : dataList) {
|
|
e.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(e.getClassGroupId().intValue(),new Date()));
|
|
e.setCurrentClassTimes(courseScheduleDao.countCurrentTimes(e.getClassGroupId().intValue(),new Date()));
|
|
e.setTotalClassTimes(courseScheduleDao.countCurrentCourseTime(e.getCourseScheduleId()));
|
|
e.setTotalClassTimes(courseScheduleDao.countCurrentCourseTime(e.getCourseScheduleId()));
|
|
@@ -3777,6 +3780,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
if(cttnMap.containsKey(e.getCourseScheduleId())&&cttnMap.get(e.getCourseScheduleId()).containsKey(TeachTypeEnum.TEACHING)){
|
|
if(cttnMap.containsKey(e.getCourseScheduleId())&&cttnMap.get(e.getCourseScheduleId()).containsKey(TeachTypeEnum.TEACHING)){
|
|
e.setTeachingNames(StringUtils.join(cttnMap.get(e.getCourseScheduleId()).get(TeachTypeEnum.TEACHING), ","));
|
|
e.setTeachingNames(StringUtils.join(cttnMap.get(e.getCourseScheduleId()).get(TeachTypeEnum.TEACHING), ","));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 直播课直播间配置
|
|
|
|
+ if (liveRoomMap.containsKey(e.getMusicGroupId())) {
|
|
|
|
+ e.setOs(liveRoomMap.get(e.getMusicGroupId()).getOs());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (count == 0) {
|
|
if (count == 0) {
|
|
@@ -3786,6 +3794,35 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
return pageInfo;
|
|
return pageInfo;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 课程直播配置
|
|
|
|
+ * @param dataList List<TeacherClassCourseSchudeleDto>
|
|
|
|
+ * @return Map<String, ImLiveBroadcastRoomDto>
|
|
|
|
+ */
|
|
|
|
+ public Map<String, ImLiveBroadcastRoomDto> getCourseLiveRoomMap(List<TeacherClassCourseSchudeleDto> dataList) {
|
|
|
|
+
|
|
|
|
+ Map<String, ImLiveBroadcastRoomDto> liveRoomMap = Maps.newHashMap();
|
|
|
|
+ {
|
|
|
|
+ Map<Long, String> collect = dataList.stream()
|
|
|
|
+ .filter(x -> StringUtils.isNotEmpty(x.getMusicGroupId()))
|
|
|
|
+ .filter(x -> x.getType().equals(CourseScheduleType.LIVE))
|
|
|
|
+ .collect(Collectors.toMap(TeacherClassCourseSchudeleDto::getId, TeacherClassCourseSchudeleDto::getMusicGroupId, (o, n) -> n));
|
|
|
|
+
|
|
|
|
+ if (MapUtils.isNotEmpty(collect)) {
|
|
|
|
+
|
|
|
|
+ List<Long> liveGroupIds = collect.values().stream().map(Long::parseLong).distinct().collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ liveRoomMap = vipGroupDao.getVipGroupByIds(liveGroupIds).stream()
|
|
|
|
+ .filter(x -> Objects.nonNull(x.getLiveConfigJson()))
|
|
|
|
+ .collect(Collectors.toMap(x -> String.valueOf(x.getId()),
|
|
|
|
+ x -> JSON.parseObject(x.getLiveConfigJson(), ImLiveBroadcastRoomDto.class), (o, n) -> n));
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return liveRoomMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId) {
|
|
public CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId) {
|
|
if (Objects.isNull(courseScheduleId)) {
|
|
if (Objects.isNull(courseScheduleId)) {
|