|
@@ -3576,8 +3576,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if (newCourseSchedule.getClassDate().getTime() > item.getClassDate().getTime()) {
|
|
|
newCourseSchedule = item;
|
|
|
}
|
|
|
+ // 连堂课更新标识
|
|
|
+ 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();
|
|
@@ -6171,18 +6181,38 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
CompletableFuture.runAsync(() ->
|
|
|
courseSchedules.parallelStream().filter(e->e.getGroupType() == LIVE).forEach(item -> {
|
|
|
+
|
|
|
// 是否是连堂课
|
|
|
String continueCourseTime = sysTenantConfigService.getTenantConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME, item.getTenantId());
|
|
|
if (StringUtils.isEmpty(continueCourseTime)) {
|
|
|
continueCourseTime = "5";
|
|
|
}
|
|
|
|
|
|
+ // 查询最新课程信息
|
|
|
+ CourseSchedule newCourseSchedule = courseScheduleDao.get(item.getId());
|
|
|
+ if (newCourseSchedule.getClassDate().getTime() > item.getClassDate().getTime()) {
|
|
|
+ newCourseSchedule = item;
|
|
|
+ }
|
|
|
+ // 连堂课更新标识
|
|
|
+ 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(item, continueCourseTime, Lists.newArrayList(), Lists.newArrayList());
|
|
|
+ String liveRoomId = getCourseScheduleLiveRoomId(newCourseSchedule, continueCourseTime, Lists.newArrayList(), Lists.newArrayList(), updateFlag);
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(liveRoomId)) {
|
|
|
+ liveRoomId = item.getLiveRoomId();
|
|
|
+ }
|
|
|
|
|
|
ImLiveBroadcastRoom liveRoom = imLiveBroadcastRoomService.getByRoomUid(liveRoomId);
|
|
|
if (Objects.isNull(liveRoom)) {
|
|
|
- log.warn("liveRoom is null, liveRoomId:{}", item.getLiveRoomId());
|
|
|
+ log.warn("liveRoom sendChatRoomMessage is null, liveRoomId:{}", liveRoomId);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -6191,8 +6221,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
LiveRoomMessage message = new LiveRoomMessage();
|
|
|
message.setIsIncludeSender(1);
|
|
|
- message.setFromUserId(item.getActualTeacherId().toString());
|
|
|
- message.setToChatRoomId(item.getLiveRoomId());
|
|
|
+ message.setFromUserId(newCourseSchedule.getActualTeacherId().toString());
|
|
|
+ message.setToChatRoomId(liveRoom.getRoomUid());
|
|
|
message.setObjectName(LiveRoomMessage.LIVE_STATUS_CHANGE);
|
|
|
|
|
|
// 发送用户信息
|
|
@@ -6206,8 +6236,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
.sendUserInfo(messageUser).build());
|
|
|
|
|
|
pluginService.sendChatRoomMessage(message);
|
|
|
+ log.info("liveRoom sendChatRoomMessage success, liveRoomId:{}", liveRoomId);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("liveRoom error", e);
|
|
|
+ log.error("liveRoom sendChatRoomMessage error", e);
|
|
|
}
|
|
|
}),executor
|
|
|
);
|
|
@@ -6564,8 +6595,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
} catch (Exception e) {
|
|
|
log.error("getLiveCourseScheduleTime courseScheduleIds={}", collect, e);
|
|
|
}
|
|
|
-
|
|
|
- });
|
|
|
// 连堂课直播间编号
|
|
|
liveRoomId = finalCourseSchedule.getLiveRoomId();
|
|
|
} else {
|