|
@@ -3,13 +3,18 @@ package com.huaxu.service.impl;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.huaxu.dao.CameraManageMapper;
|
|
|
+import com.huaxu.dao.SceneMapper;
|
|
|
+import com.huaxu.dto.CameraDto;
|
|
|
import com.huaxu.entity.CameraManage;
|
|
|
+import com.huaxu.entity.SceneEntity;
|
|
|
import com.huaxu.model.LoginUser;
|
|
|
import com.huaxu.model.ProgramItem;
|
|
|
import com.huaxu.service.CameraManageService;
|
|
|
import com.huaxu.util.OrgInfoUtil;
|
|
|
import com.huaxu.util.RedisUtil;
|
|
|
import com.huaxu.util.UserUtil;
|
|
|
+import javafx.scene.Camera;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.HttpEntity;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
@@ -21,6 +26,9 @@ import org.springframework.util.MultiValueMap;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static com.google.common.collect.Lists.newArrayList;
|
|
|
|
|
|
/**
|
|
|
* (CameraManage表)服务实现类
|
|
@@ -38,6 +46,8 @@ public class CameraManageServiceImpl implements CameraManageService {
|
|
|
private RestTemplate restTemplate;
|
|
|
@Autowired
|
|
|
private OrgInfoUtil util;
|
|
|
+ @Autowired
|
|
|
+ private SceneMapper sceneMapper;
|
|
|
|
|
|
/**
|
|
|
* 通过ID查询单条数据
|
|
@@ -290,4 +300,45 @@ public class CameraManageServiceImpl implements CameraManageService {
|
|
|
cameraManageMapper.deleteAll(ids);
|
|
|
return 0;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CameraDto> getCameraTree(Long typeId) {
|
|
|
+
|
|
|
+ LoginUser currentUser = UserUtil.getCurrentUser();
|
|
|
+ SceneEntity searchSceneEntity = new SceneEntity();
|
|
|
+ searchSceneEntity.setTenantId(currentUser.getTenantId());
|
|
|
+ searchSceneEntity.setProgramItems(currentUser.getProgramItemList());
|
|
|
+ searchSceneEntity.setUserType(currentUser.getType());
|
|
|
+ //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
|
|
|
+ searchSceneEntity.setPermissonType(currentUser.getPermissonType());
|
|
|
+ List<SceneEntity> sceneEntities = sceneMapper.findList(searchSceneEntity);
|
|
|
+ CameraManage searchCameraManage=new CameraManage();
|
|
|
+ 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.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);
|
|
|
+ cameraDtos.add(cameraDto);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return cameraDtos;
|
|
|
+ }
|
|
|
+
|
|
|
}
|