From 4b9dc71d162f3fcd79bc88b170154b7516fc4962 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 18 十二月 2025 13:37:14 +0800
Subject: [PATCH] 新增设备维修保养过程描述,上传对应附件

---
 src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
index 0d126c7..c405285 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
@@ -3,9 +3,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.dto.StorageBlobDTO;
-import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.basic.mapper.StorageAttachmentMapper;
 import com.ruoyi.basic.mapper.StorageBlobMapper;
+import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.basic.pojo.StorageBlob;
 import com.ruoyi.basic.service.StorageAttachmentService;
 import com.ruoyi.basic.service.StorageBlobService;
@@ -43,17 +43,17 @@
     private MinioUtils minioUtils;
 
     @Override
-    public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) {
+    public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType) {
         List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
                 .eq(StorageAttachment::getRecordId, recordId)
                 .eq(StorageAttachment::getRecordType, recordType.ordinal())
-                .eq(StorageAttachment::getName, fileType.toString()));
+                .eq(StorageAttachment::getName, fileType));
         if (storageAttachments != null) {
             for (StorageAttachment storageAttachment : storageAttachments) {
                 StorageBlob storageBlob = storageBlobMapper.selectById(storageAttachment.getStorageBlobId());
                 StorageBlobDTO storageBlobDTO = new StorageBlobDTO();
                 BeanUtils.copyProperties(storageBlob, storageBlobDTO);
-                storageBlobDTO.setUrl(minioUtils.getPreviewUrl(storageBlob.getBucketName(), storageBlob.getBucketName(), true));
+                storageBlobDTO.setUrl(minioUtils.getPreviewUrl(storageBlob.getBucketFilename(), storageBlob.getBucketName(), true));
                 storageAttachment.setStorageBlobDTO(storageBlobDTO);
             }
         }
@@ -74,7 +74,26 @@
             attachment.setStorageBlobId(storageBlob.getId());
             storageAttachmentMapper.insert(attachment);
         }
+    }
 
+    @Override
+    public void saveStorageAttachmentByStorageBlob(List<StorageBlobDTO> storageBlobs, Long recordId, StorageAttachmentRecordType recordType, String fileType) {
+        // 鍒犻櫎鏃у浘
+        deleteStorageAttachment(new StorageAttachment(fileType, (long) recordType.ordinal(), recordId));
+        for (StorageBlobDTO storageBlobDTO : storageBlobs) {
+            StorageAttachment attachment = new StorageAttachment(
+                    fileType,
+                    (long) recordType.ordinal(),
+                    recordId
+            );
+            attachment.setStorageBlobDTO(storageBlobDTO);
+            // 缁戝畾鍏宠仈璁板綍
+            attachment.setName(fileType);
+            attachment.setRecordType((long) recordType.ordinal());
+            attachment.setRecordId(recordId);
+            attachment.setStorageBlobId(storageBlobDTO.getId());
+            storageAttachmentMapper.insert(attachment);
+        }
     }
 
     @Override
@@ -96,8 +115,16 @@
     @Override
     public int deleteStorageAttachment(StorageAttachment storageAttachment) {
         // 鍏堝垹闄ゆ槑缁嗚〃
-        storageBlobService.deleteStorageBlobs(storageAttachment);
+        return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
+                .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId())
+                .eq(StorageAttachment::getRecordType, storageAttachment.getRecordType())
+                .eq(StorageAttachment::getName, storageAttachment.getName()));
+    }
 
+    @Override
+    public int deleteStorageAttachmentAndBlob(StorageAttachment storageAttachment) {
+        // 鍏堝垹闄ゆ槑缁嗚〃
+        storageBlobService.deleteStorageBlobs(storageAttachment);
 
         return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
                 .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId())

--
Gitblit v1.9.3