Browse Source

门禁日志报警,下载视频

master
刘力 2 years ago
parent
commit
2e9ebb5aa4
  1. 15
      storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceCamerBindRepository.java
  2. 10
      storeroom/src/main/java/com/storeroom/modules/device/service/DeviceCamerBindService.java
  3. 7
      storeroom/src/main/java/com/storeroom/modules/device/service/StoreroomService.java
  4. 13
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceCamerBindImpl.java
  5. 5
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/StoreroomImpl.java
  6. 37
      storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/SecurityDoorController.java

15
storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceCamerBindRepository.java

@ -17,19 +17,22 @@ public interface DeviceCamerBindRepository extends JpaRepository<DeviceCamerBind
Integer countByDeviceInfoId(String deviceInfoId);
/**
* 根据设备id 查询绑定情况
* 查询库房代码
*
* @param deviceInfoId
* @param storeroomCode
* @return
*/
DeviceCamerBind findByDeviceInfoId(String deviceInfoId);
List<DeviceCamerBind> findByStoreroomCode(String storeroomCode);
/**
* 查询库房代码
* @param storeroomCode
* 根据设备设备id查询
* @param deviceInfoId
* @return
*/
List<DeviceCamerBind> findByStoreroomCode(String storeroomCode);
List<DeviceCamerBind> findByDeviceInfoId(String deviceInfoId);
}

10
storeroom/src/main/java/com/storeroom/modules/device/service/DeviceCamerBindService.java

@ -38,11 +38,19 @@ public interface DeviceCamerBindService {
void deleteBind(Set<String> id);
/**
* 通过库房名称查询
* 通过库房代码查询
* @return
*/
List<DeviceCamerBind> queryStoreroomCode(String StoreroomCode);
/**
* 库房id
* @param deviceInfoId 设备id
* @return /
*/
List<DeviceCamerBind> queryDeviceInfoId(String deviceInfoId);
/**
* 根据时间下载
* @param time 时间戳

7
storeroom/src/main/java/com/storeroom/modules/device/service/StoreroomService.java

@ -35,4 +35,11 @@ public interface StoreroomService {
* @return /
*/
List<Storeroom> tagMenuTree();
/**
* 根据id查询库房
* @param storeroomId
* @return
*/
Storeroom findById(String storeroomId);
}

13
storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceCamerBindImpl.java

@ -61,10 +61,13 @@ public class DeviceCamerBindImpl implements DeviceCamerBindService {
deviceinfoAll.addAll(deviceInfoList1);
for (DeviceInfo d : deviceinfoAll) {
DeviceCamerBind deviceCamerBind = deviceCamerBindRepository.findByDeviceInfoId(d.getDeviceTypeId().getId());
if (ObjectUtils.isEmpty(deviceCamerBind)) {
List<DeviceCamerBind> deviceCamerBind = deviceCamerBindRepository.findByDeviceInfoId(d.getId());
deviceCamerBind.forEach(item->{
if (ObjectUtils.isEmpty(item)) {
deviceinfoAll.remove(d);
}
});
}
return deviceinfoAll;
}
@ -75,12 +78,16 @@ public class DeviceCamerBindImpl implements DeviceCamerBindService {
}
@Override
public List<DeviceCamerBind> queryStoreroomCode(String storeroomCode) {
return deviceCamerBindRepository.findByStoreroomCode(storeroomCode);
}
@Override
public List<DeviceCamerBind> queryDeviceInfoId(String deviceInfoId) {
return deviceCamerBindRepository.findByDeviceInfoId(deviceInfoId);
}
@Override
public String downloadVideo(String time, String deviceInfoId, String deviceCamerBindId) {
Long times = Long.valueOf(time);

5
storeroom/src/main/java/com/storeroom/modules/device/service/impl/StoreroomImpl.java

@ -91,4 +91,9 @@ public class StoreroomImpl implements StoreroomService {
return null;
}
@Override
public Storeroom findById(String storeroomId) {
return storeroomRepository.findById(storeroomId).orElseGet(Storeroom::new);
}
}

37
storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/SecurityDoorController.java

@ -3,11 +3,15 @@ package com.storeroom.modules.storeroom3d.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.device.domain.CameraInfo;
import com.storeroom.modules.device.domain.DeviceCamerBind;
import com.storeroom.modules.device.domain.Storeroom;
import com.storeroom.modules.device.service.CameraInfoService;
import com.storeroom.modules.device.service.DeviceCamerBindService;
import com.storeroom.modules.device.service.StoreroomService;
import com.storeroom.modules.storeroom3d.domain.SecurityDoor;
import com.storeroom.modules.storeroom3d.service.SecurityDoorService;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.ExcelUtil;
import com.storeroom.utils.StringUtils;
import com.storeroom.utils.*;
import com.storeroom.utils.enums.ResponseStatus;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -24,10 +28,7 @@ import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@RestController
@RequestMapping("/api/securitydoor/")
@ -36,6 +37,10 @@ import java.util.Map;
public class SecurityDoorController {
private final SecurityDoorService securityDoorService;
private final DeviceCamerBindService deviceCamerBindService;
private final CameraInfoService cameraInfoService;
private final StoreroomService storeroomService;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
@ApiOperation("创建记录")
@ -49,6 +54,24 @@ public class SecurityDoorController {
}
securityDoorService.create(securityDoor);
//获取当前时间
String StrNowtime = DateUtils.getNowTimeInMillis();
if (securityDoor.getAlarmLevel() == 0) {
List<CameraInfo> cameraInfoList = new ArrayList<>();
List<DeviceCamerBind> list = deviceCamerBindService.queryDeviceInfoId(securityDoor.getDeviceId());
list.forEach(item -> {
CameraInfo cameraInfo = new CameraInfo();
cameraInfo.setId(NanoIdUtils.randomNanoId());
cameraInfo.setDeviceCamerBindId(item);
cameraInfo.setDescription(securityDoor.getAlarmMsg());
cameraInfo.setEvent("密集架报警");
//循环从第三方设备下载视频到服务器
String fileName = deviceCamerBindService.downloadVideo(StrNowtime, item.getDeviceInfoId(), item.getId());
cameraInfo.setDownloadLink(fileName);
cameraInfoList.add(cameraInfo);
});
cameraInfoService.createAll(cameraInfoList);
}
return ApiResponse.success(ResponseStatus.SUCCESS);
}

Loading…
Cancel
Save