Pārlūkot izejas kodu

重算逻辑添加删除extras配置

tianboguang 2 gadi atpakaļ
vecāks
revīzija
dab6570577

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

@@ -58,7 +58,7 @@ public class SceneFileController{
     }
 
     @GetMapping("rebuildScene")
-    public ResultData rebuildScene(@RequestParam(value = "num") String num,@RequestParam(value = "force",defaultValue = "false") Boolean force ) throws IOException {
-        return sceneFileBuildService.rebuildScene(num,force);
+    public ResultData rebuildScene(@RequestParam(value = "num") String num,@RequestParam(value = "force",defaultValue = "true") Boolean force ,@RequestParam(value = "deleteExtras",defaultValue = "true") Boolean deleteExtras) throws IOException {
+        return sceneFileBuildService.rebuildScene(num,force,deleteExtras);
     }
 }

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

@@ -25,6 +25,6 @@ public interface ISceneFileBuildService extends IService<SceneFileBuild> {
 
     ResultData turntableUploadSuccess(String params) throws Exception;
 
-    ResultData rebuildScene(String num,Boolean force) throws IOException;
+    ResultData rebuildScene(String num,Boolean force,Boolean deleteExtras) throws IOException;
 
 }

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

@@ -1018,11 +1018,12 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         mqMsg.setBuildType(buildType);
         mqMsg.setPath(dataSource);
         mqMsg.setCreateTime(DateUtil.format(Calendar.getInstance().getTime(), DateExtUtil.dateStyle));
+        mqMsg.setExt(new HashMap<>());
         return mqMsg;
     }
 
     @Override
-    public ResultData rebuildScene(String num,Boolean force) throws IOException {
+    public ResultData rebuildScene(String num,Boolean force,Boolean deleteExtras) throws IOException {
 
         ScenePro scenePro = sceneProService.getByNum(num);
         //如果是v3场景,不允许重算,需要升级v4后再调此接口进行重算
@@ -1075,7 +1076,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         if(sceneSource == 4){
             cameraType = 14L;
         }
-
+        BuildSceneCallMessage message = null;
         if(sceneSource == 4){
             String userName = null;
             Long sceneUserId = scenePlus.getUserId();
@@ -1085,20 +1086,20 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
             }
             Camera cameraEntity = cameraService.getById(scenePlus.getCameraId());
             fdkkLaserService.saveScene(scenePlus,null,cameraEntity,userName,true);
-            BuildSceneCallMessage buildSceneMqMessage = this.getBuildSceneMqMessage(
+            message = this.getBuildSceneMqMessage(
                     num, cameraType,
                     fdageData.getString("location") != null && "1".equals(fdageData.getString("location")) ? "sfm" : "slam",
                     fdageData.getInteger("resolution"), buildType, path);
-            rabbitMqProducer.sendByWorkQueue(queueModelingPre, buildSceneMqMessage);
         }else{
-            BuildSceneCallMessage buildSceneMqMessage = this.getBuildSceneMqMessage(
+            message = this.getBuildSceneMqMessage(
                     num, cameraType, fdageData.getString("location") != null && "1".equals(fdageData.getString("location")) ? "sfm" : "slam",
                     fdageData.getInteger("resolution"), buildType,
                     path);
-            rabbitMqProducer.sendByWorkQueue(queueModelingPre, buildSceneMqMessage);
         }
-
-
+        if(deleteExtras){
+            message.getExt().put("deleteExtras",deleteExtras);
+        }
+        rabbitMqProducer.sendByWorkQueue(queueModelingPre, message);
         scenePlusService.update(new LambdaUpdateWrapper<ScenePlus>()
             .set(ScenePlus::getSceneStatus, SceneStatus.wait.code())
             .eq(ScenePlus::getNum, num));