Sfoglia il codice sorgente

update DiskServiceImpl

reghao 1 anno fa
parent
commit
ab63fb521d

+ 2 - 0
oss-store/src/main/java/cn/reghao/oss/store/db/mapper/FileMetaMapper.java

@@ -1,5 +1,6 @@
 package cn.reghao.oss.store.db.mapper;
 
+import cn.reghao.oss.api.dto.FileInfo;
 import cn.reghao.oss.store.model.po.FileMeta;
 import cn.reghao.oss.api.dto.ObjectMeta;
 import cn.reghao.jutil.jdk.db.BaseMapper;
@@ -22,6 +23,7 @@ public interface FileMetaMapper extends BaseMapper<FileMeta> {
     List<FileMeta> findByContentId(String contentId);
     ObjectMeta findObjectMeta(String objectName);
     ObjectMeta findObjectMetaById(String objectName);
+    List<FileInfo> findByPid(@Param("pid") String pid, @Param("pageSize") int pageSize, @Param("nextId") String nextId);
 
     /******************************************************************************************************************/
     List<FileMeta> findAll0(@Param("objectId") String objectId, @Param("max") Integer max, @Param("regex") String regex);

+ 19 - 5
oss-store/src/main/java/cn/reghao/oss/store/rpc/DiskServiceImpl.java

@@ -7,8 +7,10 @@ import cn.reghao.oss.store.model.po.FileMeta;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author reghao
@@ -23,16 +25,20 @@ public class DiskServiceImpl implements DiskService {
         this.fileMetaMapper = fileMetaMapper;
     }
 
-    @Override
+    public List<FileInfo> getFiles(String pid, int pageSize, String nextObjectId) {
+        return fileMetaMapper.findByPid(pid, pageSize, nextObjectId);
+    }
+
     public List<FileInfo> getFiles(int pageNumber, int pageSize) {
         String bucket = "";
-        String prefix = "abc/d/";
-        String startAfter = "abc/d/e";
+        String prefix = "image/i/";
+        String startAfter = "image/cover/";
         startAfter = "";
         Integer maxKeys = 10;
 
         StringBuilder regex = new StringBuilder();
-        regex.append("^").append(prefix).append("([^/])+/?$");
+        //regex.append("^").append(prefix).append("([^/])+/?$");
+        regex.append(prefix);
         List<FileMeta> list;
         if (startAfter.isBlank()) {
             list = fileMetaMapper.findAll0(bucket, maxKeys, regex.toString());
@@ -40,6 +46,14 @@ public class DiskServiceImpl implements DiskService {
             list = fileMetaMapper.findAll2(bucket, prefix, startAfter, maxKeys);
         }
 
-        return Collections.emptyList();
+        return list.stream().map(fileMeta -> {
+            String objectId = fileMeta.getObjectId();
+            String objectName = fileMeta.getObjectName();
+            int fileType = fileMeta.getFileType();
+            String filename = fileMeta.getFilename();
+            long size = fileMeta.getSize();
+            LocalDateTime updateTime = fileMeta.getUpdateTime();
+            return new FileInfo();
+        }).collect(Collectors.toList());
     }
 }

+ 7 - 6
oss-store/src/main/resources/mapper/FileMetaMapper.xml

@@ -66,7 +66,7 @@
     <select id="findAll0" resultType="cn.reghao.oss.store.model.po.FileMeta">
         select file_meta.*
         from file_meta
-        where object_id=#{objectId} and object_name regexp #{regex}
+        where object_name regexp #{regex}
         limit #{max}
     </select>
     <select id="findAll2" resultType="cn.reghao.oss.store.model.po.FileMeta">
@@ -131,6 +131,12 @@
             #{id}
         </foreach>
     </select>
+    <select id="findByPid" resultType="cn.reghao.oss.api.dto.FileInfo">
+        select size,object_name,object_id,file_type,filename,update_time
+        from file_meta
+        where pid=#{pid}
+        limit #{pageSize}
+    </select>
 
     <!--*************************************************************************************************************-->
     <update id="updateFilename">
@@ -169,11 +175,6 @@
             #{id}
         </foreach>
     </select>
-    <select id="findByPid" resultType="cn.reghao.oss.store.model.po.FileMeta">
-        select *
-        from file_meta
-        where pid=#{pid}
-    </select>
 
     <select id="countByKeyword" resultType="java.lang.Integer">
         select count(*)