diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java index ff10eb2..d019195 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java +++ b/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.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.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.ImageDownloadUtil; +import com.yxt.supervise.monitor.biz.wareHouse.YWareHouseService; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; @@ -24,11 +30,9 @@ import org.springframework.scheduling.support.CronTrigger; import org.springframework.stereotype.Component; import java.io.IOException; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Data @Slf4j @@ -45,6 +49,12 @@ public class SyncDetection implements SchedulingConfigurer { @Autowired YDeviceImageService yDeviceImageService; + @Autowired + YWareHouseService yWareHouseService; + + @Autowired + private PushPoliceInfoService pushPoliceInfoService; + @Autowired YDeviceService yDeviceService; @@ -58,11 +68,42 @@ public class SyncDetection implements SchedulingConfigurer { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type", "1"); //1 摄像头 queryWrapper.eq("isDelete", 0); -// List list = yDeviceService.list(queryWrapper); -// L.info("获取 {} 个摄像头信息,准备抓取图片"); -// for (Device device : list) { -// yDeviceImageService.getImage(device); -// } + List list = yDeviceService.list(queryWrapper); + List imageDeviceList = new ArrayList<>(); + L.info("获取 {} 个摄像头信息,准备抓取图片"); + for (Device device : list) { + DeviceImage deviceImage = yDeviceImageService.getImage(device); + System.out.println(deviceImage); + if (deviceImage != null) { + imageDeviceList.add(deviceImage); + } + } + + List wareHouses = yWareHouseService.getNeedPushWareHouses(); + + SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); + for (WareHouse wareHouse : wareHouses) { + List 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() { diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java index 9cb8fe5..5e41390 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java @@ -138,50 +138,50 @@ public class SyncService { // @Async // @Scheduled(fixedDelay = 1000 * 30) // 30秒更新一次图片比对 - public void getImage() { - try { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("type", "1"); //1 摄像头 - queryWrapper.eq("isDelete", 0); - List list = yDeviceService.list(queryWrapper); - List imageDeviceList = new ArrayList<>(); - for (Device device : list) { - DeviceImage deviceImage = yDeviceImageService.getImage(device); - System.out.println(deviceImage); - if (deviceImage != null) { - imageDeviceList.add(deviceImage); - } - } - - List wareHouses = yWareHouseService.getNeedPushWareHouses(); - - SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); - for (WareHouse wareHouse : wareHouses) { - List 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); - } - } catch (Exception ex) { - ex.printStackTrace(); - } - } +// public void getImage() { +// try { +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("type", "1"); //1 摄像头 +// queryWrapper.eq("isDelete", 0); +// List list = yDeviceService.list(queryWrapper); +// List imageDeviceList = new ArrayList<>(); +// for (Device device : list) { +// DeviceImage deviceImage = yDeviceImageService.getImage(device); +// System.out.println(deviceImage); +// if (deviceImage != null) { +// imageDeviceList.add(deviceImage); +// } +// } +// +// List wareHouses = yWareHouseService.getNeedPushWareHouses(); +// +// SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); +// for (WareHouse wareHouse : wareHouses) { +// List 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); +// } +// } catch (Exception ex) { +// ex.printStackTrace(); +// } +// } }