|
@@ -15,6 +15,7 @@ import com.zcxk.facilities.uitls.RedisUtil;
|
|
|
import com.zcxk.common.utils.UserUtil;
|
|
|
import com.zcxk.facilities.dao.CameraMapper;
|
|
|
import com.zcxk.facilities.service.CameraService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.mongodb.core.aggregation.ArrayOperators;
|
|
@@ -449,16 +450,70 @@ public class CameraServiceImpl implements CameraService {
|
|
|
platforms.add(platform);
|
|
|
return platforms;
|
|
|
}
|
|
|
- private List<CameraTreeDTO> getTree2(){
|
|
|
+ @Override
|
|
|
+ public List<CameraTreeDTO> getTree(){
|
|
|
Camera camera=new Camera();
|
|
|
camera.setSiteId(UserUtil.getCurrentUser().getSiteId());
|
|
|
List<CameraTreeDTO>treeDTOS=new ArrayList<>();
|
|
|
List<Camera> cameras = cameraMapper.selectList(camera);
|
|
|
-
|
|
|
- return treeDTOS;
|
|
|
+ Iterator<Map.Entry<String, List<Camera>>> sceneIterator = cameras.stream()
|
|
|
+ .collect(Collectors.groupingBy(d -> d.getMonitorSceneName())).entrySet().iterator();
|
|
|
+ Iterator<Map.Entry<String, List<Camera>>> pointIterator = cameras.stream()
|
|
|
+ .collect(Collectors.groupingBy(d -> d.getMonitorSceneName() + "_" + d.getMonitorPointName()))
|
|
|
+ .entrySet().iterator();
|
|
|
+ while (sceneIterator.hasNext()){
|
|
|
+ CameraTreeDTO cameraTreeDTO=new CameraTreeDTO();
|
|
|
+ Map.Entry<String, List<Camera>> next = sceneIterator.next();
|
|
|
+ String key=next.getKey();
|
|
|
+ cameraTreeDTO.setName(key);
|
|
|
+ cameraTreeDTO.setUniqName(key);
|
|
|
+ cameraTreeDTO.setParentName("first");
|
|
|
+ cameraTreeDTO.setId(next.getValue().get(0).getMonitorSceneId());
|
|
|
+ treeDTOS.add(cameraTreeDTO);
|
|
|
+ }
|
|
|
+ while (pointIterator.hasNext()){
|
|
|
+ CameraTreeDTO cameraTreeDTO=new CameraTreeDTO();
|
|
|
+ Map.Entry<String, List<Camera>> next = pointIterator.next();
|
|
|
+ String key=next.getKey();
|
|
|
+ String[] names = key.split("_");
|
|
|
+ cameraTreeDTO.setName(names[1]);
|
|
|
+ cameraTreeDTO.setParentName(names[0]);
|
|
|
+ cameraTreeDTO.setUniqName(key);
|
|
|
+
|
|
|
+ cameraTreeDTO.setId(next.getValue().get(0).getMonitorPointId());
|
|
|
+ treeDTOS.add(cameraTreeDTO);
|
|
|
+ }
|
|
|
+ cameras.forEach(camera1 -> {
|
|
|
+ CameraTreeDTO cameraTreeDTO=new CameraTreeDTO();
|
|
|
+ cameraTreeDTO.setName(camera1.getChannelName());
|
|
|
+ cameraTreeDTO.setUniqName(camera1.getChannelName());
|
|
|
+ cameraTreeDTO.setParentName(camera1.getMonitorSceneName() + "_" + camera1.getMonitorPointName());
|
|
|
+ cameraTreeDTO.setId(camera1.getId());
|
|
|
+ });
|
|
|
+ return getCameraTree(treeDTOS,"first",1);
|
|
|
}
|
|
|
- @Override
|
|
|
- public List<CameraTreeDTO> getTree() {
|
|
|
+ private List<CameraTreeDTO> getCameraTree(List<CameraTreeDTO> list, String uniqName, Integer leve) {
|
|
|
+ List<CameraTreeDTO> temList = Lists.newArrayList();
|
|
|
+ if (list != null) {
|
|
|
+ for (CameraTreeDTO cameraTreeDTO : list) {
|
|
|
+ if ( !StringUtils.equals(uniqName,cameraTreeDTO.getParentName())) {
|
|
|
+ List<CameraTreeDTO> chidren = getCameraTree(list, cameraTreeDTO.getUniqName(), ++leve);
|
|
|
+ CameraTreeDTO tempTreeCameraTreeDTO = new CameraTreeDTO();
|
|
|
+ BeanUtils.copyProperties(cameraTreeDTO, tempTreeCameraTreeDTO);
|
|
|
+ tempTreeCameraTreeDTO.setChild(chidren);
|
|
|
+ temList.add(tempTreeCameraTreeDTO);
|
|
|
+ leve--;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temList.size() > 0){
|
|
|
+ return temList;
|
|
|
+ }else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<CameraTreeDTO> getTree2() {
|
|
|
MonitorScene monitorScene=new MonitorScene();
|
|
|
Integer siteId = UserUtil.getCurrentUser().getSiteId();
|
|
|
monitorScene.setSiteId(siteId);
|