From 1432cdd8eb5ac75ef6277053efe3cced40b25187 Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期三, 30 十月 2024 16:30:57 +0800 Subject: [PATCH] devCamera增加抓图方式字段,增加大华摄像头截图定时任务 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/dahua/DHSavePath.java | 4 +- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/DevCameraDahuaTask.java | 79 +++++++++++++++++++++++++++++++++++++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevCameraServiceImpl.java | 3 + iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevNvrServiceImpl.java | 5 ++ 4 files changed, 88 insertions(+), 3 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/dahua/DHSavePath.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/dahua/DHSavePath.java index 21c2d29..fff9c6b 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/dahua/DHSavePath.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/dahua/DHSavePath.java @@ -17,9 +17,9 @@ private static DHSavePath instance = new DHSavePath(); - public final static String capturePath = "Z:/irs/Capture/"; + public final static String capturePath = "D:/irs/Capture/"; - public final static String modelPath = "Z:/irs/Model/"; + public final static String modelPath = "D:/irs/Model/"; public final static String capturePathUbuntu = "/home/dell/DLUT/irs/Capture/"; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevCameraServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevCameraServiceImpl.java index d07b9d4..f817efb 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevCameraServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevCameraServiceImpl.java @@ -8,6 +8,7 @@ import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.framework.web.core.util.WebFrameworkUtils; import com.iailab.module.data.dev.controller.admin.camera.vo.DevCameraPageReqVO; import com.iailab.module.data.dev.dao.DevCameraDao; import com.iailab.module.data.dev.dto.DevCameraDTO; @@ -87,6 +88,7 @@ public void save(DevCameraDTO dto) { DevCameraEntity entity = ConvertUtils.sourceToTarget(dto, DevCameraEntity.class); entity.setCreateDate(new Date()); + entity.setCreator(WebFrameworkUtils.getLoginUserId()); insert(entity); } @@ -94,6 +96,7 @@ public void update(DevCameraDTO dto) { DevCameraEntity entity = ConvertUtils.sourceToTarget(dto, DevCameraEntity.class); entity.setUpdateDate(new Date()); + entity.setUpdater(WebFrameworkUtils.getLoginUserId()); updateById(entity); } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevNvrServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevNvrServiceImpl.java index e90be76..7e9445b 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevNvrServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/dev/service/impl/DevNvrServiceImpl.java @@ -8,6 +8,7 @@ import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.framework.web.core.util.WebFrameworkUtils; import com.iailab.module.data.dev.controller.admin.nvr.vo.DevNvrPageReqVO; import com.iailab.module.data.dev.controller.admin.nvr.vo.DevNvrSaveReqVO; import com.iailab.module.data.dev.dahua.DHCapturePictureClient; @@ -102,6 +103,7 @@ public String save(DevNvrSaveReqVO saveReqVO) { DevNvrEntity entity = BeanUtils.toBean(saveReqVO, DevNvrEntity.class); entity.setCreateDate(new Date()); + entity.setUpdater(WebFrameworkUtils.getLoginUserId()); insert(entity); return entity.getId(); } @@ -109,7 +111,8 @@ @Override public String update(DevNvrSaveReqVO saveReqVO) { DevNvrEntity entity = BeanUtils.toBean(saveReqVO, DevNvrEntity.class); - entity.setCreateDate(new Date()); + entity.setUpdateDate(new Date()); + entity.setUpdater(WebFrameworkUtils.getLoginUserId()); updateById(entity); return entity.getId(); } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/DevCameraDahuaTask.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/DevCameraDahuaTask.java new file mode 100644 index 0000000..5eed5c8 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/DevCameraDahuaTask.java @@ -0,0 +1,79 @@ +package com.iailab.module.data.job.task; + +import com.iailab.module.data.dev.controller.admin.camera.vo.DevCameraPageReqVO; +import com.iailab.module.data.dev.dahua.DHCapturePictureClient; +import com.iailab.module.data.dev.dahua.DHClientFactory; +import com.iailab.module.data.dev.dto.DevCameraDTO; +import com.iailab.module.data.dev.enums.CaptureTypeEnum; +import com.iailab.module.data.dev.service.DevCameraService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 大华摄像头截图定时任务 + * + * @author Houzhongjian + * @Description + * @createTime 2024年10月30日 + */ +@Component("devCameraDahuaTask") +public class DevCameraDahuaTask implements ITask { + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Resource + private DevCameraService devCameraService; + + @Resource + private DHClientFactory dhClientFactory; + + @Override + public void run(String params) { + logger.info("devCameraDahuaTask定时任务正在执行,参数为:{}", params); + try { + DevCameraPageReqVO cameraPageReqVO = new DevCameraPageReqVO(); + List<DevCameraDTO> list = devCameraService.list(cameraPageReqVO); + if (CollectionUtils.isEmpty(list)) { + logger.info("Alarm List 为空"); + return; + } + Map<String, List<DevCameraDTO>> alarmGroup = list.stream().collect(Collectors.groupingBy(DevCameraDTO::getNvrId)); + for (Map.Entry<String, List<DevCameraDTO>> nvr : alarmGroup.entrySet()) { + DHCapturePictureClient client = dhClientFactory.getClient(nvr.getKey()); + try { + if(!client.isLogin()) { + dhClientFactory.reLogin(client, nvr.getKey()); + } + if(!client.isLogin()) { + continue; + } + List<DevCameraDTO> cameraList = nvr.getValue(); + for (int i = 0; i < cameraList.size(); i++) { + DevCameraDTO camera = cameraList.get(i); + boolean captureResult = false; + if (CaptureTypeEnum.LOCAL.getCode().equals(camera.getCaptureType())) { + captureResult = client.localCapturePicture(camera.getChannel(), camera.getCode()); + } else { + captureResult = client.remoteCapturePicture(camera.getChannel(), camera.getCode()); + } + logger.info(camera.getCode() + ":captureResult = " + captureResult); + Thread.sleep(100); + } + } catch (Exception ex) { + logger.info("item:" + ex.getMessage()); + } + } + logger.info("devCameraDahuaTask定时任务执行完成:" + LocalDateTime.now()); + } catch (Exception ex) { + ex.printStackTrace(); + logger.info("devCameraDahuaTask定时任务失败时间:" + LocalDateTime.now()); + } + } +} \ No newline at end of file -- Gitblit v1.9.3