lyhzzz 2 ngày trước cách đây
mục cha
commit
6900eb8463

+ 9 - 5
src/main/java/com/fdkankan/ucenter/constant/CameraTypelEnum.java

@@ -1,9 +1,6 @@
 package com.fdkankan.ucenter.constant;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 public enum CameraTypelEnum {
@@ -67,6 +64,13 @@ public enum CameraTypelEnum {
         return null;
     }
 
-
+    public static Boolean isLaserSceneSource(Integer sceneScouece) {
+        for (CameraTypelEnum value : CameraTypelEnum.values()) {
+            if(value.sceneSource.contains(sceneScouece) && value.isLaser){
+                return true;
+            }
+        }
+        return false;
+    }
 
 }

+ 19 - 5
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -29,6 +29,7 @@ import com.fdkankan.ucenter.common.constants.ResultCodeMsg;
 import com.fdkankan.ucenter.config.UcenterConfig;
 import com.fdkankan.ucenter.config.ThreadPoolConfig;
 import com.fdkankan.ucenter.constant.CameraConstant;
+import com.fdkankan.ucenter.constant.CameraTypelEnum;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.httpClient.service.LaserService;
@@ -1402,13 +1403,26 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         Page<SceneVo> page = scenePlusService.domeSceneList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         if(param.getIsObj() == 0){  //点云列表
+
+            Set<Integer> laserSceneSource = page.getRecords().stream().map(SceneVo::getSceneSource).filter(CameraTypelEnum::isLaserSceneSource).collect(Collectors.toSet());
+            HashMap<String,JSONObject> laserMap = new HashMap<>();
+            for (Integer sceneSource : laserSceneSource) {
+                List<String> numList = page.getRecords().stream().filter(e -> Objects.equals(e.getSceneSource(), sceneSource)).map(SceneVo::getNum).collect(Collectors.toList());
+                HashMap<String,JSONObject> map = laserService.list(numList, sceneSource);
+                laserMap.putAll(map);
+            }
+
             for (SceneVo record : page.getRecords()) {
-                if(ucenterConfig.getActive().contains("prod")){
-                    record.setWebSite(ucenterConfig.getBasePath() +"/index.html?m="+record.getNum());
-                }else {
-                    record.setWebSite(ucenterConfig.getBasePath() +"/uat/index.html?m="+record.getNum());
+                JSONObject ssObj = laserMap.get(record.getNum());
+                if(ssObj!=null){
+                    record.setSceneName(ssObj.getString("title"));
+                    record.setThumb(ssObj.getString("thumb"));
+                    record.setWebSite(ssObj.getString("webSite"));
+                    record.setViewCount(ssObj.getInteger("viewCount"));
+                }else{
+                    record.setStatus(-1);
+                    record.setWebSite(null);
                 }
-                record.setSceneName(record.getLaserTitle());
                 record.setIsLaser(true);
             }
         }