|
@@ -6397,17 +6397,73 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
// 课程连堂状态
|
|
|
if (beforeCourse.get(beforeCourse.size() - 1).getContinuousCourse()) {
|
|
|
- List<CourseSchedule> collect = beforeCourse.stream()
|
|
|
+
|
|
|
+ // 倒序排序
|
|
|
+ beforeCourse = beforeCourse.stream()
|
|
|
+ .sorted(Comparator.comparing(CourseSchedule::getStartClassTime).reversed())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ for (int i = 0; i < beforeCourse.size(); i++) {
|
|
|
+ CourseSchedule current = beforeCourse.get(i);
|
|
|
+ if (current.getContinuousCourse()) {
|
|
|
+ newCourseSchedules.add(current);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (i + 1 < beforeCourse.size()) {
|
|
|
+ CourseSchedule next = beforeCourse.get(i + 1);
|
|
|
+
|
|
|
+ if (!next.getContinuousCourse()) {
|
|
|
+ newCourseSchedules.add(next);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 正序排序
|
|
|
+ beforeCourse = beforeCourse.stream()
|
|
|
+ .sorted(Comparator.comparing(CourseSchedule::getStartClassTime))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ /*for (int i = beforeCourse.size() - 1; i >= 0 ; i--) {
|
|
|
+ CourseSchedule current = beforeCourse.get(i);
|
|
|
+ CourseSchedule next = null;
|
|
|
+ if ((i - 1) >= 0) {
|
|
|
+ next = beforeCourse.get(i - 1);
|
|
|
+ }
|
|
|
+ if (next != null && current.getContinuousCourse() && next.getContinuousCourse()) {
|
|
|
+ newCourseSchedules.addAll(Lists.newArrayList(current, next));
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+
|
|
|
+ /*List<CourseSchedule> collect = beforeCourse.stream()
|
|
|
.filter(CourseSchedule::getContinuousCourse)
|
|
|
.collect(Collectors.toList());
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
newCourseSchedules.addAll(collect);
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
// 课程后连堂状态
|
|
|
updateContinuousCourseStatus(continueCourseTime, afterCourse);
|
|
|
if (afterCourse.get(0).getContinuousCourse()) {
|
|
|
+
|
|
|
+ for (int i = 0; i < afterCourse.size(); i++) {
|
|
|
+ CourseSchedule current = afterCourse.get(i);
|
|
|
+ if (current.getContinuousCourse()) {
|
|
|
+ newCourseSchedules.add(current);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (i + 1 < afterCourse.size()) {
|
|
|
+ CourseSchedule next = afterCourse.get(i + 1);
|
|
|
+
|
|
|
+ if (!next.getContinuousCourse()) {
|
|
|
+ newCourseSchedules.add(next);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
List<CourseSchedule> collect = afterCourse.stream()
|
|
|
.filter(CourseSchedule::getContinuousCourse)
|
|
|
.collect(Collectors.toList());
|
|
@@ -6418,11 +6474,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
} else {
|
|
|
newCourseSchedules.addAll(collect.subList(1, collect.size()));
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(newCourseSchedules)) {
|
|
|
|
|
|
+ // 课程按开始时间排序
|
|
|
+ newCourseSchedules = newCourseSchedules.stream()
|
|
|
+ .sorted(Comparator.comparing(CourseSchedule::getStartClassTime))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
// 连党课程信息
|
|
|
for (CourseSchedule item : newCourseSchedules) {
|
|
|
courseScheduleTimes.add(CourseScheduleWrapper.CourseScheduleTime.builder()
|
|
@@ -6470,9 +6531,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
// 课程后连堂状态
|
|
|
if (afterCourse.get(0).getContinuousCourse()) {
|
|
|
- collect = afterCourse.subList(1, afterCourse.size()).stream()
|
|
|
- .map(CourseSchedule::getId)
|
|
|
- .distinct().collect(Collectors.toList());
|
|
|
+ collect = afterCourse.stream().map(CourseSchedule::getId).distinct().collect(Collectors.toList());
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
// 关联直播间编号
|
|
@@ -6492,6 +6551,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
} catch (Exception e) {
|
|
|
log.error("getLiveCourseScheduleTime courseScheduleIds={}", collect, e);
|
|
|
}
|
|
|
+
|
|
|
// 连堂课直播间编号
|
|
|
liveRoomId = finalCourseSchedule.getLiveRoomId();
|
|
|
} else {
|
|
@@ -6537,6 +6597,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
current.setContinuousCourse(true);
|
|
|
// 下节连堂状态
|
|
|
next.setContinuousCourse(true);
|
|
|
+ } else {
|
|
|
+ current.setContinuousCourse(false);
|
|
|
}
|
|
|
}
|
|
|
}
|