package cn.iocoder.yudao.module.system.service.storage;
|
|
import cn.iocoder.yudao.module.system.controller.admin.storage.vo.SystemStorageAttachmentListReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.storage.vo.SystemStorageAttachmentSaveReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.storage.vo.SystemStorageBlobRespVO;
|
import cn.iocoder.yudao.module.system.enums.storage.StorageApplicationTypeEnum;
|
import cn.iocoder.yudao.module.system.enums.storage.StorageRecordTypeEnum;
|
import cn.iocoder.yudao.module.system.util.storage.StorageFileUtil;
|
import jakarta.annotation.Resource;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
|
/**
|
* 文件关联表 Service 实现类
|
*
|
* @author 芋道源码
|
*/
|
@Service
|
@RequiredArgsConstructor
|
public class SystemStorageAttachmentServiceImpl implements SystemStorageAttachmentService {
|
|
private final StorageFileUtil fileUtil;
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void bindAttachments(SystemStorageAttachmentSaveReqVO reqVO) {
|
fileUtil.saveStorageAttachmentByRecordTypeAndRecordId(
|
reqVO.getApplication(),
|
StorageRecordTypeEnum.getByType(reqVO.getRecordType()),
|
reqVO.getRecordId(),
|
reqVO.getBlobItems()
|
);
|
}
|
|
@Override
|
public List<SystemStorageBlobRespVO> listAttachments(SystemStorageAttachmentListReqVO reqVO) {
|
return fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId(
|
reqVO.getApplication(),
|
reqVO.getRecordType(),
|
reqVO.getRecordId()
|
);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void deleteAttachments(List<Long> ids) {
|
fileUtil.deleteStorageAttachmentsByStorageAttachmentIds(ids);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void deleteAttachmentsByApplicationAndRecordTypeAndRecordId(String application, String recordType, Long recordId) {
|
fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordId(application, recordType, recordId);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void deleteAttachmentsByRecordTypeAndRecordId(String recordType, Long recordId) {
|
fileUtil.deleteStorageAttachmentsByRecordTypeAndRecordId(recordType, recordId);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void deleteAttachmentsByApplicationAndRecordTypeAndRecordIds(String application, String recordType, List<Long> recordIds) {
|
fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordIds(application, recordType, recordIds);
|
}
|
|
}
|