Explorar el Código

深时场景计算失败原因

lyhzzz hace 2 años
padre
commit
f2cca7bd77

+ 15 - 7
src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java

@@ -3,12 +3,10 @@ package com.fdkankan.manage.httpClient.service;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fdkankan.manage.common.CacheUtil;
-import com.fdkankan.manage.common.PageInfo;
-import com.fdkankan.manage.common.Result;
-import com.fdkankan.manage.common.ResultCode;
+import com.fdkankan.manage.common.*;
 import com.fdkankan.manage.entity.Camera;
 import com.fdkankan.manage.entity.CameraDetail;
+import com.fdkankan.manage.entity.SceneBuildProcessLog;
 import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.httpClient.client.LaserClient;
@@ -16,9 +14,7 @@ import com.fdkankan.manage.httpClient.param.LaserSceneMoveParam;
 import com.fdkankan.manage.httpClient.param.LaserSceneParam;
 import com.fdkankan.manage.httpClient.param.SSDownSceneParam;
 import com.fdkankan.manage.httpClient.vo.FdkkResponse;
-import com.fdkankan.manage.service.ICameraDetailService;
-import com.fdkankan.manage.service.ICameraService;
-import com.fdkankan.manage.service.IUserService;
+import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.vo.request.SceneParam;
 import com.fdkankan.manage.vo.response.SSDownSceneVo;
 import com.fdkankan.manage.vo.response.SceneVo;
@@ -48,6 +44,10 @@ public class LaserService {
     ICameraDetailService cameraDetailService;
     @Autowired
     ICameraService cameraService;
+    @Autowired
+    ISceneBuildProcessLogService sceneBuildProcessLogService;
+    @Autowired
+    IScenePlusService scenePlusService;
 
 
     public PageInfo pageList(SceneParam param) {
@@ -89,6 +89,14 @@ public class LaserService {
                 vo.setThumb(newBasePath +"/index.html?m="+vo.getNum() );
                 vo.setPayStatus(1);
                 vo.setIsObj(obj.getInteger("buildObjStatus"));
+                if(vo.getStatus() == -1){  //计算失败
+                    SceneBuildProcessLog sceneBuildProcessLog = sceneBuildProcessLogService.getByNum(vo.getNum());
+                    if(sceneBuildProcessLog != null){
+                        vo.setSceneBuildProcessLog(sceneBuildProcessLog);
+                        vo.setBuildErrorReason(SceneBuildProcessLogEnum.getReason(sceneBuildProcessLog.getProcess()));
+                        vo.setDataSource(scenePlusService.getDataSourceByNum(vo.getNum()));
+                    }
+                }
                 sceneVoList.add(vo);
             }
 

+ 2 - 0
src/main/java/com/fdkankan/manage/service/IScenePlusService.java

@@ -25,4 +25,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList,Integer isObj);
 
     HashMap<Long, Long> getCountGroupByCameraId(ArrayList<Long> longs);
+
+    String getDataSourceByNum(String num);
 }

+ 18 - 0
src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java

@@ -32,6 +32,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     ISceneProService sceneProService;
     @Autowired
     LaserService laserService;
+    @Autowired
+    IScenePlusExtService scenePlusExtService;
 
     @Override
     public ScenePlus getByNum(String sceneNum) {
@@ -67,4 +69,20 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
         return map;
     }
+
+    @Override
+    public String getDataSourceByNum(String num) {
+        ScenePro scenePro = sceneProService.getByNum(num);
+        if(scenePro != null ){
+            return scenePro.getDataSource();
+        }
+        ScenePlus plus = this.getByNum(num);
+        if(plus != null){
+            ScenePlusExt plusExt = scenePlusExtService.getByPlusId(plus.getId());
+            if(plusExt.getDataSource() != null){
+                return plusExt.getDataSource();
+            }
+        }
+        return null;
+    }
 }