|
@@ -3557,7 +3557,67 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
// 直播课消息推送
|
|
|
- this.sendChatRoomMessage(liveCourseSchedules);
|
|
|
+ // this.sendChatRoomMessage(liveCourseSchedules);
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(liveCourseSchedules)) {
|
|
|
+
|
|
|
+ CompletableFuture.runAsync(() ->
|
|
|
+
|
|
|
+ liveCourseSchedules.parallelStream().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;
|
|
|
+ }
|
|
|
+ // 直播课关联直播间编号
|
|
|
+ String liveRoomId = getCourseScheduleLiveRoomId(newCourseSchedule, continueCourseTime, Lists.newArrayList(), Lists.newArrayList());
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(liveRoomId)) {
|
|
|
+ liveRoomId = item.getLiveRoomId();
|
|
|
+ }
|
|
|
+
|
|
|
+ ImLiveBroadcastRoom liveRoom = imLiveBroadcastRoomService.getByRoomUid(liveRoomId);
|
|
|
+ if (Objects.isNull(liveRoom)) {
|
|
|
+ log.warn("liveRoom sendChatRoomMessage is null, liveRoomId:{}", liveRoomId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ LivePluginService pluginService = livePluginContext.getPluginService(liveRoom.getServiceProvider());
|
|
|
+
|
|
|
+ LiveRoomMessage message = new LiveRoomMessage();
|
|
|
+ message.setIsIncludeSender(1);
|
|
|
+ message.setFromUserId(newCourseSchedule.getActualTeacherId().toString());
|
|
|
+ message.setToChatRoomId(liveRoom.getRoomUid());
|
|
|
+ message.setObjectName(LiveRoomMessage.LIVE_STATUS_CHANGE);
|
|
|
+
|
|
|
+ // 发送用户信息
|
|
|
+ LiveRoomMessage.MessageUser messageUser = LiveRoomMessage.MessageUser.builder()
|
|
|
+ .sendUserId("")
|
|
|
+ .sendUserName("")
|
|
|
+ .avatarUrl("")
|
|
|
+ .build();
|
|
|
+
|
|
|
+ message.setContent(LiveRoomMessage.MessageContent.builder()
|
|
|
+ .sendUserInfo(messageUser).build());
|
|
|
+
|
|
|
+ pluginService.sendChatRoomMessage(message);
|
|
|
+ log.info("liveRoom sendChatRoomMessage success, liveRoomId:{}", liveRoomId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("liveRoom sendChatRoomMessage error", e);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
return BaseController.succeed();
|
|
|
}
|
|
|
|