|
|
@@ -1,59 +0,0 @@
|
|
|
-package cn.reghao.oss.store.rpc;
|
|
|
-
|
|
|
-import cn.reghao.oss.api.dto.FileInfo;
|
|
|
-import cn.reghao.oss.api.iface.DiskService;
|
|
|
-import cn.reghao.oss.store.db.mapper.FileMetaMapper;
|
|
|
-import cn.reghao.oss.store.model.po.FileMeta;
|
|
|
-import org.apache.dubbo.config.annotation.DubboService;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-/**
|
|
|
- * @author reghao
|
|
|
- * @date 2024-07-11 16:46:50
|
|
|
- */
|
|
|
-@DubboService
|
|
|
-@Service
|
|
|
-public class DiskServiceImpl implements DiskService {
|
|
|
- private final FileMetaMapper fileMetaMapper;
|
|
|
-
|
|
|
- public DiskServiceImpl(FileMetaMapper fileMetaMapper) {
|
|
|
- this.fileMetaMapper = fileMetaMapper;
|
|
|
- }
|
|
|
-
|
|
|
- public List<FileInfo> getFiles(String pid, int pageSize, String nextObjectId) {
|
|
|
- return fileMetaMapper.findByPid(pid, pageSize, nextObjectId);
|
|
|
- }
|
|
|
-
|
|
|
- public List<FileInfo> getFiles(int pageNumber, int pageSize) {
|
|
|
- String bucket = "";
|
|
|
- String prefix = "image/i/";
|
|
|
- String startAfter = "image/cover/";
|
|
|
- startAfter = "";
|
|
|
- Integer maxKeys = 10;
|
|
|
-
|
|
|
- StringBuilder regex = new StringBuilder();
|
|
|
- //regex.append("^").append(prefix).append("([^/])+/?$");
|
|
|
- regex.append(prefix);
|
|
|
- List<FileMeta> list;
|
|
|
- if (startAfter.isBlank()) {
|
|
|
- list = fileMetaMapper.findAll0(bucket, maxKeys, regex.toString());
|
|
|
- } else {
|
|
|
- list = fileMetaMapper.findAll2(bucket, prefix, startAfter, maxKeys);
|
|
|
- }
|
|
|
-
|
|
|
- return list.stream().map(fileMeta -> {
|
|
|
- String objectId = fileMeta.getObjectId();
|
|
|
- String objectName = fileMeta.getObjectName();
|
|
|
- int fileType = fileMeta.getFileType();
|
|
|
- String filename = fileMeta.getFilename();
|
|
|
- long size = fileMeta.getSize();
|
|
|
- LocalDateTime updateTime = fileMeta.getUpdateTime();
|
|
|
- return new FileInfo();
|
|
|
- }).collect(Collectors.toList());
|
|
|
- }
|
|
|
-}
|