|
@@ -157,12 +157,17 @@ public class RoomServiceImpl implements RoomService {
|
|
|
return Integer.parseInt(roomId);
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public String getCloseNetworkRoomTime(CourseSchedule courseSchedule, String continueCourseTime) {
|
|
|
+ public String getCloseNetworkRoomTime(CourseSchedule courseSchedule, String continueCourseTime, RoomResult roomResult) {
|
|
|
String autoCloseNetworkRoomTime = sysTenantConfigService.getTenantConfigValue(SysConfigService.COURSE_AFTER_BUFFER_TIME, courseSchedule.getTenantId());
|
|
|
if (StringUtils.isEmpty(autoCloseNetworkRoomTime)) {
|
|
|
autoCloseNetworkRoomTime = "15";
|
|
|
}
|
|
|
+ // 课程结束后多少分钟关闭网络教室
|
|
|
+ // roomResult.setAutoCloseNetworkRoomTime(autoCloseNetworkRoomTime);
|
|
|
+
|
|
|
+ // 当前课剩余时长
|
|
|
+ int surplusTime = DateUtil.secondsBetween(new Date(), courseSchedule.getEndClassTime());
|
|
|
+
|
|
|
CourseSchedule schedule = courseSchedule;
|
|
|
//如果当前课程是连堂课,那么获取第一节课的课程编号
|
|
|
while (true) {
|
|
@@ -170,11 +175,14 @@ public class RoomServiceImpl implements RoomService {
|
|
|
String endClassTime = DateUtil.format(schedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
|
|
|
schedule = courseScheduleDao.getLastCourse(schedule.getClassGroupId(), classDate + " " + endClassTime, schedule.getActualTeacherId(), continueCourseTime);
|
|
|
if (schedule != null) {
|
|
|
- autoCloseNetworkRoomTime = DateUtil.minutesBetween(new Date(), schedule.getEndClassTime()) + "";
|
|
|
+ surplusTime = DateUtil.minutesBetween(new Date(), schedule.getEndClassTime());
|
|
|
} else {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //获取当前课程剩余时长
|
|
|
+ roomResult.setSurplusTime(surplusTime);
|
|
|
+
|
|
|
return autoCloseNetworkRoomTime;
|
|
|
}
|
|
|
|
|
@@ -206,7 +214,8 @@ public class RoomServiceImpl implements RoomService {
|
|
|
RoomResult roomResult = new RoomResult();
|
|
|
// 直播间编号
|
|
|
roomResult.setLiveRoomId(courseSchedule.getLiveRoomId());
|
|
|
- roomResult.setAutoCloseNetworkRoomTime(this.getCloseNetworkRoomTime(courseSchedule, continueCourseTime));
|
|
|
+ // 连堂课剩余时长和关闭网络教室时间
|
|
|
+ roomResult.setAutoCloseNetworkRoomTime(this.getCloseNetworkRoomTime(courseSchedule, continueCourseTime, roomResult));
|
|
|
CourseSchedule schedule = courseSchedule;
|
|
|
//如果当前课程是连堂课,那么获取第一节课的课程编号
|
|
|
while (true) {
|
|
@@ -220,6 +229,9 @@ public class RoomServiceImpl implements RoomService {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //获取当前课程剩余时长
|
|
|
+ // roomResult.setSurplusTime(DateUtil.secondsBetween(new Date(), schedule.getEndClassTime()));
|
|
|
+
|
|
|
Long courseId = Long.parseLong(roomId);
|
|
|
// 默认获取首节课的课程信息
|
|
|
if (Objects.isNull(schedule)) {
|
|
@@ -245,8 +257,6 @@ public class RoomServiceImpl implements RoomService {
|
|
|
|
|
|
// RTC服务提供方
|
|
|
roomResult.setServiceProvider(Optional.ofNullable(courseSchedule.getServiceProvider()).orElse("rongCloud"));
|
|
|
- //获取当前课程剩余时长
|
|
|
- roomResult.setSurplusTime(DateUtil.secondsBetween(new Date(), courseSchedule.getEndClassTime()));
|
|
|
roomResult.setRoomId(roomId);
|
|
|
|
|
|
// 网络课形式:RTC房间,直播间
|