Explorar o código

Merge branch 'zx-06-15-live' of http://git.dayaedu.com/yonge/mec into master_saas

 Conflicts:
	mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
zouxuan %!s(int64=2) %!d(string=hai) anos
pai
achega
ce95fbf1f8

+ 40 - 106
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2347,10 +2347,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		this.checkOnlineCategory(courseSchedules,vipGroupCourseAdjustInfo.getTeachMode());
 		//重置连堂课标记
 		this.resetLiveRemind(courseSchedules);
-		List<CourseSchedule> liveCourseSchedules = Lists.newArrayList();
 		//拷贝历史直播课
-		Collections.copy(liveCourseSchedules,courseSchedules);
-		courseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
+		List<CourseSchedule> liveCourseSchedules = Lists.newArrayList(courseSchedules);
+        courseSchedules.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 		//获取操作日志
 		List<CourseScheduleModifyLog> modifyLogs = getModifyLogs(courseScheduleIds, courseSchedules, user.getId(), now);
 
@@ -3047,8 +3046,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		Map<Long, CourseSchedule> oldCourseScheduleMap = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId, c -> c));
 
-		List<CourseSchedule> liveCourseSchedules = Lists.newArrayList();
-		for(CourseSchedule newCourseSchedule : newCourseSchedules){
+		List<CourseSchedule> liveCourseSchedules = Lists.newArrayList(oldCourseScheduleList);
+        for(CourseSchedule newCourseSchedule : newCourseSchedules){
 
 			//获取数据库中的记录
 			CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId());
@@ -3557,74 +3556,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			e.printStackTrace();
 		}
 		// 直播课消息推送
-		// 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());
-						// 连堂课更新标识
-						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(), updateFlag);
-
-						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);
-						}
-					})
-			);
-		}
-
+		this.sendChatRoomMessage(liveCourseSchedules);
 		return BaseController.succeed();
 	}
 
@@ -6185,38 +6117,40 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						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(), true);
+				// 查询最新课程信息
+				CourseSchedule newCourseSchedule = courseScheduleDao.get(item.getId());
+				// 连堂课更新标识
+				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;
+				}
 
-					ImLiveBroadcastRoom liveRoom = imLiveBroadcastRoomService.getByRoomUid(liveRoomId);
-					if (Objects.isNull(liveRoom)) {
-						log.warn("liveRoom sendChatRoomMessage is null, liveRoomId:{}", liveRoomId);
-						return;
-					}
+				// 直播课关联直播间编号
+				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 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 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()
@@ -6228,12 +6162,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						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);
-					}
-				}),executor
+					pluginService.sendChatRoomMessage(message);
+					log.info("liveRoom sendChatRoomMessage success, liveRoomId:{}", liveRoomId);
+				} catch (Exception e) {
+					log.error("liveRoom sendChatRoomMessage error", e);
+				}
+			}),executor
 		);
 		executor.shutdown();
 	}