MediaFileTest.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import cn.reghao.dfs.store.DfsStoreApplication;
  2. import cn.reghao.dfs.store.db.mapper.*;
  3. import cn.reghao.dfs.store.db.repository.ObjectRepository;
  4. import cn.reghao.dfs.store.model.po.*;
  5. import cn.reghao.dfs.store.model.vo.ImageObject;
  6. import cn.reghao.jutil.media.ImageOps;
  7. import cn.reghao.oss.api.dto.ObjectMeta;
  8. import cn.reghao.oss.api.rest.UploadFileRet;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.junit.Test;
  11. import org.junit.runner.RunWith;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.boot.test.context.SpringBootTest;
  14. import org.springframework.test.context.ActiveProfiles;
  15. import org.springframework.test.context.junit4.SpringRunner;
  16. import java.io.File;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import java.util.Set;
  20. import java.util.stream.Collectors;
  21. /**
  22. * @author reghao
  23. * @date 2023-03-22 16:19:12
  24. */
  25. @Slf4j
  26. @ActiveProfiles("dev")
  27. @SpringBootTest(classes = DfsStoreApplication.class)
  28. @RunWith(SpringRunner.class)
  29. public class MediaFileTest {
  30. @Autowired
  31. VideoFileMapper videoFileMapper;
  32. @Autowired
  33. VideoUrlMapper videoUrlMapper;
  34. @Autowired
  35. FileMetaMapper fileMetaMapper;
  36. @Autowired
  37. ImageFileMapper imageFileMapper;
  38. @Autowired
  39. ImageUrlMapper imageUrlMapper;
  40. @Autowired
  41. ObjectRepository objectRepository;
  42. @Test
  43. public void videoUrlTest() {
  44. List<ImageObject> list = imageFileMapper.findAll1();
  45. Set<String> ids = list.stream().map(ImageObject::getImageFileId).collect(Collectors.toSet());
  46. List<ImageObject> list1 = imageUrlMapper.findAll1();
  47. //Set<String> ids = list1.stream().map(ImageObject::getImageFileId).collect(Collectors.toSet());
  48. List<ImageObject> notExist = new ArrayList<>();
  49. list1.forEach(imageObject -> {
  50. if (!ids.contains(imageObject.getImageFileId())) {
  51. notExist.add(imageObject);
  52. }
  53. });
  54. List<ImageFile> imageFiles = new ArrayList<>();
  55. /*for (ImageObject imageObject : notExist) {
  56. String imageFileId = imageObject.getImageFileId();
  57. String objectId = imageObject.getObjectId();
  58. ObjectMeta objectMeta = objectRepository.getObjectMetaById(objectId);
  59. if (objectMeta == null) {
  60. log.error("object {} not exist", objectId);
  61. continue;
  62. }
  63. String absolutePath = objectMeta.getAbsolutePath();
  64. File file = new File(absolutePath);
  65. if (!file.exists()) {
  66. log.error("file {} not exist", absolutePath);
  67. continue;
  68. }
  69. try {
  70. ImageOps.Size size = ImageOps.info(file);
  71. int width = size.getWidth();
  72. int height = size.getHeight();
  73. ImageFile imageFile = new ImageFile(imageFileId, width, height);
  74. imageFiles.add(imageFile);
  75. if (imageFiles.size() > 10_000) {
  76. imageFileMapper.saveAll(imageFiles);
  77. log.info("持久化 {} 个 ImageFile", imageFiles.size());
  78. imageFiles.clear();
  79. }
  80. } catch (Exception e) {
  81. e.printStackTrace();
  82. }
  83. }
  84. if (imageFiles.size() > 0) {
  85. imageFileMapper.saveAll(imageFiles);
  86. log.info("持久化 {} 个 ImageFile", imageFiles.size());
  87. imageFiles.clear();
  88. }*/
  89. }
  90. }