|
|
@@ -1,11 +1,7 @@
|
|
|
package cn.reghao.oss.store.db.repository;
|
|
|
|
|
|
-import cn.reghao.jutil.jdk.converter.ByteConverter;
|
|
|
-import cn.reghao.jutil.jdk.converter.ByteType;
|
|
|
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
|
|
|
import cn.reghao.jutil.jdk.db.Page;
|
|
|
-import cn.reghao.oss.api.constant.ObjectType;
|
|
|
-import cn.reghao.oss.api.dto.FileInfo;
|
|
|
+import cn.reghao.oss.api.dto.ObjectInfo;
|
|
|
import cn.reghao.oss.store.db.mapper.DataBlockMapper;
|
|
|
import cn.reghao.oss.store.db.mapper.FileMetaMapper;
|
|
|
import cn.reghao.oss.store.model.po.DataBlock;
|
|
|
@@ -14,12 +10,12 @@ import cn.reghao.oss.api.dto.ObjectMeta;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.io.FileUtils;
|
|
|
import org.springframework.cache.annotation.CacheEvict;
|
|
|
+import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author reghao
|
|
|
@@ -30,7 +26,6 @@ import java.util.stream.Collectors;
|
|
|
public class ObjectRepository {
|
|
|
private final FileMetaMapper fileMetaMapper;
|
|
|
private final DataBlockMapper dataBlockMapper;
|
|
|
- private final ByteConverter byteConverter = new ByteConverter();
|
|
|
|
|
|
public ObjectRepository(FileMetaMapper fileMetaMapper, DataBlockMapper dataBlockMapper) {
|
|
|
this.fileMetaMapper = fileMetaMapper;
|
|
|
@@ -91,10 +86,9 @@ public class ObjectRepository {
|
|
|
return fileMetaMapper.findBySha256sum(sha256sum);
|
|
|
}
|
|
|
|
|
|
- //@Cacheable(cacheNames = "oss:store:objectMeta", key = "#objectName", unless = "#result == null")
|
|
|
+ @Cacheable(cacheNames = "oss:store:objectMeta", key = "#objectName+'-'+#owner", unless = "#result == null")
|
|
|
public ObjectMeta getObjectMetaByName(String objectName, int owner) {
|
|
|
log.info("cache miss {}", objectName);
|
|
|
- FileMeta fileMeta = fileMetaMapper.findByObjectName(objectName, owner);
|
|
|
ObjectMeta objectMeta = fileMetaMapper.findObjectMetaByName(objectName, owner);
|
|
|
return objectMeta;
|
|
|
}
|
|
|
@@ -107,24 +101,14 @@ public class ObjectRepository {
|
|
|
return fileMetaMapper.countByPid(pid);
|
|
|
}
|
|
|
|
|
|
- public List<FileInfo> getObjectsByPage(String pid, int pn, int ps) {
|
|
|
+ public List<ObjectInfo> getObjectsByPage(String pid, int pn, int ps) {
|
|
|
Page page = new Page(pn, ps);
|
|
|
- List<FileMeta> list = fileMetaMapper.findPidByPage(page, pid);
|
|
|
- return list.stream().map(this::getFileInfo).collect(Collectors.toList());
|
|
|
+ List<ObjectInfo> list = fileMetaMapper.findPidByPage(page, pid);
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
- private FileInfo getFileInfo(FileMeta fileMeta) {
|
|
|
- String objectId = fileMeta.getObjectId();
|
|
|
- String objectName = fileMeta.getObjectName();
|
|
|
- int fileType = fileMeta.getFileType();
|
|
|
- String fileTypeStr = ObjectType.getDescByCode(fileMeta.getFileType());
|
|
|
- String filename = fileMeta.getFilename();
|
|
|
- String size = byteConverter.convert(ByteType.Bytes, fileMeta.getSize());
|
|
|
- String updateTime = DateTimeConverter.format(fileMeta.getUpdateTime());
|
|
|
- return new FileInfo(objectId, objectName, fileType, fileTypeStr, filename, size, updateTime);
|
|
|
- }
|
|
|
-
|
|
|
- List<FileInfo> getObjects() {
|
|
|
+ @Deprecated
|
|
|
+ void getObjects() {
|
|
|
String bucket = "";
|
|
|
String prefix = "image/i/";
|
|
|
String startAfter = "image/cover/";
|
|
|
@@ -140,7 +124,5 @@ public class ObjectRepository {
|
|
|
} else {
|
|
|
list = fileMetaMapper.findAll2(bucket, prefix, startAfter, maxKeys);
|
|
|
}
|
|
|
-
|
|
|
- return list.stream().map(this::getFileInfo).collect(Collectors.toList());
|
|
|
}
|
|
|
}
|