Просмотр исходного кода

更新 VideoFile 相关数据模型

reghao 2 лет назад
Родитель
Сommit
3581e0af99

+ 1 - 1
dfs-store/src/main/java/cn/reghao/dfs/store/db/mapper/FileMetaMapper.java

@@ -24,7 +24,7 @@ public interface FileMetaMapper extends BaseMapper<FileMeta> {
     List<FileMeta> findFileMetaByPage(Page page);
     FileMeta findBySha256sum(String sha256sum);
     FileMeta findByObjectName(String objectName);
-    List<FileMeta> findByObjectNames(List<String> objectNames);
+    List<FileMeta> findByObjectNames(List<String> list);
     FileMeta findByObjectId(String objectId);
     List<FileMeta> findByContentId(String contentId);
     ObjectMeta findObjectMeta(String objectName);

+ 2 - 3
dfs-store/src/main/java/cn/reghao/dfs/store/db/mapper/VideoFileMapper.java

@@ -11,14 +11,13 @@ import java.util.List;
 
 /**
  * @author reghao
- * @date 2021-12-07 18:59:11
+ * @date 2023-10-13 15:59:11
  */
 @Mapper
 public interface VideoFileMapper extends BaseMapper<VideoFile> {
     void deleteByVideoFileId(String videoFileId);
 
-    List<VideoFile> findVideoFileByPage(Page page);
     List<VideoUrlDto> findVideoUrls(String videoFileId);
     List<VideoFile> findByVideoFileId(String videoFileId);
-    VideoInfo findVideoInfo(String videoFileId);
+    List<VideoInfo> findVideoInfo(String videoFileId);
 }

+ 5 - 4
dfs-store/src/main/java/cn/reghao/dfs/store/db/repository/VideoRepository.java

@@ -41,17 +41,18 @@ public class VideoRepository {
         videoFileMapper.deleteByVideoFileId(videoFileId);
     }
 
-    public VideoInfo getVideoInfo(String videoFileId) {
+    public List<VideoInfo> getVideoInfos(String videoFileId) {
         return videoFileMapper.findVideoInfo(videoFileId);
     }
 
-    public VideoFile findVideoFile(String videoFileId) {
+    public VideoFile getOriginalVideoFile(String videoFileId) {
         List<VideoFile> list = videoFileMapper.findByVideoFileId(videoFileId);
         return list.isEmpty() ? null : list.get(0);
     }
 
-    public List<VideoFile> findVideoFiles(String videoFileId) {
-        return videoFileMapper.findByVideoFileId(videoFileId);
+    public List<VideoFile> getVideoFiles(String videoFileId) {
+        List<VideoFile> list = videoFileMapper.findByVideoFileId(videoFileId);
+        return list;
     }
 
     @Cacheable(cacheNames = "oss:store:videoUrls", key = "#videoFileId", unless = "#result.empty")

+ 8 - 1
dfs-store/src/main/java/cn/reghao/dfs/store/rpc/media/VideoFileServiceImpl.java

@@ -2,6 +2,7 @@ package cn.reghao.dfs.store.rpc.media;
 
 import cn.reghao.dfs.store.db.repository.ObjectRepository;
 import cn.reghao.dfs.store.db.repository.VideoRepository;
+import cn.reghao.dfs.store.model.po.VideoFile;
 import cn.reghao.oss.api.dto.media.VideoInfo;
 import cn.reghao.oss.api.dto.media.VideoUrlDto;
 import cn.reghao.oss.api.iface.media.VideoFileService;
@@ -33,7 +34,13 @@ public class VideoFileServiceImpl implements VideoFileService {
 
     @Override
     public VideoInfo getVideoInfo(String videoFileId) {
-        return videoRepository.getVideoInfo(videoFileId);
+        List<VideoInfo> list = videoRepository.getVideoInfos(videoFileId);
+        return list.get(0);
+    }
+
+    public List<VideoFile> getVideoFiles(String videoFileId) {
+        List<VideoFile> list = videoRepository.getVideoFiles(videoFileId);
+        return list;
     }
 
     @Override

+ 1 - 1
dfs-store/src/main/java/cn/reghao/dfs/store/task/MediaConverter.java

@@ -73,7 +73,7 @@ public class MediaConverter {
 
         public void run() {
             log.info("convert video file {}", videoFileId);
-            VideoFile videoFile = videoRepository.findVideoFile(videoFileId);
+            VideoFile videoFile = videoRepository.getOriginalVideoFile(videoFileId);
             int width = videoFile.getWidth();
             int height = videoFile.getHeight();
 

+ 1 - 1
dfs-store/src/main/java/cn/reghao/dfs/store/task/processor/VideoFileProcessor.java

@@ -45,7 +45,7 @@ public class VideoFileProcessor {
         boolean duplicate = objectResult.isDuplicate();
         if (duplicate) {
             String dupObjectId = objectResult.getDupObjectId();
-            List<VideoFile> videoFiles = videoRepository.findVideoFiles(dupObjectId);
+            List<VideoFile> videoFiles = videoRepository.getVideoFiles(dupObjectId);
             VideoFile videoFile = videoFiles.get(0);
             VideoFile videoFile1 = new VideoFile(videoFileId, objectId, objectUrl, videoFile);
             List<VideoFile> list = new ArrayList<>();

+ 9 - 0
dfs-store/src/main/resources/mapper/FileMetaMapper.xml

@@ -101,6 +101,15 @@
         from file_meta
         where object_name=#{objectName}
     </select>
+    <select id="findByObjectNames" resultType="cn.reghao.dfs.store.model.po.FileMeta">
+        select *
+        from file_meta
+        where object_name in
+        <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
+
     <select id="findByObjectId" resultType="cn.reghao.dfs.store.model.po.FileMeta">
         select *
         from file_meta

+ 1 - 6
dfs-store/src/main/resources/mapper/VideoFileMapper.xml

@@ -25,15 +25,10 @@
     <select id="findAll" resultType="cn.reghao.dfs.store.model.po.VideoFile">
         select * from video_file
     </select>
-    <select id="findVideoFileByPage" resultType="cn.reghao.dfs.store.model.po.VideoFile">
-        select * from video_file
-    </select>
     <select id="findVideoInfo" resultType="cn.reghao.oss.api.dto.media.VideoInfo">
-        select video_file_id,duration,horizontal,quality,video_codec,audio_codec
+        select video_file_id,duration,horizontal,quality,video_codec,audio_codec,url_type,url
         from video_file
         where video_file_id=#{videoFileId}
-        order by quality desc
-        limit 1
     </select>
     <select id="findByVideoFileId" resultType="cn.reghao.dfs.store.model.po.VideoFile">
         select * from video_file

+ 2 - 0
oss-api/src/main/java/cn/reghao/oss/api/dto/media/VideoInfo.java

@@ -23,4 +23,6 @@ public class VideoInfo implements Serializable {
     private String quality;
     private String videoCodec;
     private String audioCodec;
+    private String urlType;
+    private String url;
 }