lyhzzz 2 månader sedan
förälder
incheckning
77d1f080fc

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

@@ -92,6 +92,7 @@ public enum ResultCode {
     SCENE_DOWN_ERROR(8039, "场景下载失败"),
 
     VISIT_LINK_ERROR(8040, "访问链接失效"),
+    SCENE_TYPE_ERROR(8041, "场景类型错误"),
 
     ;
 

+ 2 - 0
src/main/java/com/fdkankan/fusion/controller/SceneController.java

@@ -53,6 +53,8 @@ public class SceneController extends BaseController{
 
     @PostMapping("/sceneDetail")
     public ResultData sceneDetail(@RequestBody LaserSceneParam param){
+
+
         return ResultData.ok(sceneService.sceneDetail(param));
     }
 

+ 7 - 0
src/main/java/com/fdkankan/fusion/httpClient/FdService.java

@@ -135,6 +135,13 @@ public class FdService {
         }
         return fdkkResponse.getData();
     }
+    public JSONObject sceneInfo(String num) {
+        FdkkResponse fdkkResponse = laserClient.sceneInfo(num);
+        if(fdkkResponse.getCode() != 200){
+            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
+        }
+        return (JSONObject) fdkkResponse.getData();
+    }
 
     public void copyScene(String num) {
         HashMap<String, Object> param = new HashMap<>();

+ 2 - 1
src/main/java/com/fdkankan/fusion/httpClient/client/LaserClient.java

@@ -33,7 +33,8 @@ public interface LaserClient {
 
     @Post(value = "/laser/4dage/sceneDetail",interceptor = SignInterceptor.class)
     FdkkResponse sceneDetail(@JSONBody LaserSceneParam param, @Header ("fdToken") String fdToken);
-
+    @Get(value = "/laser/init/{num}",interceptor = SignInterceptor.class)
+    FdkkResponse sceneInfo(@Var("num")String num);
 
     /**
      * 下载深时场景

+ 14 - 4
src/main/java/com/fdkankan/fusion/service/impl/SceneService.java

@@ -7,10 +7,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
-import com.fdkankan.fusion.common.util.CameraUtil;
-import com.fdkankan.fusion.common.util.FileWriterUtil;
-import com.fdkankan.fusion.common.util.RedisKeyUtil;
-import com.fdkankan.fusion.common.util.ShellUtil;
+import com.fdkankan.fusion.common.util.*;
 import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.common.PageInfo;
@@ -168,6 +165,19 @@ public class SceneService implements ISceneService {
 
     @Override
     public Object sceneDetail(LaserSceneParam param) {
+        ScenePlus scenePlus = scenePlusService.getById(param.getId());
+        if(scenePlus == null){
+            throw new BusinessException(ResultCode.SCENE_NOT_EXIST);
+        }
+        if(scenePlus.getSceneStatus() !=-2){
+            throw new BusinessException(ResultCode.SCENE_BUILDING);
+        }
+        if(!NumTypeUtils.isLaserBySceneSource(scenePlus.getSceneSource())){
+            throw new BusinessException(ResultCode.SCENE_TYPE_ERROR);
+        }
+        JSONObject object = fdService.sceneInfo(scenePlus.getNum());
+        Integer id = object.getInteger("id");
+        param.setId(id);
         return fdService.sceneDetail(param);
     }