浏览代码

添加销毁房间的定时任务

hgw 3 年之前
父节点
当前提交
936c0d9b6f

+ 7 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/TeacherFeignService.java

@@ -27,6 +27,13 @@ public interface TeacherFeignService {
     HttpResponseResult<Object> opsCourseGroup();
 
     /**
+     * 定时任务-销毁房间-直播间
+     * 每分钟执行一次
+     */
+    @GetMapping(value = "/task/destroyExpiredLiveRoom")
+    HttpResponseResult<Object> destroyExpiredLiveRoom();
+
+    /**
      * @Description: 课程提醒(每晚9点)
      * @Author: cy
      * @Date: 2022/5/6

+ 5 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/fallback/TeacherFeignServiceFallback.java

@@ -18,6 +18,11 @@ public class TeacherFeignServiceFallback implements TeacherFeignService {
     }
 
     @Override
+    public HttpResponseResult<Object> destroyExpiredLiveRoom() {
+        return null;
+    }
+
+    @Override
     public HttpResponseResult<Object> courseRemind() {
         return null;
     }

+ 22 - 0
cooleshow-task/src/main/java/com/yonge/cooleshow/task/jobs/DestroyExpiredLiveRoomTask.java

@@ -0,0 +1,22 @@
+package com.yonge.cooleshow.task.jobs;
+
+import com.yonge.cooleshow.api.feign.TeacherFeignService;
+import com.yonge.cooleshow.task.core.BaseTask;
+import com.yonge.cooleshow.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/4/25 10:30
+ */
+@Service
+public class DestroyExpiredLiveRoomTask extends BaseTask {
+    @Autowired
+    private TeacherFeignService teacherFeignService;
+
+    @Override
+    public void execute() throws TaskException {
+        teacherFeignService.destroyExpiredLiveRoom();
+    }
+}

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

@@ -86,12 +86,6 @@ public class TeacherLiveRoomController extends BaseController {
         liveRoomService.createCourseLiveRoom();
     }
 
-    @ApiOperation("定时任务-销毁房间-直播间")
-    @GetMapping("/destroyExpiredLiveRoom")
-    public void destroyExpiredLiveRoom() {
-        liveRoomService.destroyExpiredLiveRoom();
-    }
-
     @ApiOperation("手动关闭直播间")
     @GetMapping("/destroyLiveRoom")
     public HttpResponseResult<Object> destroyLiveRoom(@ApiParam(value = "房间uid", required = true) String roomUid) {

+ 12 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/task/TaskController.java

@@ -3,10 +3,11 @@ package com.yonge.cooleshow.teacher.task;
 import com.yonge.cooleshow.biz.dal.entity.TeacherTotal;
 import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
 import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
+import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
 import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,6 +30,9 @@ public class TaskController extends BaseController {
     private CourseGroupService courseGroupService;
     @Autowired
     private CourseScheduleService scheduleService;
+    @Autowired
+    private LiveRoomService liveRoomService;
+
 
     /***
      * 查询所有老师统计数据
@@ -46,11 +50,17 @@ public class TaskController extends BaseController {
      * <p>定时将符合结束售卖日期的在售卖中的直播课课程组修改为取消或者成课状态状态-每隔10分钟执行一次
      */
     @GetMapping("/opsCourseGroup")
-    public HttpResponseResult<Object> opsCourseGroup(){
+    public HttpResponseResult<Object> opsCourseGroup() {
         courseGroupService.opsCourseGroup();
         return HttpResponseResult.succeed();
     }
 
+    @ApiOperation("定时任务-销毁房间-直播间")
+    @GetMapping("/destroyExpiredLiveRoom")
+    public void destroyExpiredLiveRoom() {
+        liveRoomService.destroyExpiredLiveRoom();
+    }
+
     @GetMapping("/getRedisValueByKey")
     public HttpResponseResult<Object> getRedisValueByKey(String key) {
         return succeed(teacherTotalService.getRedisValueByKey(key));