Browse Source

优化视频解码回调接口

yfh 2 days ago
parent
commit
c2771968b2

+ 12 - 0
fs-admin/src/main/java/com/fs/course/controller/FsUserVideoController.java

@@ -9,9 +9,11 @@ import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.course.domain.FsUserVideo;
 import com.fs.course.domain.FsVideoResource;
 import com.fs.course.param.*;
+import com.fs.course.service.IFsUserCourseVideoService;
 import com.fs.course.service.IFsUserVideoService;
 import com.fs.course.service.IFsVideoResourceService;
 import com.fs.course.service.impl.TencentCloudCosService;
@@ -55,6 +57,9 @@ public class FsUserVideoController extends BaseController
     @Autowired
     private IFsVideoResourceService iFsVideoResourceService;
 
+    @Autowired
+    private IFsUserCourseVideoService fsUserCourseVideoService;
+
     /**
      * 查询课堂视频列表
      */
@@ -354,6 +359,13 @@ public class FsUserVideoController extends BaseController
             iFsVideoResourceService.updateById(videoMap);
             log.info("成功更新视频转码状态,视频ID: {}", video.getId());
 
+
+            FsUserCourseVideo fsUserCourseVideo = fsUserCourseVideoService.selectByFileKey(video.getFileKey());
+            fsUserCourseVideo.setLineOne(video.getLine1().replace(inputPath,transcodeFileKey));
+            fsUserCourseVideo.setTranscodeFileKey(transcodeFileKey);
+            fsUserCourseVideo.setIsTranscode(1);
+            fsUserCourseVideoService.updateFsUserCourseVideo(fsUserCourseVideo);
+
             return R.ok();
         } catch (Exception e) {
             log.error("处理视频转码请求时发生异常", e);

+ 2 - 0
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoMapper.java

@@ -198,4 +198,6 @@ public interface FsUserCourseVideoMapper
     List<FsCourseVideoListBySidebarVO> getFsCourseVideoListBySidebar(@Param("data") FsCourseListBySidebarParam param);
 
     List<FsUserCourseVideoPageListVO> selectFsUserCourseVideoListByMap(@Param("params") Map<String, Object> params);
+
+    FsUserCourseVideo selectByFileKey(@Param("params")String fileKey);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/course/service/IFsUserCourseVideoService.java

@@ -176,4 +176,6 @@ public interface IFsUserCourseVideoService
     ResponseResult<Boolean> setWatchCourseTime(List<FsWatchCourseTimeParam> collect);
 
     R createRoomMiniLink(FsCourseLinkMiniParam param);
+
+    FsUserCourseVideo selectByFileKey(String fileKey);
 }

+ 6 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -2043,6 +2043,12 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         return R.ok().put("data",news);
     }
 
+    @Override
+    public FsUserCourseVideo selectByFileKey(String fileKey) {
+        FsUserCourseVideo fsUserCourseVideo = fsUserCourseVideoMapper.selectByFileKey(fileKey);
+        return fsUserCourseVideo;
+    }
+
     /**
      * 获取视频时长(优先从Redis获取,不存在则查数据库)
      */

+ 9 - 0
fs-service/src/main/resources/mapper/course/FsUserCourseVideoMapper.xml

@@ -333,4 +333,13 @@
     <update id="updateRedPacketMoney">
         update fs_user_course_video set red_packet_money = #{redPacketMoney} where video_id = #{videoId}
     </update>
+
+
+    <select id="selectByFileKey"  resultMap="FsUserCourseVideoResult">
+        <include refid="selectFsUserCourseVideoVo"/>
+        <where>
+            <if test="fileKey != null  and fileKey != ''"> and file_key = #{fileKey}</if>
+        </where>
+        limit 1
+    </select>
 </mapper>