huminmin
2026-04-27 2a71f6790ddf6be7f63e6b009fc8d325a2a1d13b
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;
    }
}