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 | 85 ++++++++++++++++--------------------------
1 files changed, 33 insertions(+), 52 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 78c8647..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,21 +1,22 @@
package com.ruoyi.basic.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.pojo.StorageAttachment;
+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.StorageBlob;
+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.common.utils.MinioUtils;
+import com.ruoyi.basic.utils.FileUtil;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -30,62 +31,42 @@
@Service
@RequiredArgsConstructor
public class StorageAttachmentServiceImpl extends ServiceImpl<StorageAttachmentMapper, StorageAttachment> implements StorageAttachmentService {
- @Autowired
- private StorageBlobMapper storageBlobMapper;
+ private final StorageBlobMapper storageBlobMapper;
- @Autowired
- private StorageAttachmentMapper storageAttachmentMapper;
+ private final StorageAttachmentMapper storageAttachmentMapper;
- @Autowired
- private StorageBlobService storageBlobService;
-
- @Autowired
- private MinioUtils minioUtils;
+ private final StorageBlobService storageBlobService;
+ private final FileUtil fileUtil;
@Override
- public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, StorageAttachmentConstants fileType) {
- List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
- .eq(StorageAttachment::getRecordId, recordId)
- .eq(StorageAttachment::getRecordType, recordType.ordinal())
- .eq(StorageAttachment::getName, fileType.toString()));
- 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));
- storageAttachment.setStorageBlobDTO(storageBlobDTO);
- }
- }
-
- return storageAttachments;
+ @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, StorageAttachmentConstants fileType) {
- // 鍒犻櫎鏃у浘
- 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);
- }
-
+ public IPage<StorageAttachmentVO> listPage(Page page, StorageAttachmentDTO storageAttachmentDTO) {
+ return fileUtil.getStorageAttachmentVosPageListByApplicationAndRecordTypeAndRecordId(page, storageAttachmentDTO);
}
@Override
public int deleteStorageAttachment(StorageAttachment storageAttachment) {
// 鍏堝垹闄ゆ槑缁嗚〃
- storageBlobService.deleteStorageBlobs(storageAttachment);
+ // todo fileChange
+// storageBlobService.deleteStorageBlobs(storageAttachment);
+//
+//
+// return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
+// .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId())
+// .eq(StorageAttachment::getRecordType, storageAttachment.getRecordType())
+// .eq(StorageAttachment::getName, storageAttachment.getName()));
+// }
+ return 0;
+ }
-
- return storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
- .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId())
- .eq(StorageAttachment::getRecordType, storageAttachment.getRecordType())
- .eq(StorageAttachment::getName, storageAttachment.getName()));
+ @Override
+ public int batchDeleteStorageAttachment(List<Long> ids) {
+ fileUtil.deleteStorageAttachmentsByStorageAttachmentIds(ids);
+ return 1;
}
}
--
Gitblit v1.9.3