Procházet zdrojové kódy

资源库上传容量大小提交

pans před 7 měsíci
rodič
revize
6cc60a4411

+ 2 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/MinioController.java

@@ -7,7 +7,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
-import vip.xiaonuo.disk.domain.ResourceUserFile;
 import vip.xiaonuo.disk.domain.UploadFile;
 import vip.xiaonuo.disk.service.MinioService;
 import vip.xiaonuo.disk.util.MinioUtil;
@@ -58,7 +57,7 @@ public class MinioController {
     }
 
     @PostMapping("/checkMd5List")
-    public ResponseEntity<List<ResourceUserFile>> checkFilesExits(@RequestBody List<UploadFile> genericItems){
-        return ResponseEntity.ok(minioUtil.checkFilesExits(genericItems));
+    public ResponseEntity<?> checkFilesExits(@RequestBody List<UploadFile> genericItems){
+        return minioUtil.checkFilesExits(genericItems);
     }
 }

+ 2 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/UploadFile.java

@@ -14,6 +14,8 @@ public class UploadFile {
     @Schema(description = "文件名")
     private String fileName;
 
+    private Long size;
+
     @Schema(description = "切片数量")
     private int chunkNumber;
 

+ 14 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/util/MinioUtil.java

@@ -19,6 +19,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.disk.commpen.ProducerCommpen;
@@ -30,6 +32,7 @@ import vip.xiaonuo.disk.mapper.ImageMapper;
 import vip.xiaonuo.disk.mapper.ResourceFileMapper;
 import vip.xiaonuo.disk.mapper.ResourceUserFileMapper;
 import vip.xiaonuo.disk.mapper.UploadTaskMapper;
+import vip.xiaonuo.disk.service.IStorageReService;
 
 import javax.annotation.Resource;
 import javax.imageio.ImageIO;
@@ -74,7 +77,8 @@ public class MinioUtil {
     private ProducerCommpen producer;
     @Resource
     private KafKaProducerUtil kafKaProducerUtil;
-
+    @Resource
+    private IStorageReService storageReService;
     @Resource
     UploadTaskMapper uploadTaskMapper;
 
@@ -104,7 +108,14 @@ public class MinioUtil {
      * @param md5List
      * @return
      */
-    public List<ResourceUserFile> checkFilesExits(List<UploadFile> md5List) {
+    public ResponseEntity<?> checkFilesExits(List<UploadFile> md5List) {
+        long totalSize = md5List.stream()
+                .mapToLong(UploadFile::getSize)
+                .sum();
+        boolean isCheckSuccess = storageReService.checkStorage(StpLoginUserUtil.getLoginUser().getId(),totalSize);
+        if (!isCheckSuccess) {
+            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("存储空间不足");
+        }
 
         List<ResourceUserFile> noExitList = new ArrayList<>();
         md5List.forEach(item -> {
@@ -144,7 +155,7 @@ public class MinioUtil {
                }
 
         });
-        return noExitList;
+        return ResponseEntity.ok(noExitList);
     }