Sfoglia il codice sorgente

Merge branch 'hotfix-shootcount-20231207' into release

dsx 1 anno fa
parent
commit
dbf1367f07

+ 25 - 10
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -885,21 +885,36 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
     }
 
     private Integer getShootCount(ScenePlusExt scenePlusExt){
+        Integer shootCount = null;
         String homePath = SceneUtil.getHomePath(scenePlusExt.getDataSource());
-        if(Objects.nonNull(scenePlusExt.getLocation()) && scenePlusExt.getLocation() == 5){
-            String slamDataStr = fYunFileService.getFileContent(homePath.concat("slam_data.json"));
-            JSONObject slamDataObj = JSON.parseObject(slamDataStr);
+        JSONObject dataFdageObj = JSON.parseObject(fYunFileService.getFileContent(homePath.concat("data.fdage")));
+        if(Objects.nonNull(dataFdageObj)){
+            JSONArray points = dataFdageObj.getJSONArray("points");
+            if(CollUtil.isNotEmpty(points)){
+                shootCount = points.size();
+            }
+        }
+        if(Objects.nonNull(shootCount) && shootCount > 0){
+            return shootCount;
+        }
+
+        String slamDataStr = fYunFileService.getFileContent(homePath.concat("slam_data.json"));
+        JSONObject slamDataObj = JSON.parseObject(slamDataStr);
+        if(Objects.nonNull(slamDataObj)){
             JSONArray viewsInfo = slamDataObj.getJSONArray("views_info");
-            if(CollUtil.isEmpty(viewsInfo)){
-                return 0;
+            if(CollUtil.isNotEmpty(viewsInfo)){
+                shootCount = viewsInfo.stream().mapToInt(info -> {
+                    return  ((JSONObject) info).getJSONArray("list_pose").size();
+                }).sum();
             }
-            return viewsInfo.stream().mapToInt(info -> {
-                return  ((JSONObject) info).getJSONArray("list_pose").size();
-            }).sum();
         }
 
-        JSONObject dataFdageObj = JSON.parseObject(fYunFileService.getFileContent(homePath.concat("data.fdage")));
-        return dataFdageObj.getJSONArray("points").size();
+        return shootCount;
+    }
+
+    public static void main(String[] args) {
+        JSONObject dataFdageObj = JSON.parseObject(null);
+        System.out.println(dataFdageObj);
     }
 
     private Object[] updateEditInfo(ScenePlus scenePlus){