|
|
@@ -40,18 +40,16 @@ public class ObjectRepository {
|
|
|
dataBlockMapper.saveAll(list);
|
|
|
}
|
|
|
|
|
|
- @CacheEvict(cacheNames = "oss:store:objectMeta", key = "#objectName")
|
|
|
+ @CacheEvict(cacheNames = "oss:store:objectMeta", key = "#fileMeta.objectName")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void deleteObject(String objectName) {
|
|
|
- FileMeta fileMeta = fileMetaMapper.findByObjectName(objectName);
|
|
|
+ public void deleteObject(FileMeta fileMeta) {
|
|
|
String contentId = fileMeta.getContentId();
|
|
|
List<FileMeta> list = fileMetaMapper.findByContentId(contentId);
|
|
|
if (list.size() == 1) {
|
|
|
- FileMeta fileMeta1 = list.get(0);
|
|
|
DataBlock dataBlock = dataBlockMapper.findByContentId(contentId);
|
|
|
String absolutePath = dataBlock.getAbsolutePath();
|
|
|
|
|
|
- fileMetaMapper.delete(fileMeta1);
|
|
|
+ fileMetaMapper.delete(fileMeta);
|
|
|
dataBlockMapper.delete(dataBlock);
|
|
|
FileUtils.deleteQuietly(new File(absolutePath));
|
|
|
} else {
|
|
|
@@ -61,37 +59,21 @@ public class ObjectRepository {
|
|
|
|
|
|
public void deleteByObjectId(String objectId) {
|
|
|
FileMeta fileMeta = fileMetaMapper.findByObjectId(objectId);
|
|
|
- String contentId = fileMeta.getContentId();
|
|
|
- List<FileMeta> list = fileMetaMapper.findByContentId(contentId);
|
|
|
- if (list.size() == 1) {
|
|
|
- FileMeta fileMeta1 = list.get(0);
|
|
|
- DataBlock dataBlock = dataBlockMapper.findByContentId(contentId);
|
|
|
- String absolutePath = dataBlock.getAbsolutePath();
|
|
|
-
|
|
|
- fileMetaMapper.delete(fileMeta1);
|
|
|
- dataBlockMapper.delete(dataBlock);
|
|
|
- FileUtils.deleteQuietly(new File(absolutePath));
|
|
|
- } else {
|
|
|
- fileMetaMapper.delete(fileMeta);
|
|
|
- }
|
|
|
+ deleteObject(fileMeta);
|
|
|
}
|
|
|
|
|
|
public void deleteByObjectIds(List<String> objectIds) {
|
|
|
objectIds.forEach(this::deleteByObjectId);
|
|
|
}
|
|
|
|
|
|
- @Cacheable(cacheNames = "oss:store:fileMeta", key = "#objectName", unless = "#result == null")
|
|
|
public FileMeta getByObjectName(String objectName) {
|
|
|
- log.info("cache miss");
|
|
|
return fileMetaMapper.findByObjectName(objectName);
|
|
|
}
|
|
|
|
|
|
public FileMeta getByObjectId(String objectId) {
|
|
|
- log.info("cache miss");
|
|
|
return fileMetaMapper.findByObjectId(objectId);
|
|
|
}
|
|
|
|
|
|
- @Cacheable(cacheNames = "oss:store:fileMeta", key = "#sha256sum", unless = "#result == null")
|
|
|
public FileMeta getBySha256sum(String sha256sum) {
|
|
|
return fileMetaMapper.findBySha256sum(sha256sum);
|
|
|
}
|