Jelajahi Sumber

1.将公域课程进行展示,并且支持获取

jzp 1 Minggu lalu
induk
melakukan
eead1b9619

+ 9 - 0
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseMapper.java

@@ -276,4 +276,13 @@ public interface FsUserCourseMapper
      * 查询当天用户-项目看课记录条数
      */
     Integer selectTodayCourseWatchLogCountByUserIdAndProjectId(@Param("userId") Long userId, @Param("projectId") Long projectId);
+
+    @Select("select course_id,course_name,description,img_url,second_img secondImg,views from fs_user_course where is_private = 0 order by sort,course_id")
+    List<FsUserCourseVideoAppletVO> selectFsUserCourseVideoApplet();
+
+    @Select("select video_id,title,course_id,video_url,SEC_TO_TIME(duration) as total_duration," +
+            "thumbnail videoImgUrl,description videoDescription,video_url videoUrl,question_bank_id questionBankId " +
+            " from fs_user_course_video where course_id = #{courseId}  order by course_sort,video_id")
+    List<FsUserCourseVideoAppletVO.FsUserCourseVideo> selectFsUserCourseVideoAppletByCourseId(@Param("courseId") Long courseId);
+
 }

+ 3 - 0
fs-service/src/main/java/com/fs/course/service/IFsUserCourseService.java

@@ -125,4 +125,7 @@ public interface IFsUserCourseService
 
     int copyFsUserCourse(Long courseId);
 
+    List<FsUserCourseVideoAppletVO> selectFsUserCourseVideoApplet();
+
+    List<FsUserCourseVideoAppletVO.FsUserCourseVideo> selectFsUserCourseVideoAppletByCourseId(Long courseId);
 }

+ 10 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseServiceImpl.java

@@ -670,6 +670,16 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
         return 0;
     }
 
+    @Override
+    public List<FsUserCourseVideoAppletVO> selectFsUserCourseVideoApplet() {
+        return fsUserCourseMapper.selectFsUserCourseVideoApplet();
+    }
+
+    @Override
+    public List<FsUserCourseVideoAppletVO.FsUserCourseVideo> selectFsUserCourseVideoAppletByCourseId(Long courseId) {
+        return fsUserCourseMapper.selectFsUserCourseVideoAppletByCourseId(courseId);
+    }
+
 
     private Graphics2D initializeGraphics(BufferedImage combined) {
         Graphics2D graphics = combined.createGraphics();

+ 63 - 0
fs-service/src/main/java/com/fs/course/vo/FsUserCourseVideoAppletVO.java

@@ -0,0 +1,63 @@
+package com.fs.course.vo;
+
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 课堂视频对象 fs_user_video
+ *
+ * @author fs
+ * @date 2024-05-15
+ */
+@Data
+public class FsUserCourseVideoAppletVO extends BaseEntity
+{
+    private Long courseId;
+
+    /** 课程名称 */
+    private String courseName;
+
+    /** 课程描述 */
+    private String description;
+
+    /** 课程封面 */
+    private String imgUrl;
+
+    /** 小封面 */
+    private String secondImg;
+
+    /** 总播放量 */
+    private Long views;
+
+    /** 视频总数 */
+    private Long videoTotal;
+
+    private List<FsUserCourseVideo> fsUserCourseVideoList;
+
+    @Data
+    public static class FsUserCourseVideo{
+        /** ID */
+        private Long videoId;
+
+        /** 视频标题 */
+        private String title;
+
+        /** 视频封面 */
+        private String videoImgUrl;
+
+        /** 视频地址 */
+        private String videoUrl;
+
+        /** 视频描述 */
+        private String videoDescription;
+
+        /** 总播放时长 */
+        private String totalDuration;
+
+        private String questionBankId;
+    }
+
+
+}

+ 17 - 4
fs-user-app/src/main/java/com/fs/app/controller/course/CourseQwController.java

@@ -11,13 +11,11 @@ import com.fs.core.utils.OrderCodeUtils;
 import com.fs.course.config.CourseConfig;
 import com.fs.course.domain.FsCourseQuestionBank;
 import com.fs.course.domain.FsCourseWatchLog;
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.course.param.*;
 import com.fs.course.service.*;
 import com.fs.course.service.impl.TencentCloudCosService;
-import com.fs.course.vo.FsCourseWatchCommentVO;
-import com.fs.course.vo.FsUserCourseVideoH5DVO;
-import com.fs.course.vo.FsUserCourseVideoH5VO;
-import com.fs.course.vo.FsUserCourseVideoQuestionVO;
+import com.fs.course.vo.*;
 import com.fs.his.service.IFsIntegralGoodsService;
 import com.fs.sop.domain.QwSop;
 import com.fs.sop.service.IQwSopService;
@@ -71,6 +69,21 @@ public class CourseQwController extends AppBaseController {
     @Autowired
     private IQwSopService qwSopService;
 
+    @ApiOperation("查询全部公域的课程")
+    @GetMapping("/getAppletCourse")
+    public R getAppletCourse()
+    {
+        List<FsUserCourseVideoAppletVO> course = courseService.selectFsUserCourseVideoApplet();
+        if(course != null && !course.isEmpty()){
+            for (FsUserCourseVideoAppletVO appletVO : course) {
+                List<FsUserCourseVideoAppletVO.FsUserCourseVideo> courseVideos = courseService.selectFsUserCourseVideoAppletByCourseId(appletVO.getCourseId());
+                appletVO.setFsUserCourseVideoList(courseVideos);
+                appletVO.setVideoTotal((long) courseVideos.size());
+            }
+        }
+        return R.ok().put("data",course);
+    }
+
 
     @ApiOperation("h5课程简介")
     @GetMapping("/getH5CourseByVideoId")