dengsixing 2 minggu lalu
induk
melakukan
31bb1e961f

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

@@ -76,7 +76,7 @@ public class SceneFileController{
      */
     @PostMapping("uploadSuccessBuild")
     public ResultData uploadSuccessBuild(String params) throws Exception {
-        return sceneFileBuildService.uploadSuccessBuild(params, null);
+        return sceneFileBuildService.uploadSuccessBuild(params, null, false);
     }
 
     /**
@@ -87,7 +87,7 @@ public class SceneFileController{
      */
     @PostMapping("turntableUploadSuccess")
     public ResultData turntableUploadSuccess(String params) throws Exception {
-        return sceneFileBuildService.turntableUploadSuccess(params, null);
+        return sceneFileBuildService.turntableUploadSuccess(params, null, false);
     }
 
     @GetMapping("rebuildScene")

+ 2 - 2
src/main/java/com/fdkankan/contro/mq/listener/UploadSceneListener.java

@@ -122,9 +122,9 @@ public class UploadSceneListener {
         String params = snCode + "#" + fileId + "#" + uniCode;
         String encode = Base64.encode(RSAEncrypt.encrypt(RSAEncrypt.loadPublicKeyByStr(RSAEncrypt.loadPublicKeyByFile()), params.getBytes(StandardCharsets.UTF_8)));
         if(camType == 9 || camType == 10 || camType == 11){
-            sceneFileBuildService.turntableUploadSuccess(encode, user);
+            sceneFileBuildService.turntableUploadSuccess(encode, user, true);
         }else{
-            sceneFileBuildService.uploadSuccessBuild(encode, user);
+            sceneFileBuildService.uploadSuccessBuild(encode, user, true);
         }
     }
 

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

@@ -24,9 +24,9 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
 
     ResponseSceneFile preUpload(String params) throws Exception;
 
-    ResultData uploadSuccessBuild(String params, User user) throws Exception;
+    ResultData uploadSuccessBuild(String params, User user, boolean forceBuild) throws Exception;
 
-    ResultData turntableUploadSuccess(String params, User user) throws Exception;
+    ResultData turntableUploadSuccess(String params, User user, boolean forceBuild) throws Exception;
 
     ResultData rebuildScene(String num,Boolean force,Boolean deleteExtras, String from) throws IOException;
 

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

@@ -389,7 +389,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         return list.get(0);
     }
 
-    public ScenePlusVO buildScene(String fileId, String prefix,JSONObject jsonObject,String buildType,long cameraType, User user) throws Exception{
+    public ScenePlusVO buildScene(String fileId, String prefix,JSONObject jsonObject,String buildType,long cameraType, User user, boolean forceBuild) throws Exception{
         //调用createScene方法生成scene数据和加入算法队列
         String sceneNum = "";
         String cameraName = jsonObject.getJSONObject("cam").getString("uuid");
@@ -457,7 +457,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             sceneCopyLogService.checkCanBuild(sceneNum);
             if (scenePlus.getSceneStatus().equals(SceneStatus.wait.code())) {
                 log.info(scenePlus.getNum() + ":场景处于计算中,不能再计算");
-                return null;
+                if(!forceBuild){
+                    return null;
+                }
             }
         }
         if (sceneNum == null) {
@@ -696,7 +698,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     }
 
     @Override
-    public ResultData uploadSuccessBuild(String params, User user) throws Exception {
+    public ResultData uploadSuccessBuild(String params, User user, boolean forceBuild) throws Exception {
         log.info("uploadSuccessBuild-params: " + params);
         String preParams = params;
         if (StringUtils.isEmpty(params)) {
@@ -743,7 +745,6 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             }
         }
 
-
         if(!fYunFileService.fileExist(ConstantFilePath.OSS_PREFIX + prefixBuffer + "data.fdage")){
             log.error("data.fdage文件不存在");
             throw new BusinessException(CameraConstant.FAILURE_6009);
@@ -766,21 +767,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             cameraType = 6L;
         }
 
-        this.removeUpdateV4(ConstantFilePath.OSS_PREFIX + prefixBuffer + "data.fdage", fdageJson);
-
-        // 判断是否是V3的场景
-        ScenePro scenePro = sceneProService.getOne(
-            new LambdaQueryWrapper<ScenePro>().like(ScenePro::getDataSource, "/".concat(fileId).concat("/")));
-
-//        boolean callV3 = callV3(scenePro, preParams, fdageJson, "api/scene/file/uploadSuccessBuild");
-//        if(callV3) return ResultData.ok();
+        buildScene(fileId, prefixBuffer.toString(),fdageJson,buildType,cameraType, user, forceBuild);
 
-
-        if (ObjectUtils.isEmpty(scenePro) || (!ObjectUtils.isEmpty(scenePro.getIsUpgrade()) && scenePro.getIsUpgrade() == 1)) {
-            buildScene(fileId, prefixBuffer.toString(),fdageJson,buildType,cameraType, user);
-        }else{
-            buildV3Scene(scenePro,fileId, prefixBuffer.toString(),fdageJson,buildType,cameraType);
-        }
         return ResultData.ok();
     }
 
@@ -859,7 +847,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     }
 
     @Override
-    public ResultData turntableUploadSuccess(String params, User user) throws Exception {
+    public ResultData turntableUploadSuccess(String params, User user, boolean forceBuild) throws Exception {
         log.info("turntableUploadSuccess-params: " + params);
         String preParams = params;
         if (StringUtils.isEmpty(params)) {
@@ -929,7 +917,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             cameraType = 14L;
         }
 
-        ScenePlusVO scenePlusVO = buildScene(fileId, prefixBuffer.toString(), fdageJson, buildType, cameraType, user);
+        ScenePlusVO scenePlusVO = buildScene(fileId, prefixBuffer.toString(), fdageJson, buildType, cameraType, user, forceBuild);
 
         // 通知激光场景系统开始构建场景
         if(cameraType.longValue() == 14 && fdageJson.getIntValue("location") != 7){