| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- import cn.reghao.dfs.store.DfsStoreApplication;
- import cn.reghao.dfs.store.db.mapper.DataBlockMapper;
- import cn.reghao.dfs.store.db.mapper.FileContentMapper;
- import cn.reghao.dfs.store.db.mapper.FileMetaMapper;
- import cn.reghao.dfs.store.model.po.DataBlock;
- import cn.reghao.dfs.store.model.po.FileContent;
- import cn.reghao.dfs.store.model.po.FileMeta;
- import cn.reghao.dfs.store.model.vo.ObjectMeta;
- import cn.reghao.dfs.store.redis.ds.RedisString;
- import cn.reghao.dfs.store.redis.ds.RedisStringObj;
- import cn.reghao.jutil.jdk.db.Page;
- import lombok.extern.slf4j.Slf4j;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.ActiveProfiles;
- import org.springframework.test.context.junit4.SpringRunner;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.UUID;
- /**
- * @author reghao
- * @date 2023-03-22 16:19:12
- */
- @Slf4j
- @ActiveProfiles("dev")
- @SpringBootTest(classes = DfsStoreApplication.class)
- @RunWith(SpringRunner.class)
- public class RedisTest {
- String key = "dfs:store:object:";
- @Autowired
- RedisStringObj redisString;
- @Autowired
- FileMetaMapper fileMetaMapper;
- @Autowired
- DataBlockMapper dataBlockMapper;
- @Test
- public void test() {
- int total = fileMetaMapper.count();
- List<FileMeta> list = fileMetaMapper.findAll();
- list.forEach(fileMeta -> {
- String objectName = fileMeta.getObjectName();
- String key1 = key + objectName;
- redisString.set(key1, fileMeta);
- });
- }
- @Test
- public void test1() {
- int pageSize = 10000;
- int pageNumber = 1;
- Page page = new Page(pageNumber, pageSize);
- List<ObjectMeta> list = fileMetaMapper.findObjectMetaByPage(page);
- while (!list.isEmpty()) {
- list.forEach(objectMeta -> {
- /*List<DataBlock> list1 = dataBlockMapper.findByObjectId(objectMeta.getObjectId());
- if (list1.isEmpty()) {
- return;
- }*
- String absolutePath = list1.get(0).getAbsolutePath();
- objectMeta.setAbsolutePath(absolutePath);*/
- String objectName = objectMeta.getObjectName();
- String key1 = key + objectName;
- redisString.set(key1, objectMeta);
- });
- pageNumber++;
- page = new Page(pageNumber, pageSize);
- list = fileMetaMapper.findObjectMetaByPage(page);
- log.info("page -> {}", pageNumber);
- }
- }
- @Autowired
- FileContentMapper fileContentMapper;
- @Test
- public void test2() {
- List<FileMeta> list = fileMetaMapper.findAll();
- list.forEach(fileMeta -> {
- String objectId = fileMeta.getObjectId();
- List<DataBlock> list1 = dataBlockMapper.findByObjectId(objectId);
- if (list1.isEmpty()) {
- log.info("{} 为空", objectId);
- return;
- }
- DataBlock dataBlock = list1.get(0);
- String contentId = UUID.randomUUID().toString().replace("-", "");
- FileContent fileContent = new FileContent(contentId, objectId);
- dataBlock.setContentId(contentId);
- fileContentMapper.save(fileContent);
- dataBlockMapper.updateContentId(objectId, contentId);
- });
- }
- @Test
- public void test3() {
- List<FileMeta> list = fileMetaMapper.findAll();
- list.forEach(fileMeta -> {
- String objectId = fileMeta.getObjectId();
- String objectName = fileMeta.getObjectName();
- ObjectMeta objectMeta = fileMetaMapper.findObjectMeta1(objectName);
- System.out.println();
- });
- }
- @Test
- public void test4() {
- String objectName = "audio/playback/rZ7EKPbG41.mp3";
- List<String> list = getParent(objectName);
- List<FileMeta> fileMetas = new ArrayList<>();
- list.forEach(parentName -> {
- FileMeta fileMeta = fileMetaMapper.findByObjectName(parentName);
- if (fileMeta == null) {
- fileMetas.add(new FileMeta(parentName, 2));
- }
- });
- if (!fileMetas.isEmpty()) {
- fileMetaMapper.saveAll(fileMetas);
- }
- }
- void addParent(String objectName) {
- List<String> list = getParent(objectName);
- List<FileMeta> fileMetas = new ArrayList<>();
- list.forEach(parentName -> {
- FileMeta fileMeta = fileMetaMapper.findByObjectName(parentName);
- if (fileMeta == null) {
- fileMetas.add(new FileMeta(parentName, 2));
- }
- });
- if (!fileMetas.isEmpty()) {
- fileMetaMapper.saveAll(fileMetas);
- }
- }
- List<String> getParent(String objectName) {
- String[] arr = objectName.split("/");
- List<String> list = new ArrayList<>();
- list.add(arr[0] + "/");
- for (int i = 1; i < arr.length-1; i++) {
- list.add(list.get(i-1) + arr[i] + "/");
- }
- return list;
- }
- private String getUrl(String objectName) {
- String domain = "https://oss.reghao.cn/";
- StringBuilder sb = new StringBuilder();
- sb.append("?").append("Expires=").append("")
- .append("&OSSAccessId=").append("")
- .append("&Signature=").append("");
- return domain + objectName + sb.toString();
- }
- }
|