Kaynağa Gözat

理光格式资源包上传并计算

dengsixing 11 ay önce
ebeveyn
işleme
1c3f68b56b

+ 11 - 0
src/main/java/com/fdkankan/contro/controller/SceneFileController.java

@@ -151,4 +151,15 @@ public class SceneFileController{
         return ResultData.ok();
     }
 
+    /**
+     * 计算理光相机格式场景
+     *
+     * @param params
+     * @return
+     */
+    @PostMapping("uploadLiguang")
+    public ResultData uploadLiguang(String params) throws Exception {
+        return sceneFileBuildService.turntableUploadSuccess(params);
+    }
+
 }

+ 2 - 0
src/main/java/com/fdkankan/contro/service/ISceneFileBuildService.java

@@ -28,4 +28,6 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
     ResultData rebuildScene(String num,Boolean force,Boolean deleteExtras, String from) throws IOException;
 
     ResultData copyDataAndBuild(String sourceBucet,String dataSource,String sceneVer) throws Exception;
+
+    ResultData uploadLiguang(String params) throws Exception;
 }

+ 58 - 0
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -1841,4 +1841,62 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         return ResultData.ok();
     }
 
+    @Override
+    public ResultData uploadLiguang(String num, String snCode, String ossZipPath) throws Exception {
+
+        if(StrUtil.isEmpty(ossZipPath)){
+            return ResultData.error(-1, "压缩路径不能为空");
+        }
+
+        if(StrUtil.isEmpty(num) && StrUtil.isEmpty(snCode)){
+            return ResultData.error(-1, "场景码或者相机码不能同时为空");
+        }
+
+        String fileId = null, unicode = null;
+        String dataSource = null;
+        String[] arr = null;
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+        if(Objects.nonNull(scenePlus)){
+            ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
+            dataSource = scenePlusExt.getDataSource();
+            arr = dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "").split("/");
+            fileId = arr[1];
+            unicode = arr[2];
+            snCode = arr[0];
+        }
+
+        //生成unicode
+        if(StrUtil.isEmpty(unicode)){
+            unicode = snCode + "_" + DateUtil.format(new Date(), "yyyyMMddHHmmss");
+        }
+
+        //生成fileid
+        if (StrUtil.isEmpty(fileId)) {
+            fileId = new SnowflakeIdGenerator(0, 0).nextId() + "";
+        }
+
+        SceneFileBuild sceneFileBuild = new SceneFileBuild();
+        sceneFileBuild.setChildName(snCode);
+        sceneFileBuild.setFileId(fileId);
+        sceneFileBuild.setRecStatus("A");
+        sceneFileBuild.setUnicode(folderName);
+        sceneFileBuild.setTotalPicNum(Integer.valueOf(totalPicNum));
+        sceneFileBuild.setChunks(Integer.valueOf(chunks));
+        sceneFileBuild.setCreateTime(new Date());
+        this.save(sceneFileBuild);
+
+
+        //生成场景吗
+
+        //生成主表
+
+        //生成编辑表
+
+        //生成控制表
+
+        //推送mq到前置计算
+
+        return ResultData.ok();
+    }
+
 }