Explorar o código

Merge remote-tracking branch 'origin/master'

liweifan %!s(int64=3) %!d(string=hai) anos
pai
achega
28c7a9543a

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -492,6 +492,19 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                     }
                 }
 
+                //获取老师锁课缓存
+                RMap<Long, List<CourseTimeEntity>> map = getExpireLiveLockTimeCache(teacherId);
+                if (map.isExists()) {
+                    List<CourseTimeEntity> courseTimeCache = map.get(teacherId);
+                    //校验缓存中的时间和当前自动生成的时间有没有重复
+                    checkTime = courseScheduleService.checkCourseTime(courseTimeCache, CourseTimeEntity::getStartTime, CourseTimeEntity::getEndTime, autoStartDate, autoEndDate);
+                    con.accept(checkTime);
+                    //如果和未来时间冲突则跳过
+                    if (flag.get()) {
+                        continue;
+                    }
+                }
+
                 //将自动生成时间收入集合
                 CourseTimeEntity autoTimeDto = new CourseTimeEntity();
                 autoTimeDto.setStartTime(autoStartDate);

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -952,5 +952,6 @@
                 AND endTime &lt;= #{param.endTime}
             </if>
         </where>
+        GROUP BY courseId
     </select>
 </mapper>

+ 4 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -457,6 +457,7 @@
             u.avatar_ AS cover,
             g.subject_id_ AS subjectId,
             b.name_ AS subjectName,
+            ig.id_ AS imGroupId,
             (r.student_replied_ IS NOT NULL) AS studentReplied,
             (r.teacher_replied_ IS NOT NULL) AS teacherReplied
         FROM course_schedule s
@@ -464,6 +465,7 @@
         LEFT JOIN course_group g ON s.course_group_id_ = g.id_
         LEFT JOIN `subject` b ON g.subject_id_ = b.id_
         LEFT JOIN course_schedule_replied r ON s.id_ = r.course_schedule_id_
+        LEFT JOIN im_group ig ON ig.course_group_id_ = g.id_
         WHERE s.lock_=0
         AND s.status_ IN ('ING','NOT_START','COMPLETE')
         AND s.id_ IN
@@ -484,12 +486,14 @@
             g.background_pic_ AS cover,
             g.subject_id_ AS subjectId,
             sb.name_ AS subjectName,
+            ig.id_ AS imGroupId,
             (r.student_replied_ IS NOT NULL) AS studentReplied,
             (r.teacher_replied_ IS NOT NULL) AS teacherReplied
         FROM course_schedule s
         LEFT JOIN course_group g ON s.course_group_id_ = g.id_
         LEFT JOIN `subject` sb ON g.subject_id_=sb.id_
         LEFT JOIN course_schedule_replied r ON s.id_ = r.course_schedule_id_
+        LEFT JOIN im_group ig ON ig.course_group_id_ = g.id_
         WHERE s.lock_=0
         AND s.status_ IN ('ING','NOT_START','COMPLETE')
         AND s.id_ IN

+ 7 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherLiveRoomController.java

@@ -86,6 +86,13 @@ public class TeacherLiveRoomController extends BaseController {
         liveRoomService.destroyExpiredPracticeRoom();
     }
 
+    @ApiOperation("手动关闭直播间")
+    @GetMapping("/destroyLiveRoom")
+    public HttpResponseResult<Object> destroyLiveRoom(@ApiParam(value = "房间uid", required = true) String roomUid) {
+        liveRoomService.destroyLiveRoom(roomUid);
+        return succeed();
+    }
+
     /**
      * 同步融云用户状态变更
      *