|
@@ -2,7 +2,11 @@ package com.ebei.screen.service.impl;
|
|
|
|
|
|
import com.ebei.screen.common.response.ResponseBean;
|
|
|
import com.ebei.screen.common.util.CommonUtil;
|
|
|
+import com.ebei.screen.modules.po.CameraDevice;
|
|
|
import com.ebei.screen.modules.po.MachineRoom;
|
|
|
+import com.ebei.screen.modules.po.Project;
|
|
|
+import com.ebei.screen.modules.po.VideoScreenListVo;
|
|
|
+import com.ebei.screen.service.EbaSystemService;
|
|
|
import com.ebei.screen.service.MachineRoomService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -15,8 +19,12 @@ import org.springframework.data.mongodb.core.query.Update;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.regex.Pattern;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* @version v1.0
|
|
@@ -33,6 +41,8 @@ public class MachineRoomServiceImpl implements MachineRoomService {
|
|
|
|
|
|
@Autowired
|
|
|
private MongoTemplate mongoTemplate;
|
|
|
+ @Autowired
|
|
|
+ private EbaSystemService ebaSystemService;
|
|
|
|
|
|
@Override
|
|
|
public void saveMachineRoom(MachineRoom machineRoom) {
|
|
@@ -41,6 +51,15 @@ public class MachineRoomServiceImpl implements MachineRoomService {
|
|
|
machineRoom.setCreateTime(now);
|
|
|
machineRoom.setType(machineRoom.getType());
|
|
|
machineRoom.setIsDelete(0);
|
|
|
+ if (machineRoom.getType().equals(1) && CommonUtil.isNotEmpty(machineRoom.getCameraDeviceList()) && CommonUtil.isNotEmpty(machineRoom.getVerCode())) {
|
|
|
+ //监控设备拼接上验证码
|
|
|
+ machineRoom.getCameraDeviceList().forEach(i -> {
|
|
|
+ if (i.getUrl().contains("888888")) {
|
|
|
+ String url = i.getUrl().replace("888888", machineRoom.getVerCode());
|
|
|
+ i.setUrl(url);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
mongoTemplate.insert(machineRoom);
|
|
|
}
|
|
|
|
|
@@ -54,8 +73,18 @@ public class MachineRoomServiceImpl implements MachineRoomService {
|
|
|
update.set("projectId", machineRoom.getProjectId());
|
|
|
update.set("projectName", machineRoom.getProjectName());
|
|
|
update.set("type", machineRoom.getType());
|
|
|
+ if (machineRoom.getType().equals(1) && CommonUtil.isNotEmpty(machineRoom.getCameraDeviceList()) && CommonUtil.isNotEmpty(machineRoom.getVerCode())) {
|
|
|
+ //监控设备拼接上验证码
|
|
|
+ machineRoom.getCameraDeviceList().forEach(i -> {
|
|
|
+ if (i.getUrl().contains("888888")) {
|
|
|
+ String url = i.getUrl().replace("888888", machineRoom.getVerCode());
|
|
|
+ i.setUrl(url);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
update.set("cameraDeviceList", machineRoom.getCameraDeviceList());
|
|
|
update.set("updateTime", now);
|
|
|
+ update.set("verCode", machineRoom.getVerCode());
|
|
|
update.set("isDelete", machineRoom.getIsDelete());
|
|
|
mongoTemplate.updateFirst(query, update, MachineRoom.class);
|
|
|
}
|
|
@@ -83,4 +112,72 @@ public class MachineRoomServiceImpl implements MachineRoomService {
|
|
|
Page<MachineRoom> pageResult = new PageImpl<>(result, pageable, total);
|
|
|
return ResponseBean.success(pageResult);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseBean videoScreenList() {
|
|
|
+ //查询所有项目
|
|
|
+ ResponseBean crmProjectList = ebaSystemService.getCrmProjectList();
|
|
|
+ List<Map> projects = (List<Map>) crmProjectList.getData();
|
|
|
+ if (CommonUtil.isEmpty(projects)) {
|
|
|
+ return ResponseBean.success();
|
|
|
+ }
|
|
|
+ List<Project> ysProject = new ArrayList<>();
|
|
|
+ List<Project> gldProject = new ArrayList<>();
|
|
|
+ //查询项目下关联的机房、摄像头
|
|
|
+ projects.forEach(i -> {
|
|
|
+ //查询项目下是否关联机房、机房下是否关联摄像头
|
|
|
+ Query query = new Query();
|
|
|
+ String projectId = String.valueOf(i.get("projectId"));
|
|
|
+ String projectName = String.valueOf(i.get("projectName"));
|
|
|
+ query.addCriteria(Criteria.where("projectId").is(projectId));
|
|
|
+ query.addCriteria(Criteria.where("isDelete").is(0));
|
|
|
+ List<MachineRoom> machineRooms = mongoTemplate.find(query, MachineRoom.class);
|
|
|
+ if (CommonUtil.isNotEmpty(machineRooms)) {
|
|
|
+ machineRooms.forEach(machineRoom -> {
|
|
|
+ List<CameraDevice> cameraList = machineRoom.getCameraDeviceList();
|
|
|
+ CameraDevice cameraDevice = cameraList.get(0);
|
|
|
+ cameraDevice.setMachineRoomName(machineRoom.getName());
|
|
|
+ if (machineRoom.getType().equals(1)) {
|
|
|
+ //萤石设备
|
|
|
+ List<Project> exist = ysProject.stream().filter(x -> x.getId().equals(projectId)).collect(Collectors.toList());
|
|
|
+ if(CommonUtil.isEmpty(exist)) {
|
|
|
+ //不存在项目
|
|
|
+ Project project = new Project();
|
|
|
+ project.setId(projectId);
|
|
|
+ project.setName(projectName);
|
|
|
+ ArrayList<CameraDevice> ysCameraDeviceList = new ArrayList<>();
|
|
|
+ ysCameraDeviceList.add(cameraDevice);
|
|
|
+ project.setCameraList(ysCameraDeviceList);
|
|
|
+ ysProject.add(project);
|
|
|
+ } else {
|
|
|
+ //存在
|
|
|
+ Project project = exist.get(0);
|
|
|
+ project.getCameraList().add(cameraDevice);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //广联达设备
|
|
|
+ List<Project> exist = gldProject.stream().filter(x -> x.getId().equals(projectId)).collect(Collectors.toList());
|
|
|
+ if(CommonUtil.isEmpty(exist)) {
|
|
|
+ //不存在项目
|
|
|
+ Project project = new Project();
|
|
|
+ project.setId(projectId);
|
|
|
+ project.setName(projectName);
|
|
|
+ ArrayList<CameraDevice> ysCameraDeviceList = new ArrayList<>();
|
|
|
+ ysCameraDeviceList.add(cameraDevice);
|
|
|
+ project.setCameraList(ysCameraDeviceList);
|
|
|
+ gldProject.add(project);
|
|
|
+ } else {
|
|
|
+ //存在
|
|
|
+ Project project = exist.get(0);
|
|
|
+ project.getCameraList().add(cameraDevice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ VideoScreenListVo result = new VideoScreenListVo();
|
|
|
+ result.setGldList(gldProject);
|
|
|
+ result.setYsList(ysProject);
|
|
|
+ return ResponseBean.success(result);
|
|
|
+ }
|
|
|
}
|