瀏覽代碼

更新 StoreService#setObjectUpload 方法

reghao 4 月之前
父節點
當前提交
89ab75b63e

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

@@ -21,6 +21,7 @@ public interface FileMetaMapper extends BaseMapper<FileMeta> {
 
     FileMeta findBySha256sum(String sha256sum);
     FileMeta findByObjectName(@Param("objectName") String objectName, @Param("owner") int owner);
+    FileMeta findByObjectId0(String objectId);
     FileMeta findByObjectId(String objectId);
     List<FileMeta> findByContentId(String contentId);
     ObjectMeta findObjectMetaByName(@Param("objectName") String objectName, @Param("owner") int owner);

+ 4 - 0
oss-store/src/main/java/cn/reghao/oss/store/db/repository/ObjectRepository.java

@@ -82,6 +82,10 @@ public class ObjectRepository {
         return fileMetaMapper.findByObjectId(objectId);
     }
 
+    public FileMeta getFileMeta(String objectId) {
+        return fileMetaMapper.findByObjectId0(objectId);
+    }
+
     public FileMeta getBySha256sum(String sha256sum) {
         return fileMetaMapper.findBySha256sum(sha256sum);
     }

+ 2 - 1
oss-store/src/main/java/cn/reghao/oss/store/model/po/FileMeta.java

@@ -66,7 +66,7 @@ public class FileMeta extends BaseObject<Integer> {
      * @return
      * @date 2025-10-25 13:10:924
      */
-    public FileMeta(String objectName, String objectId, String filename, FileMeta fileMeta, String pid, int scope) {
+    public FileMeta(String objectName, String objectId, String filename, FileMeta fileMeta, String pid, int scope, boolean deleted) {
         this.objectName = objectName;
         this.objectId = objectId;
         this.contentId = fileMeta.getContentId();
@@ -78,5 +78,6 @@ public class FileMeta extends BaseObject<Integer> {
         this.pid = pid;
         this.uploadBy = AuthContext.getUserId();
         this.scope = scope;
+        this.deleted = deleted;
     }
 }

+ 5 - 3
oss-store/src/main/java/cn/reghao/oss/store/rpc/StoreServiceImpl.java

@@ -108,9 +108,11 @@ public class StoreServiceImpl implements StoreService {
 
     @Override
     public void setObjectUpload(String objectId) {
-        FileMeta fileMeta = objectRepository.getByObjectId(objectId);
-        fileMeta.setDeleted(false);
-        objectRepository.updateFileMetaDeleted(fileMeta);
+        FileMeta fileMeta = objectRepository.getFileMeta(objectId);
+        if (fileMeta != null) {
+            fileMeta.setDeleted(false);
+            objectRepository.updateFileMetaDeleted(fileMeta);
+        }
     }
 
     @Override

+ 3 - 2
oss-store/src/main/java/cn/reghao/oss/store/service/PutObjectService.java

@@ -83,11 +83,12 @@ public class PutObjectService {
         String objectId = UUID.randomUUID().toString().replace("-", "");
         int scope = objectProp.getScope();
         String pid = objectProp.getPid();
-        FileMeta fileMeta1 = new FileMeta(objectName, objectId, filename, fileMeta, pid, scope);
+        FileMeta fileMeta1 = new FileMeta(objectName, objectId, filename, fileMeta, pid, scope, objectProp.isSetCallback());
         objectRepository.saveFileMeta(fileMeta1);
         return new ObjectResult(objectName, objectId, fileType, savedPath, dupObjectId);
     }
 
+    @Deprecated
     public ObjectResult copyFromObjectId(String fromObjectId) {
         FileMeta fileMeta = objectRepository.getByObjectId(fromObjectId);
         int fileType = fileMeta.getFileType();
@@ -100,7 +101,7 @@ public class PutObjectService {
         String toObjectName = objectNameService.getObjectNameFromOriginal(fromObjectName, suffix);
         String toObjectId = UUID.randomUUID().toString().replace("-", "");
         String pid = fileMeta.getPid();
-        FileMeta fileMeta1 = new FileMeta(toObjectName, toObjectId, filename, fileMeta, pid, scope);
+        FileMeta fileMeta1 = new FileMeta(toObjectName, toObjectId, filename, fileMeta, pid, scope, false);
         objectRepository.saveFileMeta(fileMeta1);
         return new ObjectResult(toObjectName, toObjectId, fileType, savedPath);
     }

+ 5 - 0
oss-store/src/main/resources/mapper/FileMetaMapper.xml

@@ -103,6 +103,11 @@
         </foreach>
     </select>
 
+    <select id="findByObjectId0" resultType="cn.reghao.oss.store.model.po.FileMeta">
+        select *
+        from file_meta
+        where object_id=#{objectId}
+    </select>
     <select id="findByObjectId" resultType="cn.reghao.oss.store.model.po.FileMeta">
         select *
         from file_meta