Bläddra i källkod

摄像头场景树

hym 4 år sedan
förälder
incheckning
e6b82afd5a

+ 37 - 18
sms_water/src/main/java/com/huaxu/service/impl/CameraManageServiceImpl.java

@@ -316,29 +316,48 @@ public class CameraManageServiceImpl implements CameraManageService {
         searchCameraManage.setStatus(1);
         List<CameraManage> cameraManages = cameraManageMapper.selectList(searchCameraManage);
         List<CameraDto>cameraDtos=new ArrayList<>();
-
-        Map<Integer, List<CameraManage>> detailmap = cameraManages.stream()
-                .collect(Collectors.groupingBy(d -> d.getSceneId() ));
         sceneEntities.forEach(sceneEntity -> {
-            Long id = sceneEntity.getId();
-            if(detailmap.get(Integer.valueOf(id+""))!=null){
                 CameraDto cameraDto=new CameraDto();
-                cameraDto.setId(id);
-                cameraDto.setSceneName(sceneEntity.getSceneName());
+                cameraDto.setId(sceneEntity.getId());
+                cameraDto.setKey(sceneEntity.getId()+"_senceType");
+                cameraDto.setParentKey(sceneEntity.getParentSceneId()+"_senceType");
                 cameraDto.setSceneTypeName(sceneEntity.getSceneTypeName());
-                List<CameraDto>cameraDtos2=new ArrayList<>();
-                detailmap.get(Integer.valueOf(id+"")).forEach(detail->{
-                    CameraDto cameraDto2=new CameraDto();
-                    cameraDto2.setId(Long.valueOf(detail.getId()));
-                    cameraDto2.setSceneName(detail.getName());
-                    cameraDto2.setSceneTypeName(sceneEntity.getSceneTypeName());
-                    cameraDtos2.add(cameraDto2);
-                });
-                cameraDto.setChildren(cameraDtos2);
+                //cameraDto.setPid(sceneEntity.getParentSceneId());
+                cameraDto.setSceneName(sceneEntity.getSceneName());
                 cameraDtos.add(cameraDto);
-            }
         });
-        return cameraDtos;
+        cameraManages.forEach(cameraManage ->{
+            CameraDto cameraDto=new CameraDto();
+
+            cameraDto.setId(Long.valueOf(cameraManage.getId()) );
+            cameraDto.setKey(cameraManage.getId()+"_cameraType");
+            cameraDto.setParentKey(cameraManage.getSceneId()+"_senceType");
+
+            cameraDto.setSceneName(cameraManage.getName());
+            cameraDtos.add(cameraDto);
+        } );
+        List<CameraDto>cameraTree=getCameraTree(cameraDtos,0+"_senceType",1);
+        return cameraTree;
+    }
+    public  List<CameraDto> getCameraTree(List<CameraDto> list, String key, Integer leve) {
+        List<CameraDto> temList = newArrayList();
+        if (list != null) {
+            for (CameraDto cameraDto : list) {
+                if (key.equals(cameraDto.getParentKey())&&leve<=2) {
+                    List<CameraDto> chidren = getCameraTree(list, cameraDto.getKey(), ++leve);
+                    CameraDto temMeanu = new CameraDto();
+                    BeanUtils.copyProperties(cameraDto, temMeanu);
+                    temMeanu.setChildren(chidren);
+                    temList.add(temMeanu);
+                    leve--;
+                }
+            }
+        }
+        if (temList.size() > 0) {
+            return temList;
+        } else {
+            return null;
+        }
     }
 
 }