package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.StorageAttachmentDTO; import com.ruoyi.basic.dto.StorageBlobVO; 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.basic.utils.FileUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** *

* 通用文件上传的附件信息 服务实现类 *

* * @author ruoyi * @since 2025-05-29 */ @Service @RequiredArgsConstructor public class StorageAttachmentServiceImpl extends ServiceImpl implements StorageAttachmentService { private final StorageBlobMapper storageBlobMapper; private final StorageAttachmentMapper storageAttachmentMapper; private final StorageBlobService storageBlobService; private final FileUtil fileUtil; @Override @Transactional(rollbackFor = Exception.class) public void saveStorageAttachment(StorageAttachmentDTO storageAttachmentDTO) { fileUtil.saveStorageAttachmentByRecordTypeAndRecordId(storageAttachmentDTO.getApplication(), RecordTypeEnum.getByType(storageAttachmentDTO.getRecordType()), storageAttachmentDTO.getRecordId(), storageAttachmentDTO.getStorageBlobDTOs()); } @Override public List list(StorageAttachmentDTO storageAttachmentDTO) { return fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(storageAttachmentDTO); } @Override public int deleteStorageAttachment(StorageAttachment storageAttachment) { // 先删除明细表 // todo fileChange // storageBlobService.deleteStorageBlobs(storageAttachment); // // // return storageAttachmentMapper.delete(new LambdaQueryWrapper() // .eq(StorageAttachment::getRecordId, storageAttachment.getRecordId()) // .eq(StorageAttachment::getRecordType, storageAttachment.getRecordType()) // .eq(StorageAttachment::getName, storageAttachment.getName())); // } return 0; } @Override public int batchDeleteStorageAttachment(List ids) { fileUtil.deleteStorageAttachmentsByStorageAttachmentIds(ids); return 1; } }