|
|
@@ -13,6 +13,7 @@ import cn.reghao.oss.api.dto.media.VideoInfo;
|
|
|
import cn.reghao.oss.api.util.JwtUtil;
|
|
|
import cn.reghao.oss.store.db.repository.ObjectRepository;
|
|
|
import cn.reghao.oss.store.model.po.FileMeta;
|
|
|
+import cn.reghao.oss.api.dto.ObjectMeta;
|
|
|
import cn.reghao.oss.store.service.DiskService;
|
|
|
import cn.reghao.oss.store.service.FileStoreService;
|
|
|
import cn.reghao.oss.store.service.ObjectNameService;
|
|
|
@@ -23,8 +24,6 @@ import com.github.benmanes.caffeine.cache.Cache;
|
|
|
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.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -39,8 +38,6 @@ import java.util.stream.Collectors;
|
|
|
@DubboService
|
|
|
@Service
|
|
|
public class StoreServiceImpl implements StoreService {
|
|
|
- private final LocalDateTime epoch = LocalDateTime.parse("1970-01-01T08:00");
|
|
|
-
|
|
|
private final ObjectNameService objectNameService;
|
|
|
private final FileStoreService fileStoreService;
|
|
|
private final ObjectRepository objectRepository;
|
|
|
@@ -62,20 +59,6 @@ public class StoreServiceImpl implements StoreService {
|
|
|
this.diskService = diskService;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void createChannel(int owner, String channelPrefix, int scope) {
|
|
|
- ObjectScope objectScope = ObjectScope.getByCode(scope);
|
|
|
- if (objectScope == null) {
|
|
|
- }
|
|
|
- objectNameService.createParentDirs(owner, channelPrefix, scope);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public int countChannelObjects(String channelPrefix, int owner) {
|
|
|
- int total = objectRepository.countByObjectNamePrefix(channelPrefix, owner);
|
|
|
- return total;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public List<DiskVolume> getDiskVolumes() {
|
|
|
Map<String, DiskVolume> map = diskService.getFileStore().stream()
|
|
|
@@ -103,6 +86,25 @@ public class StoreServiceImpl implements StoreService {
|
|
|
return uploadToken;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void createChannel(int owner, String channelPrefix, int scope) {
|
|
|
+ ObjectScope objectScope = ObjectScope.getByCode(scope);
|
|
|
+ if (objectScope == null) {
|
|
|
+ }
|
|
|
+ objectNameService.createParentDirs(owner, channelPrefix, scope);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int countChannelObjects(String channelPrefix, int owner) {
|
|
|
+ FileMeta fileMeta = objectRepository.getByObjectName(channelPrefix, owner);
|
|
|
+ int total = 0;
|
|
|
+ if (fileMeta != null) {
|
|
|
+ total = objectRepository.countByPid(fileMeta.getPid());
|
|
|
+ }
|
|
|
+
|
|
|
+ return total;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void setObjectScope(String objectId, int scope) {
|
|
|
FileMeta fileMeta = objectRepository.getByObjectId(objectId);
|
|
|
@@ -112,13 +114,17 @@ public class StoreServiceImpl implements StoreService {
|
|
|
@Override
|
|
|
public void deleteByObjectId(String objectId) {
|
|
|
FileMeta fileMeta = objectRepository.getByObjectId(objectId);
|
|
|
- objectRepository.deleteObject(fileMeta);
|
|
|
+ if (fileMeta != null) {
|
|
|
+ objectRepository.updateSetDelete(fileMeta);
|
|
|
+ }
|
|
|
+ //objectRepository.deleteObject(fileMeta);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void deleteByObjectName(String objectName) {
|
|
|
- FileMeta fileMeta = objectRepository.getByObjectName(objectName);
|
|
|
- objectRepository.deleteObject(fileMeta);
|
|
|
+ public void deleteByObjectName(String objectName, int owner) {
|
|
|
+ FileMeta fileMeta = objectRepository.getByObjectName(objectName, owner);
|
|
|
+ objectRepository.updateSetDelete(fileMeta);
|
|
|
+// objectRepository.deleteObject(fileMeta);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -194,28 +200,11 @@ public class StoreServiceImpl implements StoreService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- List<FileInfo> getFiles(String pid, int pageSize, String nextObjectId) {
|
|
|
- String objectId = pid;
|
|
|
- if (!objectId.isBlank()) {
|
|
|
- FileMeta fileMeta = objectRepository.getByObjectName(pid);
|
|
|
- int fileType = fileMeta.getFileType();
|
|
|
- if (fileType != 1000) {
|
|
|
- return Collections.emptyList();
|
|
|
- }
|
|
|
- objectId = fileMeta.getObjectId();
|
|
|
- } else {
|
|
|
- objectId = "0";
|
|
|
- }
|
|
|
-
|
|
|
- objectRepository.getObjectsByPage(pid, 1, 10);
|
|
|
- return objectRepository.getFiles(objectId, pageSize, nextObjectId);
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
- public PageList<FileInfo> getByPrefix(String objectName, int pn, int ps) {
|
|
|
+ public PageList<FileInfo> getByPrefix(int owner, String objectName, int pn, int ps) {
|
|
|
String pid = "0";
|
|
|
if (!objectName.isBlank()) {
|
|
|
- FileMeta fileMeta = objectRepository.getByObjectName(objectName);
|
|
|
+ FileMeta fileMeta = objectRepository.getByObjectName(objectName, owner);
|
|
|
if (fileMeta != null) {
|
|
|
pid = fileMeta.getObjectId();
|
|
|
}
|