lyhzzz 2 月之前
父节点
当前提交
74fbf0c077

+ 2 - 1
src/main/java/com/fdkankan/fusion/common/ResultCode.java

@@ -88,7 +88,8 @@ public enum ResultCode {
 
     SPACE_ERROR(8035, "获取磁盘空间失败"),
     USE_SPACE_ERROR(8036, "磁盘空间不足"),
-    SCENE_DOWN_ERROR(8037, "场景下载失败");
+    SCENE_DOWN_ERROR(8037, "场景下载失败"),
+    CASE_DOWN_ERROR(8038, "场景计算中/计算失败,无法打包。");
 
 
 

+ 19 - 0
src/main/java/com/fdkankan/fusion/controller/DownOfflinePackageController.java

@@ -1,13 +1,21 @@
 package com.fdkankan.fusion.controller;
 
 
+import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.down.CaseDownService;
+import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.response.DownParam;
 import com.fdkankan.fusion.response.DownVo;
+import com.fdkankan.fusion.response.SceneVo;
+import com.fdkankan.fusion.service.ICaseService;
+import io.netty.util.internal.UnstableApi;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,6 +31,8 @@ public class DownOfflinePackageController {
 
     @Autowired
     CaseDownService caseDownService;
+    @Autowired
+    ICaseService caseService;
 
     @GetMapping("/checkDown")
     public ResultData checkDown(@RequestParam(required = false) Integer caseId){
@@ -30,6 +40,15 @@ public class DownOfflinePackageController {
     }
     @GetMapping("/down")
     public ResultData down(@RequestParam(required = false) Integer caseId){
+        CaseParam param = new CaseParam();
+        param.setCaseId(caseId);
+        List<SceneVo> sceneVos = caseService.sceneList(param);
+        for (SceneVo sceneVo : sceneVos) {
+            if(sceneVo.getType() !=3 && sceneVo.getStatus() !=2){
+                throw new BusinessException(ResultCode.CASE_DOWN_ERROR);
+            }
+        }
+
         caseDownService.downOffline(caseId,null);
         DownVo downVo = new DownVo();
         downVo.setDownloadStatus(1);