Eric 1 سال پیش
والد
کامیت
e85e9f5a80
1فایلهای تغییر یافته به همراه16 افزوده شده و 6 حذف شده
  1. 16 6
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

+ 16 - 6
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -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房间,直播间