Browse Source

添加设备报警

master
yangzongjia 2 years ago
parent
commit
900d24c390
  1. 59
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java
  2. 88
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java

59
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java

@ -4,10 +4,16 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.supervise.monitor.api.entity.Device; import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.DeviceImage;
import com.yxt.supervise.monitor.api.entity.WareHouse;
import com.yxt.supervise.monitor.api.vo.DeviceVo;
import com.yxt.supervise.monitor.api.vo.PushPoliceImageAllVo;
import com.yxt.supervise.monitor.biz.device.YDeviceService; import com.yxt.supervise.monitor.biz.device.YDeviceService;
import com.yxt.supervise.monitor.biz.deviceImage.YDeviceImageService; import com.yxt.supervise.monitor.biz.deviceImage.YDeviceImageService;
import com.yxt.supervise.monitor.biz.pushPoliceInfo.PushPoliceInfoService;
import com.yxt.supervise.monitor.biz.util.HttpUtils; import com.yxt.supervise.monitor.biz.util.HttpUtils;
import com.yxt.supervise.monitor.biz.util.ImageDownloadUtil; import com.yxt.supervise.monitor.biz.util.ImageDownloadUtil;
import com.yxt.supervise.monitor.biz.wareHouse.YWareHouseService;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -24,11 +30,9 @@ import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Data @Data
@Slf4j @Slf4j
@ -45,6 +49,12 @@ public class SyncDetection implements SchedulingConfigurer {
@Autowired @Autowired
YDeviceImageService yDeviceImageService; YDeviceImageService yDeviceImageService;
@Autowired
YWareHouseService yWareHouseService;
@Autowired
private PushPoliceInfoService pushPoliceInfoService;
@Autowired @Autowired
YDeviceService yDeviceService; YDeviceService yDeviceService;
@ -58,11 +68,42 @@ public class SyncDetection implements SchedulingConfigurer {
QueryWrapper<Device> queryWrapper = new QueryWrapper<>(); QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "1"); //1 摄像头 queryWrapper.eq("type", "1"); //1 摄像头
queryWrapper.eq("isDelete", 0); queryWrapper.eq("isDelete", 0);
// List<Device> list = yDeviceService.list(queryWrapper); List<Device> list = yDeviceService.list(queryWrapper);
// L.info("获取 {} 个摄像头信息,准备抓取图片"); List<DeviceImage> imageDeviceList = new ArrayList<>();
// for (Device device : list) { L.info("获取 {} 个摄像头信息,准备抓取图片");
// yDeviceImageService.getImage(device); for (Device device : list) {
// } DeviceImage deviceImage = yDeviceImageService.getImage(device);
System.out.println(deviceImage);
if (deviceImage != null) {
imageDeviceList.add(deviceImage);
}
}
List<WareHouse> wareHouses = yWareHouseService.getNeedPushWareHouses();
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
for (WareHouse wareHouse : wareHouses) {
List<DeviceVo> deviceVos = new ArrayList<>();
for (DeviceImage ed : imageDeviceList) {
if (wareHouse.getSid().equals(ed.getCkId())) {
DeviceVo deviceVo = new DeviceVo();
deviceVo.setName(ed.getName());
deviceVo.setSimilarity(ed.getSimilarity());
deviceVo.setStartImage(ed.getImgBefore());
deviceVo.setEndImage(ed.getImgAfter());
deviceVo.setStartTime(sdf.format(ed.getCreateTime()));
deviceVo.setEndTime(sdf.format(ed.getModifyTime()));
deviceVos.add(deviceVo);
}
}
PushPoliceImageAllVo pushPoliceImageAllVo = new PushPoliceImageAllVo();
pushPoliceImageAllVo.setSid(wareHouse.getSid());
pushPoliceImageAllVo.setName(wareHouse.getName());
pushPoliceImageAllVo.setDeviceImages(deviceVos);
pushPoliceImageAllVo.setSendTime(sdf.format(new Date()));
pushPoliceInfoService.pushPoliceImageMessage(pushPoliceImageAllVo);
}
} }
}, },
new Trigger() { new Trigger() {

88
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java

@ -138,50 +138,50 @@ public class SyncService {
// @Async // @Async
// @Scheduled(fixedDelay = 1000 * 30) // 30秒更新一次图片比对 // @Scheduled(fixedDelay = 1000 * 30) // 30秒更新一次图片比对
public void getImage() { // public void getImage() {
try { // try {
QueryWrapper<Device> queryWrapper = new QueryWrapper<>(); // QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "1"); //1 摄像头 // queryWrapper.eq("type", "1"); //1 摄像头
queryWrapper.eq("isDelete", 0); // queryWrapper.eq("isDelete", 0);
List<Device> list = yDeviceService.list(queryWrapper); // List<Device> list = yDeviceService.list(queryWrapper);
List<DeviceImage> imageDeviceList = new ArrayList<>(); // List<DeviceImage> imageDeviceList = new ArrayList<>();
for (Device device : list) { // for (Device device : list) {
DeviceImage deviceImage = yDeviceImageService.getImage(device); // DeviceImage deviceImage = yDeviceImageService.getImage(device);
System.out.println(deviceImage); // System.out.println(deviceImage);
if (deviceImage != null) { // if (deviceImage != null) {
imageDeviceList.add(deviceImage); // imageDeviceList.add(deviceImage);
} // }
} // }
//
List<WareHouse> wareHouses = yWareHouseService.getNeedPushWareHouses(); // List<WareHouse> wareHouses = yWareHouseService.getNeedPushWareHouses();
//
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); // SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
for (WareHouse wareHouse : wareHouses) { // for (WareHouse wareHouse : wareHouses) {
List<DeviceVo> deviceVos = new ArrayList<>(); // List<DeviceVo> deviceVos = new ArrayList<>();
for (DeviceImage ed : imageDeviceList) { // for (DeviceImage ed : imageDeviceList) {
if (wareHouse.getSid().equals(ed.getCkId())) { // if (wareHouse.getSid().equals(ed.getCkId())) {
DeviceVo deviceVo = new DeviceVo(); // DeviceVo deviceVo = new DeviceVo();
deviceVo.setName(ed.getName()); // deviceVo.setName(ed.getName());
deviceVo.setSimilarity(ed.getSimilarity()); // deviceVo.setSimilarity(ed.getSimilarity());
deviceVo.setStartImage(ed.getImgBefore()); // deviceVo.setStartImage(ed.getImgBefore());
deviceVo.setEndImage(ed.getImgAfter()); // deviceVo.setEndImage(ed.getImgAfter());
deviceVo.setStartTime(sdf.format(ed.getCreateTime())); // deviceVo.setStartTime(sdf.format(ed.getCreateTime()));
deviceVo.setEndTime(sdf.format(ed.getModifyTime())); // deviceVo.setEndTime(sdf.format(ed.getModifyTime()));
deviceVos.add(deviceVo); // deviceVos.add(deviceVo);
} // }
} // }
//
PushPoliceImageAllVo pushPoliceImageAllVo = new PushPoliceImageAllVo(); // PushPoliceImageAllVo pushPoliceImageAllVo = new PushPoliceImageAllVo();
pushPoliceImageAllVo.setSid(wareHouse.getSid()); // pushPoliceImageAllVo.setSid(wareHouse.getSid());
pushPoliceImageAllVo.setName(wareHouse.getName()); // pushPoliceImageAllVo.setName(wareHouse.getName());
pushPoliceImageAllVo.setDeviceImages(deviceVos); // pushPoliceImageAllVo.setDeviceImages(deviceVos);
pushPoliceImageAllVo.setSendTime(sdf.format(new Date())); // pushPoliceImageAllVo.setSendTime(sdf.format(new Date()));
pushPoliceInfoService.pushPoliceImageMessage(pushPoliceImageAllVo); // pushPoliceInfoService.pushPoliceImageMessage(pushPoliceImageAllVo);
} // }
} catch (Exception ex) { // } catch (Exception ex) {
ex.printStackTrace(); // ex.printStackTrace();
} // }
} // }
} }

Loading…
Cancel
Save