CommonServiceImpl.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.fdkankan.contro.mq.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import cn.hutool.core.io.FileUtil;
  4. import com.fdkankan.common.util.FileUtils;
  5. import com.fdkankan.contro.mq.service.ICommonService;
  6. import com.fdkankan.fyun.face.FYunFileServiceInterface;
  7. import com.fdkankan.model.constants.ConstantFilePath;
  8. import com.fdkankan.model.constants.UploadFilePath;
  9. import com.fdkankan.model.utils.SceneUtil;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. @Slf4j
  17. @Service
  18. public class CommonServiceImpl implements ICommonService {
  19. @Autowired
  20. private FYunFileServiceInterface fYunFileServiceInterface;
  21. @Override
  22. public void uploadBuildResultData(String num, String dataSource, String version) {
  23. Map<String, String> uploadMap = new HashMap<>();
  24. String ossResultPath = String.format(UploadFilePath.scene_result_data_path, num);
  25. //上传caches/images
  26. String localCachesImagePath = dataSource + "/caches/images/";
  27. String ossCachesImagePath = ossResultPath + "caches/images/";
  28. //先清除旧的全景图
  29. fYunFileServiceInterface.deleteFolder(ossCachesImagePath);
  30. if(FileUtil.exist(localCachesImagePath)){
  31. List<String> imagesList = FileUtil.listFileNames(localCachesImagePath);
  32. if(CollUtil.isNotEmpty(imagesList)){
  33. String ossVisionPath = String.format(UploadFilePath.IMG_VIEW_PATH, num) + "vision.txt";
  34. String visionPath = String.format(ConstantFilePath.SCENE_DATA_PATH_V4, num) + "vision.txt";
  35. fYunFileServiceInterface.downloadFile(ossVisionPath, visionPath);
  36. List<String> panoramaImageList = SceneUtil.getPanoramaImageList(FileUtil.readUtf8String(visionPath));
  37. imagesList.stream().forEach(fileName -> {
  38. if (panoramaImageList.contains(fileName)) {
  39. String srcPath = localCachesImagePath + fileName;
  40. String ossPath = ossCachesImagePath + fileName;
  41. uploadMap.put(srcPath, ossPath);
  42. }
  43. });
  44. }
  45. }
  46. //上传project.json
  47. String localProjectJsonPath = dataSource + "/project.json";
  48. String ossProjectJsonPath = ossResultPath + "project.json";
  49. if(FileUtil.exist(localProjectJsonPath)){
  50. uploadMap.put(localProjectJsonPath, ossProjectJsonPath);
  51. }
  52. //上传data.json
  53. String localDataJsonPath = dataSource + "/data.json";
  54. String ossDataJsonPath = ossResultPath + "data.json";
  55. if(FileUtil.exist(localDataJsonPath)){
  56. uploadMap.put(localDataJsonPath, ossDataJsonPath);
  57. }
  58. //开始上传
  59. fYunFileServiceInterface.uploadMulFiles(uploadMap);
  60. }
  61. }