浏览代码

场景重算 容量重置逻辑修改

dsx 2 年之前
父节点
当前提交
350c8cbe2a

+ 13 - 2
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -98,6 +98,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Value("#{'${model.3dtiles.sceneSource:}'.split(',')}")
     private List<Integer> sdTilesSceneSourceList;
 
+    @Value("#{'${camType:laser:}'.split(',')}")
+    private List<Integer> laserCamTypeList;
+
     @Value("${build.notSupport.beforeTime:202203}")
     private String jgNotSupportBuildTime;
 
@@ -406,7 +409,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
         //重算的场景,先移除该场景对应的容量
         if (rebuild == 1) {
-            scenePlusService.resetSpace(sceneNum);
+            if(CollUtil.isEmpty(laserCamTypeList) || !laserCamTypeList.contains(cameraDetail.getType())){
+                scenePlusService.resetSpace(sceneNum);
+            }
         } else {
             //上传log-main.png
             fYunFileService.uploadFile(ConstantFilePath.LOGO_PATH + "logo-main.png", imgViewPath + "logo-main.png");
@@ -1140,13 +1145,16 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         }
 
         //已删除原始资源的场景不支持重算
+        Long cameraId = null;
         Date laseCallTime = null;
         ScenePlusExt scenePlusExt = null;
         if(Objects.nonNull(scenePlus)){
             scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
             laseCallTime = scenePlusExt.getAlgorithmTime();
+            cameraId = scenePlus.getCameraId();
         }else{
             laseCallTime = scenePro.getCreateTime();
+            cameraId = scenePro.getCameraId();
         }
         //查询最后一次计算时间后是否有删除过目录,如果有,则不支持重算
         List<SceneCleanOrig> sceneCleanOrigs = sceneCleanOrigService.lisByNumAfterLastCall(num, laseCallTime);
@@ -1184,7 +1192,10 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         }
 
         //重算的场景,先移除该场景对应的容量
-        scenePlusService.resetSpace(num);
+        CameraDetail cameraDetail = cameraDetailService.getByCameraId(cameraId);
+        if(CollUtil.isEmpty(laserCamTypeList) || !laserCamTypeList.contains(cameraDetail.getType())){
+            scenePlusService.resetSpace(num);
+        }
         String statusJsonOssPath = String.format(UploadFilePath.DATA_VIEW_PATH, num) + "status.json";
         JSONObject statusJson = JSONObject.parseObject(fYunFileService.getFileContent(String.format(UploadFilePath.DATA_VIEW_PATH, num) + "status.json"));
         if(ObjectUtils.isEmpty(statusJson)){

+ 1 - 4
src/main/java/com/fdkankan/contro/service/impl/ScenePlusServiceImpl.java

@@ -16,6 +16,7 @@ import com.fdkankan.contro.service.IScenePlusService;
 import com.fdkankan.web.response.ResultData;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
@@ -52,10 +53,6 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
             log.info("该场景不存在无法重置容量,场景码为:" + num);
             return ResultData.error(ErrorCode.FAILURE_CODE_5058);
         }
-        if (scenePlusExt.getSceneScheme() < 4){
-            log.info("该场景不属于八目相机无法重置容量,场景码为:" + num);
-            return ResultData.error(ErrorCode.FAILURE_CODE_5057);
-        }
         if(scenePlus.getSceneStatus() == SceneStatus.EXCEED_SPACE.code()){//超出容量的场景不需要更新容量
             return ResultData.ok();
         }