Browse Source

老师首页

cy 3 years ago
parent
commit
1af11385e3

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleDao.java

@@ -131,6 +131,9 @@ public interface CourseScheduleDao extends BaseMapper<CourseSchedule> {
     //学生端-首页-最近一堂课
     StudentHomePage.RecentCourses selectRecentCourses(Long studentId);
 
+    //老师端-首页-最近一堂课
+    StudentHomePage.RecentCourses selectRecentCoursesTeacher(Long teacherId);
+
     /**
      * 本周剩余的课时
      *

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MessageTypeEnum.java

@@ -57,7 +57,9 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_VIP_EXPIRE_THIRTY_DAY("SMS_VIP_EXPIRE_THIRTY_DAY","会员到期前30天(短信)"),
     SMS_VIP_EXPIRE("SMS_VIP_EXPIRE","会员到期(短信)"),
 
-    ;
+    SMS_VIDEO_BUY("SMS_VIDEO_BUY","视频课购买(短信)"),
+    SMS_STUDENT_BUY_PRACTICE("SMS_STUDENT_BUY_PRACTICE","学员购买陪练课(短信)"),
+    SMS_PRACTICE_BUY("SMS_PRACTICE_BUY", "陪练课购买(短信)");
 
     MessageTypeEnum(String code, String msg) {
         this.code = code;

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseScheduleService.java

@@ -185,7 +185,7 @@ public interface CourseScheduleService extends IService<CourseSchedule> {
 
     void courseAdjust(CourseAdjustVo adjustVo);
 
-    StudentHomePage queryLiveAndVideo(Long studentId);
+    StudentHomePage queryLiveAndVideo(Long studentId,Long teacherId);
 
     List<TeacherSubjectPrice> teacherSubjectPrice(Long teacherId);
 

+ 29 - 26
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseRepliedServiceImpl.java

@@ -98,28 +98,37 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD
         }
         repliedDao.insert(replied);
 
+        repliedSend(courseSchedule.getTeacherId(), userId);
+    }
+
+    /**
+     * @Description: 陪练课评价消息推送
+     * @Author: cy
+     * @Date: 2022/5/6
+     */
+    public void repliedSend(Long teacherId, Long studentId) {
         try {
-            repliedSend(userId);
+            SysUser student = sysUserFeignService.queryUserById(studentId);
+            SysUser teacher = sysUserFeignService.queryUserById(teacherId);
+
+            Map<Long, String> teacherReceivers = new HashMap<>();
+            teacherReceivers.put(teacherId, teacher.getPhone());
+
+            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.STUDENT_EVALUATE_TEACHER_PRACTICE.getCode());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_EVALUATE_TEACHER_PRACTICE,
+                    teacherReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
+                    student.getUsername(), url);
+            log.info("send success {}", MessageTypeEnum.STUDENT_EVALUATE_TEACHER_PRACTICE);
         } catch (Exception e) {
-            log.error("视频课消息推送失败");
+            log.error("send fail {}", MessageTypeEnum.STUDENT_EVALUATE_TEACHER_PRACTICE);
+            e.printStackTrace();
         }
     }
 
-    public void repliedSend(Long studentId){
-        //消息推送
-        SysUser student = sysUserFeignService.queryUserById(studentId);
-        Map<Long, String> studentReceivers = new HashMap<>();
-        studentReceivers.put(studentId, student.getPhone());
-        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.STUDENT_EVALUATE_TEACHER_PRACTICE.getCode());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_EVALUATE_TEACHER_PRACTICE,
-                studentReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
-                student.getUsername(), url);
-    }
-
     /**
-     * 判断评论是否存在
-     * @param replied
-     * @return
+     * @Description: 判断评论是否存在
+     * @Author: cy
+     * @Date: 2022/5/6
      */
     public boolean repliedIsNull(CourseScheduleReplied replied) {
         QueryWrapper<CourseScheduleReplied> queryWrapper = new QueryWrapper<>();
@@ -132,9 +141,9 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD
     }
 
     /**
-     * 校验当前用户是否购买课程
-     * @param userId     学员id
-     * @param scheduleId 课程id
+     * @Description: 校验当前用户是否购买课程
+     * @Author: cy
+     * @Date: 2022/5/6
      */
     public void isPayment(Long userId, Long scheduleId) {
         QueryWrapper<CourseScheduleStudentPayment> wrapper = new QueryWrapper<>();
@@ -154,12 +163,7 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD
      */
     @Override
     public CourseRepliedVo selectReplied(CourseScheduleReplied replied) {
-//        QueryWrapper<CourseScheduleReplied> wrapper = new QueryWrapper<>();
-//        wrapper.eq("course_group_type_", CourseScheduleEnum.PRACTICE);
-//        wrapper.eq("student_id_", replied.getStudentId());
-//        wrapper.eq("course_schedule_id_", replied.getCourseScheduleId());
-//        wrapper.eq("course_group_id_", replied.getCourseGroupId());
-        CourseRepliedVo repliedVo=repliedDao.selectReplied(replied);
+        CourseRepliedVo repliedVo = repliedDao.selectReplied(replied);
         return repliedVo;
     }
 
@@ -172,5 +176,4 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD
     public IPage<MyRepliedVo> myReplied(IPage<MyRepliedVo> page, MyCourseSearch search) {
         return page.setRecords(repliedDao.myReplied(page, search));
     }
-
 }

+ 82 - 41
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -462,7 +462,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             //获取当前日期周几
             int weekNum = firstDay.getDayOfWeek().getValue();
             JSONArray jsonArray = teacherPracticeTime.get(weekNum);
-            if (Objects.nonNull(jsonArray)){
+            if (Objects.nonNull(jsonArray)) {
                 List<CourseTimeEntity> timeEntities = jsonArray.stream()
                         .map(t -> getCourseTimeEntity(entity, (JSONObject) t))
                         .collect(Collectors.toList());
@@ -953,41 +953,6 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         }
     }
 
-    public void practiceSend(Long teacherId, Long studentId,String courseNum,String orderNo) {
-        //查询老师&学生信息
-        SysUser teacher = sysUserFeignService.queryUserById(teacherId);
-        SysUser student = sysUserFeignService.queryUserById(studentId);
-
-        //消息接收者(Key:用户编号 value:消息接收对象)
-        Map<Long, String> teacherReceivers = new HashMap<>();
-        teacherReceivers.put(teacherId, teacher.getPhone());
-        Map<Long, String> studentReceivers = new HashMap<>();
-        studentReceivers.put(studentId, student.getPhone());
-
-        //老师端-学生买陪练课
-        String teacherUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.STUDENT_BUY_PRACTICE.getCode());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_BUY_PRACTICE,
-                teacherReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
-                student.getUsername(),courseNum, teacherUrl);
-
-        //学生端-买陪练课
-        String studentUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.PRACTICE_BUY.getCode());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_BUY,
-                studentReceivers, null, 0, null, ClientEnum.STUDENT.getCode(),
-                teacher.getUsername(), courseNum, studentUrl);
-
-        //陪练课开课提醒
-        List<String> startTimeList = baseMapper.selectStartTime(orderNo);
-        for (String startTime : startTimeList) {
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PRACTICE_REMINDER,
-                    teacherReceivers, DateUtil.offsetMinute(startTime, -20), 0, null, ClientEnum.TEACHER.getCode(),
-                    student.getUsername());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_REMIND,
-                    studentReceivers, DateUtil.offsetMinute(startTime, -20), 0, null, ClientEnum.STUDENT.getCode(),
-                    teacher.getUsername());
-        }
-    }
-
     /**
      * 学生购买陪练课-失败-回调
      */
@@ -1024,16 +989,21 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     }
 
     /**
-     * @Description: 学生-首页-直播课&视频课
+     * @Description: 首页-直播课&视频课
      * @Author: cy
      * @Date: 2022/4/22
      */
     @Override
-    public StudentHomePage queryLiveAndVideo(Long studentId) {
+    public StudentHomePage queryLiveAndVideo(Long studentId,Long teacherId) {
         StudentHomePage homePage = new StudentHomePage();
-        homePage.setLiveList(baseMapper.selectLive());
-        homePage.setVideoList(baseMapper.selectVideo());
-        homePage.setRecentCourses(baseMapper.selectRecentCourses(studentId));
+        if (teacherId==null){
+            homePage.setLiveList(baseMapper.selectLive());
+            homePage.setVideoList(baseMapper.selectVideo());
+            homePage.setRecentCourses(baseMapper.selectRecentCourses(studentId));
+        }
+        if (studentId==null){
+            homePage.setRecentCourses(baseMapper.selectRecentCoursesTeacher(teacherId));
+        }
         return homePage;
     }
 
@@ -1065,4 +1035,75 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     public Integer getWeekStudentRepliedCourseSchedule(Long userId) {
         return baseMapper.selectWeekStudentRepliedCourseSchedule(userId);
     }
+
+    /**
+     * @Description: 购买陪练课消息推送
+     * @Author: cy
+     * @Date: 2022/5/6
+     */
+    public void practiceSend(Long teacherId, Long studentId, String courseNum, String orderNo) {
+        //查询老师&学生信息
+        SysUser teacher = sysUserFeignService.queryUserById(teacherId);
+        SysUser student = sysUserFeignService.queryUserById(studentId);
+
+        //消息接收者(Key:用户编号 value:消息接收对象)
+        Map<Long, String> teacherReceivers = new HashMap<>();
+        teacherReceivers.put(teacherId, teacher.getPhone());
+        Map<Long, String> studentReceivers = new HashMap<>();
+        studentReceivers.put(studentId, student.getPhone());
+        Map<Long, String> teacherSms = new HashMap<>();
+        teacherSms.put(teacherId, teacher.getPhone());
+        Map<Long, String> studentSms = new HashMap<>();
+        studentSms.put(studentId, student.getPhone());
+
+        //老师端-学生买陪练课
+        String teacherUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.STUDENT_BUY_PRACTICE.getCode());
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_BUY_PRACTICE,
+                teacherReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
+                student.getUsername(), courseNum, teacherUrl);
+        log.info("send success {}",MessageTypeEnum.STUDENT_BUY_PRACTICE);
+
+        //老师端-学生买陪练课(短信)
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_STUDENT_BUY_PRACTICE,
+                teacherSms, null, 0, null, null,
+                student.getUsername(), courseNum);
+        log.info("send success {}",MessageTypeEnum.SMS_STUDENT_BUY_PRACTICE);
+
+        //学生端-买陪练课
+        String studentUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.PRACTICE_BUY.getCode());
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_BUY,
+                studentReceivers, null, 0, null, ClientEnum.STUDENT.getCode(),
+                teacher.getUsername(), courseNum, studentUrl);
+        log.info("send success {}",MessageTypeEnum.PRACTICE_BUY);
+
+        //学生端-买陪练课(短信)
+        String studentSmsUrl = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_PRACTICE_BUY.getCode());
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_PRACTICE_BUY,
+                studentSms, null, 0, null, null,
+                teacher.getUsername(), courseNum,studentSmsUrl);
+        log.info("send success {}",MessageTypeEnum.SMS_PRACTICE_BUY);
+
+        List<String> startTimeList = baseMapper.selectStartTime(orderNo);
+        for (String startTime : startTimeList) {
+            //老师端-陪练课开课提醒
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PRACTICE_REMINDER,
+                    teacherReceivers, DateUtil.offsetMinute(startTime, -20), 0, null, ClientEnum.TEACHER.getCode(),
+                    student.getUsername());
+
+            //学生端-陪练课开课提醒
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.PRACTICE_REMIND,
+                    studentReceivers, DateUtil.offsetMinute(startTime, -20), 0, null, ClientEnum.STUDENT.getCode(),
+                    teacher.getUsername());
+        }
+        log.info("send success {}",MessageTypeEnum.PRACTICE_REMIND);
+    }
+
+    /**
+     * @Description: 明日课程提醒(每晚9点)
+     * @Author: cy
+     * @Date: 2022/5/6
+     */
+    public void courseRemind(){
+
+    }
 }

+ 40 - 14
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java

@@ -166,13 +166,14 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         userAccountService.accountChange(userAccountRecord);
         log.info("buyVideoCourseSuccess ok");
 
-        try {
-            videoSend(teacherId, studentId, lessonGroup.getLessonName());
-        } catch (Exception e) {
-            log.error("视频课消息推送失败");
-        }
+        videoSend(teacherId, studentId, lessonGroup.getLessonName());
     }
 
+    /**
+     * @Description: 购买视频课消息推送
+     * @Author: cy
+     * @Date: 2022/5/6
+     */
     public void videoSend(Long teacherId, Long studentId, String lessonName) {
         //查询老师&学生信息
         SysUser teacher = sysUserFeignService.queryUserById(teacherId);
@@ -183,17 +184,42 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         teacherReceivers.put(teacherId, teacher.getPhone());
         Map<Long, String> studentReceivers = new HashMap<>();
         studentReceivers.put(studentId, student.getPhone());
+        Map<Long, String> studentSMS = new HashMap<>();
+        studentSMS.put(studentId, student.getPhone());
+
+        //老师端-学生购买视频课
+        try {
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_BUY_VIDEO,
+                    teacherReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
+                    student.getUsername(), lessonName);
+            log.info("send success {}", MessageTypeEnum.STUDENT_BUY_VIDEO);
+        } catch (Exception e) {
+            log.error("send fail {}", MessageTypeEnum.STUDENT_BUY_VIDEO);
+            e.printStackTrace();
+        }
 
-        //消息推送-老师端
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_BUY_VIDEO,
-                teacherReceivers, null, 0, null, ClientEnum.TEACHER.getCode(),
-                student.getUsername(), lessonName);
+        //学生端-购买视频课
+        try {
+            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIDEO_BUY.getCode());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_BUY,
+                    studentReceivers, null, 0, null, ClientEnum.STUDENT.getCode(),
+                    teacher.getUsername(), lessonName, url);
+            log.info("send success {}", MessageTypeEnum.VIDEO_BUY);
+        } catch (Exception e) {
+            log.error("send fail {}", MessageTypeEnum.VIDEO_BUY);
+            e.printStackTrace();
+        }
 
-        //消息推送-学生端
-        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIDEO_BUY.getCode());
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_BUY,
-                studentReceivers, null, 0, null, ClientEnum.STUDENT.getCode(),
-                teacher.getUsername(), lessonName, url);
+        //学生端-购买视频课(短信)
+        try {
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIDEO_BUY,
+                    studentSMS, null, 0, null, null,
+                    teacher.getUsername(), lessonName);
+            log.info("sms send success {}", MessageTypeEnum.SMS_VIDEO_BUY);
+        } catch (Exception e) {
+            log.error("sms send fail {}", MessageTypeEnum.SMS_VIDEO_BUY);
+            e.printStackTrace();
+        }
     }
 
     /**

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentHomePage.java

@@ -147,6 +147,26 @@ public class StudentHomePage implements Serializable {
         private Integer courseNum;
         @ApiModelProperty(value = "购买人数")
         private Integer buyCount;
+        @ApiModelProperty(value = "声部id")
+        private Integer subjectId;
+        @ApiModelProperty(value = "声部名称")
+        private String subjectName;
+
+        public Integer getSubjectId() {
+            return subjectId;
+        }
+
+        public void setSubjectId(Integer subjectId) {
+            this.subjectId = subjectId;
+        }
+
+        public String getSubjectName() {
+            return subjectName;
+        }
+
+        public void setSubjectName(String subjectName) {
+            this.subjectName = subjectName;
+        }
 
         public String getRealName() {
             return realName;

+ 24 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -491,9 +491,12 @@
             g.course_start_time_ AS courseStartTime,
             g.background_pic_ AS backgroundPic,
             g.course_num_ AS courseNum,
-            g.pre_student_num_ AS buyCount
+            g.pre_student_num_ AS buyCount,
+            g.subject_id_ AS subjectId,
+            s.name_ AS subjectName
         FROM course_group g
         LEFT JOIN sys_user u ON g.teacher_id_=u.id_
+        LEFT JOIN subject s ON g.subject_id_=s.id_
         WHERE type_='LIVE' and g.status_ = 'APPLY'
         ORDER BY courseStartTime DESC LIMIT 4
     </select>
@@ -540,7 +543,26 @@
         ORDER BY ABS(NOW() - s.start_time_) ASC
         limit 1
     </select>
-
+    <select id="selectRecentCoursesTeacher" resultType="com.yonge.cooleshow.biz.dal.vo.StudentHomePage$RecentCourses">
+        SELECT
+            u.id_ AS teacherId,
+            u.username_ AS teacherName,
+            u.real_name_ AS realName,
+            u.avatar_ AS avatar,
+            s.course_group_id_ AS courseGroupId,
+            s.id_ AS courseId,
+            g.name_ AS courseGroupName,
+            s.type_ AS courseType,
+            s.status_ AS `status`,
+            s.start_time_ AS courseStartTime
+        FROM course_schedule s
+        LEFT JOIN sys_user u ON s.teacher_id_=u.id_
+        LEFT JOIN course_group g ON s.course_group_id_=g.id_
+        WHERE s.teacher_id_=#{teacherId}
+        AND s.status_ = 'NOT_START'
+        ORDER BY ABS(NOW() - s.start_time_) ASC
+        limit 1
+    </select>
     <select id="selectWeekNotStartCourseSchedule" resultType="java.lang.Integer">
         select count(1)
         from course_schedule cs

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/StudentCourseScheduleController.java

@@ -134,7 +134,7 @@ public class StudentCourseScheduleController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(courseScheduleService.queryLiveAndVideo(user.getId()));
+        return succeed(courseScheduleService.queryLiveAndVideo(user.getId(),null));
     }
 
     @ApiImplicitParams({

+ 12 - 4
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseScheduleController.java

@@ -9,6 +9,7 @@ import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.CourseAdjustVo;
 import com.yonge.cooleshow.biz.dal.vo.MyCourseVo;
+import com.yonge.cooleshow.biz.dal.vo.StudentHomePage;
 import com.yonge.cooleshow.biz.dal.vo.TeacherLiveCourseInfoVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -19,10 +20,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -137,5 +135,15 @@ public class TeacherCourseScheduleController extends BaseController {
         courseScheduleService.courseAdjust(adjustVo);
         return succeed();
     }
+
+    @ApiOperation("老师-首页-最近课程")
+    @GetMapping("/queryLiveAndVideo")
+    public HttpResponseResult<StudentHomePage> queryLiveAndVideo() {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(courseScheduleService.queryLiveAndVideo(null,user.getId()));
+    }
 }