From 69cd9f59a0fabf12f8c9147fcba7f69817a870b3 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期一, 06 十一月 2023 23:40:59 +0800 Subject: [PATCH] 更新仓内抓拍2 --- igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java | 189 +++++++++++++++++++++++++---------------------- 1 files changed, 100 insertions(+), 89 deletions(-) diff --git a/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java b/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java index faa3667..1a3720d 100644 --- a/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java +++ b/igds-security/src/main/java/com/ld/igds/timer/ScheduledSec.java @@ -1,30 +1,27 @@ package com.ld.igds.timer; -import com.bstek.bdf2.core.model.DefaultCompany; import com.ld.igds.camera.ApiCameraManager; import com.ld.igds.camera.CameraUtil; import com.ld.igds.camera.data.ApiCameraResp; import com.ld.igds.camera.data.ApiSnapReq; -import com.ld.igds.common.CoreCommonService; import com.ld.igds.data.ConfigData; import com.ld.igds.file.CoreFileService; import com.ld.igds.models.SecCamera; import com.ld.igds.models.SecSnapConf; -import com.ld.igds.models.SecSnapDepot; import com.ld.igds.models.SnapSer; import com.ld.igds.sec.service.CoreSecCameraService; -import com.ld.igds.sec.service.SecSnapService; -import com.ld.igds.sec.service.SecurityService; +import com.ld.igds.sec.service.SecSnapDepotService; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; -import com.ld.igds.view.manager.TempManager; import com.ld.igds.view.service.SnapSerService; + import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.time.DateUtils; + import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; + import java.util.Date; import java.util.HashMap; import java.util.List; @@ -37,109 +34,123 @@ @Component(ScheduledSec.BEAN_ID) public class ScheduledSec { - public static final String BEAN_ID = "sec.scheduled"; + public static final String BEAN_ID = "sec.scheduled"; - @Resource - private ConfigData configData; - @Resource - private SecSnapService secSnapService; - @Resource - private CoreSecCameraService coreSecCameraService; - @Resource - private SnapSerService snapSerService; - @Resource - private CoreFileService fileService; - @Resource - private ApiCameraManager apiCameraManager; + @Resource + private ConfigData configData; + @Resource + private SecSnapDepotService secSnapService; + @Resource + private CoreSecCameraService coreSecCameraService; + @Resource + private SnapSerService snapSerService; + @Resource + private CoreFileService fileService; + @Resource + private ApiCameraManager apiCameraManager; - /** - * 姣忛棿闅�30鍒嗛挓鎵ц涓�娆� - */ - @Scheduled(cron = "0 0/30 * * * ?") - public void scheduled30() { + /** + * 浠�6-18鐐瑰紑濮嬫墽琛� + */ + @Scheduled(cron = "0 0 6,7,8,9,10,11,12,13,14,15,16,17,18 * * ? ") + public void scheduled30() { - //鎵ц鎶撴媿鍒ゆ柇 - doExeSnap(new Date()); - } + Date exeDate = new Date(); - /** - * 瀹氭椂鎵ц鎶撴媿 - */ - private void doExeSnap(Date date) { + // 鎵ц鎶撴媿鍒ゆ柇 + doExeSnap(exeDate); + } - if (configData.getSnapTime() < 0) return; + /** + * 瀹氭椂鎵ц鎶撴媿 + */ + private void doExeSnap(Date date) { + try { + // 鑾峰彇鎵�鏈夐厤缃姄鎷嶆憚鍍忓ご + List<SecSnapConf> list = secSnapService.listSnapConf( + configData.getDefaultCompanyId(), null); - //鑾峰彇褰撳墠绯荤粺鏃堕棿 - int curHour = DateUtil.getHour(date); - if (curHour != configData.getSnapTime()) return; + if (null == list || list.isEmpty()) { + return; + } + SecSnapConf exeConf = list.get(0); - log.info("===================绯荤粺鎵ц瀹氭椂浠撳唴瑙嗛鎶撴媿=================="); + // 鑾峰彇鎶撴媿鏃堕棿 + int exeHour1 = exeConf.getActHour1(); + int exeHour2 = exeConf.getActHour2(); + int exeHour3 = exeConf.getActHour3(); + if (exeHour1 == 0 && exeHour1 == 0 && exeHour1 == 0) + return; - try { + // 鑾峰彇褰撳墠绯荤粺鏃堕棿 + int curHour = DateUtil.getHour(date); + + if(curHour != exeHour1 && curHour != exeHour2 && curHour !=exeHour3){ + return; + } - List<SecSnapConf> list = secSnapService.listSnapConf(configData.getDefaultCompanyId(), null); + log.info("===================绯荤粺鎵ц瀹氭椂浠撳唴瑙嗛鎶撴媿=================="); - if (null == list || list.isEmpty()) return; + SecCamera secCamera; + Map<String, SnapSer> snapSerMap = new HashMap<>(); + SnapSer snapSer; + for (SecSnapConf snapConf : list) { - SecCamera secCamera; - Map<String, SnapSer> snapSerMap = new HashMap<>(); - SnapSer snapSer; - for (SecSnapConf snapConf : list) { + secCamera = coreSecCameraService.getCameraById( + snapConf.getCompanyId(), snapConf.getCameraId()); + + if (null == secCamera) continue; - if (null == snapConf.getDepotId()) continue; + snapSer = snapSerMap.get(snapConf.getDeptId()); + if (null == snapSer) { + snapSer = snapSerService.getCacheByDeptId(snapConf.getDeptId()); + snapSerMap.put(snapConf.getDeptId(), snapSer); + } - secCamera = coreSecCameraService.getCameraById(snapConf.getCompanyId(), snapConf.getCameraId()); + if (null == snapSer) { + log.error("------------鎶撴媿涓洪厤缃姄鎷嶅垎鏈�----------"); + continue; + } - if (null == secCamera) continue; + doExeSnapToData(secCamera, snapSer, snapConf); - snapSer = snapSerMap.get(snapConf.getDeptId()); - if (null == snapSer) { - snapSer = snapSerService.getCacheByDeptId(snapConf.getDeptId()); - snapSerMap.put(snapConf.getDeptId(), snapSer); - } + Thread.sleep(500); + } + } catch (Exception e) { + log.error("----------鎶撴媿鍚庡彴鍑洪敊---------{}", e); + } + } - if (null == snapSer) { - log.error("------------鎶撴媿涓洪厤缃姄鎷嶅垎鏈�----------"); - continue; - } + private void doExeSnapToData(SecCamera secCamera, SnapSer snapSer,SecSnapConf snapConf) { + ApiSnapReq req = new ApiSnapReq(); + req.setCompanyId(secCamera.getCompanyId()); + req.setDeptId(secCamera.getDeptId()); + req.setSn(secCamera.getSn()); + req.setSnapType(secCamera.getSnapType()); + req.setPlayType(secCamera.getPlayType()); + req.setSerSn(snapSer.getSn()); + req.setCameraName(secCamera.getName()); + req.setBizId(null); - doExeSnapToData(secCamera, snapSer, snapConf); + req.setMediaAddr(CameraUtil.updateMediaAddr(secCamera.getMediaAddr(), + secCamera.getLoginId(), secCamera.getPwd(), + secCamera.getIpIn(), secCamera.getPortInC(), + secCamera.getChanNum())); - Thread.sleep(500); - } - } catch (Exception e) { - log.error("----------鎶撴媿鍚庡彴鍑洪敊---------{}", e); - } - } + String filePath = fileService.getSnapFilePath(new Date()); - private void doExeSnapToData(SecCamera secCamera, SnapSer snapSer, SecSnapConf snapConf) { - ApiSnapReq req = new ApiSnapReq(); - req.setCompanyId(secCamera.getCompanyId()); - req.setDeptId(secCamera.getDeptId()); - req.setSn(secCamera.getSn()); - req.setSnapType(secCamera.getSnapType()); - req.setPlayType(secCamera.getPlayType()); - req.setSerSn(snapSer.getSn()); - req.setCameraName(secCamera.getName()); - req.setBizId(null); + req.setFilePath(filePath); - req.setMediaAddr(CameraUtil.updateMediaAddr(secCamera.getMediaAddr(), secCamera.getLoginId(), - secCamera.getPwd(), secCamera.getIpIn(), secCamera.getPortInC(), secCamera.getChanNum())); + // 璋冩暣闄勪欢鍚嶇О锛岄伩鍏嶅嚭鐜颁腑鏂� + String fileName = snapConf.getDeptId() + "_" + ContextUtil.getTimeId(1000) + ".jpg"; + req.setFileName(fileName); - String filePath = fileService.getSnapFilePath(new Date()); + // 鎵ц鎶撴媿 + ApiCameraResp resp = apiCameraManager.getApiCameraService(secCamera.getPlayType()).snapImg(req); + resp.setFileName(fileName); - req.setFilePath(filePath); - - //璋冩暣闄勪欢鍚嶇О锛岄伩鍏嶅嚭鐜颁腑鏂� - String fileName = snapConf.getDepotId() + "_" + ContextUtil.getTimeId(1000) + ".jpg"; - req.setFileName(fileName); - - //鎵ц鎶撴媿 - ApiCameraResp resp = apiCameraManager.getApiCameraService(secCamera.getPlayType()).snapImg(req); - resp.setFileName(fileName); - - //鎵ц璁板綍淇濆瓨 - secSnapService.addData(snapConf, fileName, resp.getCode()); - } + // 鎵ц璁板綍淇濆瓨 + secSnapService.addData(snapConf, fileName, resp.getCode()); + } } -- Gitblit v1.9.3