|
@@ -3572,11 +3572,19 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
// 查询最新课程信息
|
|
|
CourseSchedule newCourseSchedule = courseScheduleDao.get(item.getId());
|
|
|
- if (newCourseSchedule.getClassDate().getTime() > item.getClassDate().getTime()) {
|
|
|
+ // 连堂课更新标识
|
|
|
+ boolean updateFlag = true;
|
|
|
+ // 新课时间
|
|
|
+ Date newCourseScheduleDate = getDateTime(newCourseSchedule.getClassDate(), newCourseSchedule.getStartClassTime()).toDate();
|
|
|
+ Date oldCourseScheduleDate = getDateTime(item.getClassDate(), item.getStartClassTime()).toDate();
|
|
|
+ if (newCourseScheduleDate.getTime() > oldCourseScheduleDate.getTime()) {
|
|
|
newCourseSchedule = item;
|
|
|
+ // 更新标识
|
|
|
+ updateFlag = false;
|
|
|
}
|
|
|
+
|
|
|
// 直播课关联直播间编号
|
|
|
- String liveRoomId = getCourseScheduleLiveRoomId(newCourseSchedule, continueCourseTime, Lists.newArrayList(), Lists.newArrayList());
|
|
|
+ String liveRoomId = getCourseScheduleLiveRoomId(newCourseSchedule, continueCourseTime, Lists.newArrayList(), Lists.newArrayList(), updateFlag);
|
|
|
|
|
|
if (StringUtils.isBlank(liveRoomId)) {
|
|
|
liveRoomId = item.getLiveRoomId();
|
|
@@ -6281,7 +6289,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
// 课程时间长计算
|
|
|
List<CourseScheduleWrapper.CourseScheduleTime> courseScheduleTimes = Lists.newArrayList();
|
|
|
// 直播课关联直播间编号
|
|
|
- String liveRoomId = getCourseScheduleLiveRoomId(courseSchedule, continueCourseTime, newCourseSchedules, courseScheduleTimes);
|
|
|
+ String liveRoomId = getCourseScheduleLiveRoomId(courseSchedule, continueCourseTime, newCourseSchedules, courseScheduleTimes, true);
|
|
|
|
|
|
// 定时任务更新课程状态为进行中,判断当前课程状态是否匹配
|
|
|
/*int studentRemindTime = Integer.parseInt(sysConfigService.findByParamName(SysConfigService.LIVE_CLASS_START_REMIND_TIME).getParanValue());
|
|
@@ -6333,7 +6341,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
private String getCourseScheduleLiveRoomId(CourseSchedule courseSchedule,
|
|
|
String continueCourseTime,
|
|
|
List<CourseSchedule> newCourseSchedules,
|
|
|
- List<CourseScheduleWrapper.CourseScheduleTime> courseScheduleTimes) {
|
|
|
+ List<CourseScheduleWrapper.CourseScheduleTime> courseScheduleTimes,
|
|
|
+ Boolean updateFlag) {
|
|
|
String liveRoomId;
|
|
|
// 课程开始时间
|
|
|
courseSchedule.setStartClassTime(getDateTime(courseSchedule.getClassDate(), courseSchedule.getStartClassTime()).toDate());
|
|
@@ -6434,8 +6443,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
try {
|
|
|
|
|
|
- // 关联直播间编号
|
|
|
- courseScheduleDao.batchUpdateLiveRoomId(collect, finalCourseSchedule.getLiveRoomId());
|
|
|
+ if (Optional.ofNullable(updateFlag).orElse(true)) {
|
|
|
+ // 关联直播间编号
|
|
|
+ courseScheduleDao.batchUpdateLiveRoomId(collect, finalCourseSchedule.getLiveRoomId());
|
|
|
+ }
|
|
|
|
|
|
if (CollectionUtils.size(collect) > 1) {
|
|
|
collect = newCourseSchedules.subList(0, newCourseSchedules.size() - 1).stream()
|
|
@@ -6446,6 +6457,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
courseScheduleDao.batchUpdateContinuousCourse(collect, true);
|
|
|
}
|
|
|
|
|
|
+ if (!Optional.ofNullable(updateFlag).orElse(true)) {
|
|
|
+ // 更新连堂课状态
|
|
|
+ courseScheduleDao.batchUpdateContinuousCourse(Lists.newArrayList(courseSchedule.getId()), false);
|
|
|
+ }
|
|
|
+
|
|
|
// 更新连堂课状态,最后一节课重置
|
|
|
CourseSchedule lastCourseSchedule = newCourseSchedules.get(newCourseSchedules.size() - 1);
|
|
|
if (Objects.nonNull(lastCourseSchedule)) {
|