Selaa lähdekoodia

修复全景图缓存数据接口

dengsixing 3 vuotta sitten
vanhempi
commit
830d7482b7

+ 27 - 0
src/main/java/com/fdkankan/repair/controller/SceneRepairController.java

@@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.common.constant.ConstantFilePath;
 import com.fdkankan.common.constant.UploadFilePath;
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.FileUtil;
 import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.common.util.SceneUtil;
 import com.fdkankan.fyun.oss.UploadToOssUtil;
 import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import com.fdkankan.redis.constant.RedisKey;
@@ -15,7 +17,10 @@ import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.repair.bean.SceneRepairParamVO;
 import com.fdkankan.repair.bean.SceneUpgradeProgressBean;
 import com.fdkankan.repair.entity.ScenePro;
+import com.fdkankan.repair.entity.SceneProExt;
 import com.fdkankan.repair.httpclient.FdkankanMiniClient;
+import com.fdkankan.repair.service.IScenePlusExtService;
+import com.fdkankan.repair.service.ISceneProExtService;
 import com.fdkankan.repair.service.ISceneProService;
 import com.fdkankan.repair.service.ISceneResourceService;
 import com.fdkankan.repair.service.impl.SceneRepairService;
@@ -53,6 +58,8 @@ public class SceneRepairController {
     @Autowired
     ISceneProService sceneProService;
     @Autowired
+    ISceneProExtService sceneProExtService;
+    @Autowired
     private UploadToOssUtil uploadToOssUtil;
     @Autowired
     private SceneRepairService sceneRepairService;
@@ -96,6 +103,26 @@ public class SceneRepairController {
         return ResultData.ok();
     }
 
+    @PostMapping("repairPan")
+    public ResultData repairPan(String num){
+        ScenePro scenePro = sceneProService
+            .getOne(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, num));
+        SceneProExt sceneProExt = sceneProExtService.getOne(
+            new LambdaQueryWrapper<SceneProExt>().eq(SceneProExt::getSceneProId, scenePro.getId()));
+        String path = sceneProExt.getDataSource();
+        List<String> imagesList = FileUtil.getFileList(path + "/caches/images");
+
+        String imagesCachePath =  "/mnt/4Dkankan/scene/" + num;
+        String visionPath = path + "/results/vision.txt";
+        List<String> panoramaImageList = SceneUtil.getPanoramaImageList(visionPath);
+        imagesList.stream().forEach(srcPath -> {
+            if(panoramaImageList.contains(srcPath)){
+                cn.hutool.core.io.FileUtil.copy(srcPath, srcPath.replace(path, imagesCachePath), true);
+            }
+        });
+        return ResultData.ok();
+    }
+
     /**
      * 更新进度条
      * @param num

+ 18 - 9
src/main/java/com/fdkankan/repair/service/impl/SceneUpgradeToV4Service.java

@@ -292,26 +292,35 @@ public class SceneUpgradeToV4Service implements ISceneUpgradeToV4Service {
 
 
 
+            String imagesCachePath =  "/mnt/4Dkankan/scene/" + num;
             String visionPath = path + "/results/vision.txt";
             List<String> panoramaImageList = SceneUtil.getPanoramaImageList(visionPath);
             //全景图上传
             Map<String, String> map = new HashMap<>();
             String sceneNumPAth = String.format("scene/%s", num);
             List<String> imagesList = FileUtil.getFileList(path + "/caches/images");
-            if(CollUtil.isNotEmpty(imagesList)){
-                imagesList.stream().forEach(str -> {
-                    String filePath = str.substring(str.lastIndexOf(File.separator) + 1);
-                    if(panoramaImageList.contains(filePath)){
-                        map.put(str, str.replace(path, sceneNumPAth));
-                    }
-                });
-            }
+            imagesList.stream().forEach(srcPath -> {
+                if(panoramaImageList.contains(srcPath)){
+                    cn.hutool.core.io.FileUtil.copy(srcPath, srcPath.replace(path, imagesCachePath), true);
+                }
+            });
+
+
+
+//            if(CollUtil.isNotEmpty(imagesList)){
+//                imagesList.stream().forEach(str -> {
+//                    String filePath = str.substring(str.lastIndexOf(File.separator) + 1);
+//                    if(panoramaImageList.contains(filePath)){
+//                        map.put(str, str.replace(path, sceneNumPAth));
+//                    }
+//                });
+//            }
 //            上传球幕视频
 //            List<String> videosList = FileUtil.getFileList(path + "/caches/videos");
 //            if(CollUtil.isNotEmpty(videosList)){
 //                videosList.stream().forEach(str -> map.put(str, str.replace(path, sceneNumPAth)));
 //            }
-            uploadToOssUtil.uploadMulFiles(map);
+//            uploadToOssUtil.uploadMulFiles(map);
 
             //户型图上传
             String  userEditPath = UploadFilePath.USER_EDIT_PATH + "floor-cad-%s.%s";