瀏覽代碼

update dfs-store

reghao 2 年之前
父節點
當前提交
11ef9540ec

+ 6 - 4
dfs-store/src/main/java/cn/reghao/dfs/store/model/po/FileMeta.java

@@ -28,13 +28,15 @@ public class FileMeta extends BaseObject<Integer> {
     private int acl;
 
     // 目录对象
-    public FileMeta(String pid, String objectId, String objectName, String filename) {
-        this.pid = pid;
+    public FileMeta(String objectName, String objectId, String filename, String pid) {
+        this.objectName = objectName;
         this.objectId = objectId;
         this.filename = filename;
-        this.fileType = 1000;
         this.size = 0L;
-        this.objectName = objectName;
+        this.fileType = 1000;
+        this.contentType = "0";
+        this.sha256sum = "0";
+        this.pid = pid;
         this.uploadBy = 10000L;
         this.diskFile = false;
         this.acl = 1;

+ 5 - 8
dfs-store/src/main/java/cn/reghao/dfs/store/rpc/FileServiceImpl.java

@@ -10,7 +10,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.stereotype.Service;
 
-import java.io.ByteArrayInputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.UUID;
@@ -23,9 +22,8 @@ import java.util.UUID;
 @DubboService
 @Service
 public class FileServiceImpl implements FileService {
-    private PutObjectService putObjectService;
+    private final PutObjectService putObjectService;
     private final FileMetaMapper fileMetaMapper;
-    private final int pageSize = 10;
 
     public FileServiceImpl(PutObjectService putObjectService, FileMetaMapper fileMetaMapper) {
         this.fileMetaMapper = fileMetaMapper;
@@ -45,9 +43,9 @@ public class FileServiceImpl implements FileService {
     public void createDirectory(String pid, String filename) {
         String filename1 = checkFilename(pid, filename);
         String fileId = UUID.randomUUID().toString().replace("-", "");
-        String objectName = "";
-        FileMeta fileMeta = new FileMeta(pid, fileId, objectName, filename1);
-        //fileMetaMapper.save(fileInfo);
+        String objectName = String.format("disk/0/1/%s/", fileId);
+        FileMeta fileMeta = new FileMeta(objectName, fileId, filename1, pid);
+        fileMetaMapper.save(fileMeta);
     }
 
     @Override
@@ -55,8 +53,7 @@ public class FileServiceImpl implements FileService {
         String fileId = UUID.randomUUID().toString().replace("-", "");
         String objectName = "";
         byte[] bytes = content.getBytes(StandardCharsets.UTF_8);
-        ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
-        //putObjectService.putObject(objectName, bais, bytes.length);
+        putObjectService.putObject(objectName, bytes);
         return fileId;
     }
 

+ 0 - 13
dfs-store/src/main/java/cn/reghao/dfs/store/service/MultipartUploadService.java

@@ -149,17 +149,4 @@ public class MultipartUploadService {
         }
         return fileType;
     }
-
-    private void processFile(String objectName, int fileType) {
-        log.info("处理 {} 类型的文件", fileType);
-        if (fileType == 1001) {
-            ImageFile imageFile = new ImageFile();
-            String savedPath = "/opt/tmp/tomcat/" + UUID.randomUUID();
-            //objectBasicService.getObject(objectName, savedPath);
-        } else if (fileType == 1002) {
-            VideoFile videoFile = new VideoFile();
-        } else if (fileType == 1003) {
-        } else if (fileType == 1004) {
-        }
-    }
 }

+ 10 - 0
dfs-store/src/main/java/cn/reghao/dfs/store/service/PutObjectService.java

@@ -4,6 +4,7 @@ import cn.reghao.dfs.store.db.mapper.DataBlockMapper;
 import cn.reghao.dfs.store.db.mapper.FileMetaMapper;
 import cn.reghao.dfs.store.model.po.DataBlock;
 import cn.reghao.dfs.store.model.po.FileMeta;
+import cn.reghao.jutil.jdk.security.DigestUtil;
 import cn.reghao.jutil.jdk.shell.Shell;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -14,6 +15,7 @@ import java.nio.file.CopyOption;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
@@ -82,6 +84,14 @@ public class PutObjectService {
         }
     }
 
+    public void putObject(String objectName, byte[] bytes) {
+        try {
+            String sha256sum = DigestUtil.sha256sum(bytes);
+        } catch (Exception e) {
+
+        }
+    }
+
     public void postObject(String pid, String absolutePath) {
     }
 

+ 23 - 0
dfs-store/src/main/java/cn/reghao/dfs/store/task/FileProcessor.java

@@ -0,0 +1,23 @@
+package cn.reghao.dfs.store.task;
+
+import cn.reghao.dfs.store.model.po.ImageFile;
+import cn.reghao.dfs.store.model.po.VideoFile;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @author reghao
+ * @date 2023-05-22 18:11:03
+ */
+@Slf4j
+public class FileProcessor {
+    public void process(String absolutePath, int fileType) {
+        log.info("处理 {} 类型的文件", fileType);
+        if (fileType == 1001) {
+            ImageFile imageFile = new ImageFile();
+        } else if (fileType == 1002) {
+            VideoFile videoFile = new VideoFile();
+        } else if (fileType == 1003) {
+        } else if (fileType == 1004) {
+        }
+    }
+}