From 71fba5328a35b449b11088e540932787220f91d8 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 18 六月 2025 17:28:50 +0800
Subject: [PATCH] 1.生产加工变更库存回滚 2.巡检,档案上传完善

---
 ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java |   48 +++++++++++++++++++++++++++---------------------
 1 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java b/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java
index dc7acff..1c51d86 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java
@@ -2,29 +2,26 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.entity.StorageAttachment;
 import com.ruoyi.basic.entity.StorageBlob;
 import com.ruoyi.basic.entity.dto.StorageBlobDTO;
 import com.ruoyi.basic.mapper.StorageAttachmentMapper;
 import com.ruoyi.basic.mapper.StorageBlobMapper;
 import com.ruoyi.basic.service.StorageBlobService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.config.MinioConfig;
-import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.MinioResult;
 import com.ruoyi.common.exception.file.InvalidExtensionException;
-import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.MinioUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import lombok.RequiredArgsConstructor;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -47,13 +44,12 @@
     private MinioUtils minioUtils;
 
     @Override
-    public List<StorageBlobDTO> updateStorageBlobs(List<MultipartFile> files, String bucketName) {
+    public List<StorageBlobDTO> updateStorageBlobs(List<MultipartFile> files, String bucketName,Long type) {
 
         // 鑻ユ病浼犲叆bucketName锛屽垯浣跨敤榛樿bucketName
         if (StringUtils.isEmpty(bucketName)) {
-            bucketName  = minioUtils.getDefaultBucket();
+            bucketName = minioUtils.getDefaultBucket();
         }
-
         List<StorageBlobDTO> storageBlobDTOs = new ArrayList<>();
         for (MultipartFile file : files) {
             try {
@@ -65,18 +61,18 @@
                 dto.setByteSize(file.getSize());
                 dto.setKey(IdUtils.simpleUUID());
                 dto.setBucketName(bucketName);
-                dto.setCreateTime(DateUtils.getNowDate());
                 dto.setUrl(minioUtils.getPreviewUrl(res.getBucketFileName(), bucketName, false));
+                dto.setDownloadUrl(minioUtils.getDownloadUrl(res.getBucketFileName(), bucketName));
+                if (type != null){
+                    dto.setType(type);
+                }
                 // 鎻掑叆鏁版嵁搴�
                 storageBlobMapper.insert(dto);
-
                 storageBlobDTOs.add(dto);
             } catch (InvalidExtensionException e) {
-                throw new RuntimeException("minio鏂囦欢涓婁紶寮傚父锛�" +  e);
+                throw new RuntimeException("minio鏂囦欢涓婁紶寮傚父锛�" + e);
             }
         }
-
-
         return storageBlobDTOs;
     }
 
@@ -86,20 +82,30 @@
                 .eq(StorageAttachment::getRecordId, attachment.getRecordId())
                 .eq(StorageAttachment::getRecordType, attachment.getRecordType())
                 .eq(StorageAttachment::getName, attachment.getName()));
-        List<Long> ids = attachments.stream().map(StorageAttachment::getStorageBlobId).toList();
-        List<StorageBlob> storageBlobs = storageBlobMapper.selectList(new LambdaQueryWrapper<StorageBlob>()
-                .in(StorageBlob::getId, ids));
+        List<Long> ids = attachments.stream()
+                .map(StorageAttachment::getStorageBlobId)
+                .collect(Collectors.toList());
+        List<StorageBlob> storageBlobs = new ArrayList<>();
+        if (!ids.isEmpty()) {
+            // 鍙湪ID鍒楄〃闈炵┖鏃舵墽琛屾煡璇�
+            storageBlobs = storageBlobMapper.selectList(
+                    new LambdaQueryWrapper<StorageBlob>().in(StorageBlob::getId, ids)
+            );
+        }
+        
+        // 绉婚櫎MinIO涓殑鏂囦欢
         if (!storageBlobs.isEmpty()) {
             for (StorageBlob storageBlob : storageBlobs) {
-                // 绉婚櫎妗跺唴鏂囦欢
-                minioUtils.removeObjectsResult(storageBlob.getBucketName(), storageBlob.getBucketName());
+                minioUtils.removeObjectsResult(storageBlob.getBucketName(), storageBlob.getBucketFilename());
             }
         }
 
+        // 鍒犻櫎鏁版嵁搴撹褰�
         if (!ids.isEmpty()) {
-            return storageBlobMapper.delete(new QueryWrapper<StorageBlob>().lambda().in(StorageBlob::getId, ids));
+            return storageBlobMapper.delete(
+                    new QueryWrapper<StorageBlob>().lambda().in(StorageBlob::getId, ids)
+            );
         }
-
         return 0;
     }
 }

--
Gitblit v1.9.3