lyhzzz 9 months ago
parent
commit
769247f15f

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

@@ -87,7 +87,7 @@ public enum ResultCode  {
     ID_CARD_EXIT(60017, "身份证号码已存在"),
 
 
-    ;
+    LASER_VIEW_ERROR(60018,"激光系统出错" );
 
     private Integer code;
     private String message;

+ 41 - 0
src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java

@@ -6,6 +6,7 @@ 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.entity.Camera;
 import com.fdkankan.manage.entity.CameraDetail;
 import com.fdkankan.manage.entity.User;
@@ -281,4 +282,44 @@ public class LaserService {
         }
         return null ;
     }
+
+    public HashMap<String, JSONObject> list(List<String> sceneNumList,Integer sceneSource) {
+        LaserSceneParam newParam = new LaserSceneParam();
+        newParam.setPageNum(1);
+        newParam.setPageSize(sceneNumList.size());
+        newParam.setSceneCodes(sceneNumList);
+        newParam.setSceneSource(sceneSource);
+        return this.list(newParam);
+    }
+
+    public HashMap<String, JSONObject> list(String sceneName,Integer sceneSource) {
+        LaserSceneParam newParam = new LaserSceneParam();
+        newParam.setPageNum(1);
+        newParam.setPageSize(9999);
+        newParam.setTitle(sceneName);
+        newParam.setSceneSource(sceneSource);
+        return this.list(newParam);
+    }
+
+    public HashMap<String, JSONObject> list(LaserSceneParam newParam) {
+        HashMap<String, JSONObject> map = new HashMap<>();
+        try {
+            FdkkResponse fdkkResponse = laserClient.sceneList(newParam);
+            JSONObject jsonObject = fdkkResponse.getData();
+            if(jsonObject == null){
+                return map;
+            }
+            JSONArray list = jsonObject.getJSONArray("list");
+
+            for (Object o : list) {
+                JSONObject obj = (JSONObject) o;
+                map.put(obj.getString("num"),obj);
+            }
+        }catch (Exception e){
+            log.info("激光系统访问失败:{}",e);
+            throw new BusinessException(ResultCode.LASER_VIEW_ERROR);
+        }
+
+        return map;
+    }
 }

+ 9 - 0
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -352,6 +352,15 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         HashMap<String,SceneCopyLog> map =  copyLogService.getByNewNumList(numList);
         HashMap<String, JSONObject> laserMap = new HashMap<>();
 
+        List<String> sceneNumList = page.getRecords().stream().map(SceneVo::getNum).collect(Collectors.toList());
+
+        if(param.getType() == 2 && laserMap.isEmpty()){
+            laserMap = laserService.list(sceneNumList,4);
+        }
+        if(param.getType() == 6 && laserMap.isEmpty()){
+            laserMap = laserService.list(sceneNumList,5);
+        }
+
         for (SceneVo record : page.getRecords()) {
             if(param.getType() == 2 || param.getType() == 6){
                 JSONObject ssObj = laserMap.get(record.getNum());