| 
					
				 | 
			
			
				@@ -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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |