Ver código fonte

add MediaScopeService rpc interface

reghao 2 anos atrás
pai
commit
4ed26636a7

+ 70 - 0
dfs-store/src/main/java/cn/reghao/dfs/store/rpc/media/MediaScopeServiceImpl.java

@@ -0,0 +1,70 @@
+package cn.reghao.dfs.store.rpc.media;
+
+import cn.reghao.dfs.store.db.mapper.AudioFileMapper;
+import cn.reghao.dfs.store.db.mapper.ImageFileMapper;
+import cn.reghao.dfs.store.db.mapper.VideoFileMapper;
+import cn.reghao.dfs.store.db.repository.ObjectRepository;
+import cn.reghao.dfs.store.model.po.AudioFile;
+import cn.reghao.dfs.store.model.po.ImageFile;
+import cn.reghao.dfs.store.model.po.VideoFile;
+import cn.reghao.oss.api.iface.media.MediaScopeService;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * @author reghao
+ * @date 2023-10-12 15:06:21
+ */
+@DubboService
+@Service
+public class MediaScopeServiceImpl implements MediaScopeService {
+    private final ImageFileMapper imageFileMapper;
+    private final AudioFileMapper audioFileMapper;
+    private final VideoFileMapper videoFileMapper;
+    private final ObjectRepository objectRepository;
+
+    public MediaScopeServiceImpl(ImageFileMapper imageFileMapper, AudioFileMapper audioFileMapper,
+                                 VideoFileMapper videoFileMapper, ObjectRepository objectRepository) {
+        this.imageFileMapper = imageFileMapper;
+        this.audioFileMapper = audioFileMapper;
+        this.videoFileMapper = videoFileMapper;
+        this.objectRepository = objectRepository;
+    }
+
+    @Override
+    public void setVideoScope(String videoFileId, int scope) {
+        List<String> objectIds = videoFileMapper.findByVideoFileId(videoFileId).stream()
+                .map(VideoFile::getObjectId)
+                .collect(Collectors.toList());
+        if (!objectIds.isEmpty()) {
+            List<String> objectNames = objectRepository.getObjectNames(objectIds);
+            objectRepository.updateObjectScope1(scope, objectNames);
+        }
+    }
+
+    @Override
+    public void setAudioScope(String audioFileId, int scope) {
+        List<String> objectIds = audioFileMapper.findByAudioFileId(audioFileId).stream()
+                .map(AudioFile::getObjectId)
+                .collect(Collectors.toList());
+        if (!objectIds.isEmpty()) {
+            List<String> objectNames = objectRepository.getObjectNames(objectIds);
+            objectRepository.updateObjectScope1(scope, objectNames);
+        }
+    }
+
+    @Override
+    public void setImagesScope(Set<String> imageFileIds, int scope) {
+        List<String> objectIds = imageFileMapper.findByImageFileIds(imageFileIds).stream()
+                .map(ImageFile::getObjectId)
+                .collect(Collectors.toList());
+        if (!objectIds.isEmpty()) {
+            List<String> objectNames = objectRepository.getObjectNames(objectIds);
+            objectRepository.updateObjectScope1(scope, objectNames);
+        }
+    }
+}

+ 13 - 0
oss-api/src/main/java/cn/reghao/oss/api/iface/media/MediaScopeService.java

@@ -0,0 +1,13 @@
+package cn.reghao.oss.api.iface.media;
+
+import java.util.Set;
+
+/**
+ * @author reghao
+ * @date 2023-10-12 15:06:21
+ */
+public interface MediaScopeService {
+    void setVideoScope(String videoFileId, int scope);
+    void setAudioScope(String audioFileId, int scope);
+    void setImagesScope(Set<String> imageFileIds, int scope);
+}