Bladeren bron

容量改造

dsx 2 jaren geleden
bovenliggende
commit
8b5ba6870f

+ 3 - 0
src/main/java/com/fdkankan/contro/entity/SceneCleanOrig.java

@@ -31,6 +31,9 @@ public class SceneCleanOrig implements Serializable {
     @TableField("num")
     private String num;
 
+    @TableField("type")
+    private Integer type;
+
     /**
      * 0-处理中,1-成功,-1失败
      */

+ 4 - 0
src/main/java/com/fdkankan/contro/service/IExceedSpaceSceneService.java

@@ -4,6 +4,8 @@ import com.fdkankan.contro.entity.CameraDetail;
 import com.fdkankan.contro.entity.ExceedSpaceScene;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.io.IOException;
+
 /**
  * <p>
  * 超出容量场景码表 服务类
@@ -20,6 +22,8 @@ public interface IExceedSpaceSceneService extends IService<ExceedSpaceScene> {
 
     ExceedSpaceScene getByFileIdAndUnicode(long cameraId, String fileId, String unicode);
 
+    void repeal(long cameraId, String fileId, String unicode) throws IOException;
+
 
 
 }

+ 23 - 0
src/main/java/com/fdkankan/contro/service/impl/ExceedSpaceSceneServiceImpl.java

@@ -14,6 +14,7 @@ import com.fdkankan.model.constants.UploadFilePath;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
 import java.util.Objects;
 
 /**
@@ -39,6 +40,8 @@ public class ExceedSpaceSceneServiceImpl extends ServiceImpl<IExceedSpaceSceneMa
     private ICommonService commonService;
     @Autowired
     private FYunFileServiceInterface fYunFileService;
+    @Autowired
+    private ISceneCleanOrigService sceneCleanOrigService;
 
 
     @Override
@@ -63,6 +66,13 @@ public class ExceedSpaceSceneServiceImpl extends ServiceImpl<IExceedSpaceSceneMa
                 fYunFileService.deleteFolder(homePath);
             }
 
+            //记录删除原始资源记录
+            SceneCleanOrig sceneCleanOrig = new SceneCleanOrig();
+            sceneCleanOrig.setNum(num);
+            sceneCleanOrig.setType(4);
+            sceneCleanOrig.setState(CommonSuccessStatus.SUCCESS.code());
+            sceneCleanOrigService.save(sceneCleanOrig);
+
             //上传计算失败状态文件
             //上传app状态文件
             commonService.uploadStatusJson(num,SceneStatus.EXCEED_SPACE.code(),
@@ -106,4 +116,17 @@ public class ExceedSpaceSceneServiceImpl extends ServiceImpl<IExceedSpaceSceneMa
                         .eq(ExceedSpaceScene::getFileId, fileId)
                         .eq(ExceedSpaceScene::getUnicode, unicode));
     }
+
+    @Override
+    public void repeal(long cameraId, String fileId, String unicode) throws IOException {
+        ExceedSpaceScene scene = this.getByFileIdAndUnicode(cameraId, fileId, unicode);
+        if(Objects.isNull(scene)){
+            return;
+        }
+        this.removeById(scene);
+
+        //删除status.json
+        String statusJsonPath = String.format(UploadFilePath.DATA_VIEW_PATH, scene.getNum()).concat("status.json");
+        fYunFileService.deleteFile(statusJsonPath);
+    }
 }

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

@@ -331,13 +331,13 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         ScenePlus scenePlus = scenePlusService.getByFileId("/" + fileId + "/");
         int rebuild = CommonStatus.YES.code();
         if (ObjectUtils.isEmpty(scenePlus)) {
-            //先查出超出容量场景表,如能查到场景码,则用回这个场景码
-            ExceedSpaceScene exceedSpaceScene = exceedSpaceSceneService.getByFileIdAndUnicode(camera.getId(), fileId, unicode);
-            if(Objects.nonNull(exceedSpaceScene)){
-                sceneNum = exceedSpaceScene.getNum();
-            }else{
-                sceneNum = scene3dNumService.generateSceneNum(cameraDetail.getType());
-            }
+
+
+            //清除超容量场景记录
+            exceedSpaceSceneService.repeal(camera.getId(), fileId, unicode);
+
+            sceneNum = scene3dNumService.generateSceneNum(cameraDetail.getType());
+
             rebuild = CommonStatus.NO.code();
         } else {
             sceneNum = scenePlus.getNum();