Kaynağa Gözat

Merge branch 'hotfix-33844-20221215-lxh' into release

# Conflicts:
#	src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java
tianboguang 2 yıl önce
ebeveyn
işleme
fa9207f4b8

+ 24 - 3
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -127,10 +127,26 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
             //下载资源到本地
             this.downLoadSource(message, message.getPath());
 
+            JSONObject fdageJson = JSONObject.parseObject(FileUtils.readFile(message.getPath().concat("/capture/data.fdage")));
+
+            boolean rewrite = false;
+            // 兼容旧的数据,防止OnlyExportMeshObj标志未删除掉
+            if (fdageJson.containsKey("OnlyExportMeshObj")) {
+                log.info("data.fdage 包含 OnlyExportMeshObj,进行去除!");
+                // 写入data.fdage 防止重算
+                fdageJson.remove("OnlyExportMeshObj");
+                String ossPath = getOssPath(message.getPath());
+                fYunFileService.uploadFile(fdageJson.toJSONString().getBytes(), ossPath + "data.fdage");
+                rewrite = true;
+            }
+
             if (!ObjectUtils.isEmpty(modelType)) {
                 // 修改dataFdage文件
-                JSONObject fdageJson = JSONObject.parseObject(FileUtils.readFile(message.getPath().concat("/capture/data.fdage")));
                 fdageJson.put("modelType", modelType);
+                rewrite = true;
+            }
+
+            if (rewrite) {
                 FileUtils.writeFile(message.getPath().concat("/capture/data.fdage"), fdageJson.toJSONString());
             }
 
@@ -160,14 +176,19 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
         }
     }
 
-    @Override
-    public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path){
+    private String getOssPath(String path) {
         String ossPath = ConstantFilePath.OSS_PREFIX
                 + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
                 .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH, "");
         if (!ossPath.endsWith("/")) {
             ossPath = ossPath.concat("/");
         }
+        return ossPath;
+    }
+
+    @Override
+    public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path){
+        String ossPath = getOssPath(path);
         fYunFileService.downloadFileByCommand(path + File.separator + "capture", ossPath);
     }
 

+ 22 - 3
src/main/java/com/fdkankan/contro/mq/service/impl/BuildV3SceneServiceImpl.java

@@ -105,11 +105,25 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
             //根据相机类型,组装资源路径
             //下载资源到本地
             this.downLoadSource(message, message.getPath());
+            JSONObject fdageJson = JSONObject.parseObject(FileUtils.readFile(message.getPath().concat("/capture/data.fdage")));
+            // 兼容旧的数据,防止OnlyExportMeshObj标志未删除掉
+            boolean rewrite = false;
+            if (fdageJson.containsKey("OnlyExportMeshObj")) {
+                log.info("data.fdage 包含 OnlyExportMeshObj,进行去除!");
+                // 写入data.fdage 防止重算
+                fdageJson.remove("OnlyExportMeshObj");
+                String ossPath = getOssPath(message.getPath());
+                fYunFileService.uploadFile(fdageJson.toJSONString().getBytes(), ossPath + "data.fdage");
+                rewrite = true;
+            }
 
             if (!ObjectUtils.isEmpty(modelSceneKind)) {
                 // 修改dataFdage文件
-                JSONObject fdageJson = JSONObject.parseObject(FileUtils.readFile(message.getPath().concat("/capture/data.fdage")));
                 fdageJson.put("modelType", modelSceneKind);
+                rewrite = true;
+            }
+
+            if (rewrite) {
                 FileUtils.writeFile(message.getPath().concat("/capture/data.fdage"), fdageJson.toJSONString());
             }
 
@@ -135,14 +149,19 @@ public class BuildV3SceneServiceImpl implements IBuildSceneService {
         }
     }
 
-    @Override
-    public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path){
+    private String getOssPath(String path) {
         String ossPath = ConstantFilePath.OSS_PREFIX
                 + path.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
                 .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH, "");
         if (!ossPath.endsWith("/")) {
             ossPath = ossPath.concat("/");
         }
+        return ossPath;
+    }
+
+    @Override
+    public void downLoadSource(BuildSceneCallMessage buildSceneMqMessage,String path){
+        String ossPath = getOssPath(path);
         fYunFileService.downloadFileByCommand(path + File.separator + "capture", ossPath);
     }
 

+ 9 - 8
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -1275,15 +1275,16 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     icon = fYunFileConfig.getHost() + imgViewPath + fdageData.getString("icon");
                     log.info("上传icon成功....");
                 }
-                buildScenePost(dataSource,fdageData,"V3",cameraType,sceneNum,detailEntity,0,icon);
-
-                // 通知激光系统
-                ScenePlus scenePlus = scenePlusService.getScenePlusByNum(sceneNum);
-                String userName = null;
-                if(!ObjectUtils.isEmpty(detailEntity.getUserId())){
-                    userName = userService.getSSOUserByUserId(detailEntity.getUserId()).getUserName();
+                buildScenePost(dataSource, fdageData, "V3", cameraType, sceneNum, detailEntity, 0, icon);
+                if (cameraType == 14) {
+                    // 通知激光系统
+                    ScenePlus scenePlus = scenePlusService.getScenePlusByNum(sceneNum);
+                    String userName = null;
+                    if (!ObjectUtils.isEmpty(detailEntity.getUserId())) {
+                        userName = userService.getSSOUserByUserId(detailEntity.getUserId()).getUserName();
+                    }
+                    fdkkLaserService.saveScene(scenePlus, fdageData.getString("pwd"), cameraEntity, userName, false);
                 }
-                fdkkLaserService.saveScene(scenePlus,fdageData.getString("pwd"),cameraEntity,userName,false);
                 break;
         }
         Map<String,Object> result = new HashMap<>();