shangke 2 years ago
parent
commit
be9dc10713

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -6218,7 +6218,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 
 		// 定时任务更新课程状态为进行中,判断当前课程状态是否匹配
-		if (CourseStatusEnum.NOT_START == courseSchedule.getStatus()) {
+		Integer studentRemindTime = Integer.parseInt(sysConfigService.findByParamName(SysConfigService.LIVE_CLASS_START_REMIND_TIME).getParanValue());
+
+		Date date = DateUtil.startDateAndEndTime(courseSchedule.getClassDate(), courseSchedule.getStartClassTime());
+		date = DateUtil.addMinutes(date, -studentRemindTime);
+		// 课程是否开始
+		if(CourseStatusEnum.NOT_START.equals(courseSchedule.getStatus()) && date.after(new Date())) {
 			throw new BizException("直播课暂未开启,请稍后重试");
 		}
 		if (CourseStatusEnum.OVER == courseSchedule.getStatus()) {

+ 8 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -130,6 +130,8 @@ public class RoomServiceImpl implements RoomService {
     private VipGroupDao vipGroupDao;
     @Autowired
     private ImLiveBroadcastRoomService imLiveBroadcastRoomService;
+    @Autowired
+    private SysConfigService sysConfigService;
 
     @Override
     public Integer getCurrentCourseId(String roomId) {
@@ -277,7 +279,12 @@ public class RoomServiceImpl implements RoomService {
             }
 
             // 直播课已结束
-            if (CourseStatusEnum.NOT_START == courseSchedule.getStatus()) {
+            Integer studentRemindTime = Integer.parseInt(sysConfigService.findByParamName(SysConfigService.LIVE_CLASS_START_REMIND_TIME).getParanValue());
+
+            Date date = DateUtil.startDateAndEndTime(courseSchedule.getClassDate(), courseSchedule.getStartClassTime());
+            date = DateUtil.addMinutes(date, -studentRemindTime);
+            // 课程是否开始
+            if(CourseStatusEnum.NOT_START.equals(courseSchedule.getStatus()) && date.after(new Date())) {
                 throw new BizException("直播课未开始");
             }