From f1f72f73ca5742d333246d80ba18a661f648aefb Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 27 四月 2026 15:58:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java |   52 +++++++++++++++++++++-------------------------------
 1 files changed, 21 insertions(+), 31 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 f3f3ae3..e645380 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
@@ -1,15 +1,22 @@
 package com.ruoyi.basic.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.StorageAttachmentDTO;
+import com.ruoyi.basic.dto.StorageAttachmentVO;
+import com.ruoyi.basic.dto.StorageBlobDTO;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
 import com.ruoyi.basic.mapper.StorageAttachmentMapper;
 import com.ruoyi.basic.mapper.StorageBlobMapper;
 import com.ruoyi.basic.pojo.StorageAttachment;
 import com.ruoyi.basic.service.StorageAttachmentService;
 import com.ruoyi.basic.service.StorageBlobService;
-import com.ruoyi.common.constant.StorageAttachmentConstants;
-import com.ruoyi.common.enums.StorageAttachmentRecordType;
+import com.ruoyi.basic.utils.FileUtil;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -29,40 +36,17 @@
     private final StorageAttachmentMapper storageAttachmentMapper;
 
     private final StorageBlobService storageBlobService;
-
+    private final FileUtil fileUtil;
 
     @Override
-    public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) {
-        // 鍒犻櫎鏃у浘
-        // todo fileChange
-//        deleteStorageAttachment(new StorageAttachment(fileType.toString(), (long) recordType.ordinal(), recordId));
-//        for (StorageAttachment attachment : attachments) {
-//            // 鑾峰彇鍏宠仈璁板綍
-//            StorageBlob storageBlob = attachment.getStorageBlobDTO();
-//            attachment.setName(fileType.toString());
-//            attachment.setRecordType((long) recordType.ordinal());
-//            attachment.setRecordId(recordId);
-//            attachment.setStorageBlobId(storageBlob.getId());
-//            storageAttachmentMapper.insert(attachment);
-//        }
-
+    @Transactional(rollbackFor = Exception.class)
+    public void saveStorageAttachment(StorageAttachmentDTO storageAttachmentDTO) {
+        fileUtil.saveStorageAttachmentByRecordTypeAndRecordId(storageAttachmentDTO.getApplication(), RecordTypeEnum.getByType(storageAttachmentDTO.getRecordType()), storageAttachmentDTO.getRecordId(), storageAttachmentDTO.getStorageBlobDTOs());
     }
 
     @Override
-    public void saveStorageAttachment(List<StorageAttachment> attachments, Long recordId, StorageAttachmentRecordType recordType, String fileType) {
-        // 鍒犻櫎鏃у浘
-//        deleteStorageAttachment(new StorageAttachment(fileType, (long) recordType.ordinal(), recordId));
-        // todo fileChange
-//        for (StorageAttachment attachment : attachments) {
-//            // 鑾峰彇鍏宠仈璁板綍
-//            StorageBlob storageBlob = attachment.getStorageBlobDTO();
-//            attachment.setName(fileType);
-//            attachment.setRecordType((long) recordType.ordinal());
-//            attachment.setRecordId(recordId);
-//            attachment.setStorageBlobId(storageBlob.getId());
-//            storageAttachmentMapper.insert(attachment);
-//        }
-
+    public IPage<StorageAttachmentVO> listPage(Page page, StorageAttachmentDTO storageAttachmentDTO) {
+        return fileUtil.getStorageAttachmentVosPageListByApplicationAndRecordTypeAndRecordId(page, storageAttachmentDTO);
     }
 
     @Override
@@ -79,4 +63,10 @@
 //    }
         return 0;
     }
+
+    @Override
+    public int batchDeleteStorageAttachment(List<Long> ids) {
+        fileUtil.deleteStorageAttachmentsByStorageAttachmentIds(ids);
+        return 1;
+    }
 }

--
Gitblit v1.9.3