zss
2026-04-25 b069101e1bf347ceab11e33d73b2fbb7f37d4686
src/main/java/com/ruoyi/basic/service/impl/StorageAttachmentServiceImpl.java
@@ -1,16 +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.common.utils.MinioUtils;
import com.ruoyi.basic.utils.FileUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -30,62 +36,17 @@
    private final StorageAttachmentMapper storageAttachmentMapper;
    private final StorageBlobService storageBlobService;
    private final MinioUtils minioUtils;
    private final FileUtil fileUtil;
    @Override
    public List<StorageAttachment> selectStorageAttachments(Long recordId, StorageAttachmentRecordType recordType, String fileType) {
        // todo fileChange
//        List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
//                .eq(StorageAttachment::getRecordId, recordId)
//                .eq(StorageAttachment::getRecordType, recordType.ordinal())
//                .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));
//                storageAttachment.setStorageBlobDTO(storageBlobDTO);
//            }
//        }
//        return storageAttachments;
        return null;
    @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) {
        // 删除旧图
        // 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);
//        }
    }
    @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
@@ -102,4 +63,10 @@
//    }
        return 0;
    }
    @Override
    public int batchDeleteStorageAttachment(List<Long> ids) {
        fileUtil.deleteStorageAttachmentsByStorageAttachmentIds(ids);
        return 1;
    }
}