From 5400950ecc23a3222a9633637a57b068f114ce26 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期四, 31 十月 2024 18:20:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-system/iailab-module-system-biz/src/main/resources/application-dev.yaml | 12 +++-- 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 ++ 5 files changed, 95 insertions(+), 8 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 diff --git a/iailab-module-system/iailab-module-system-biz/src/main/resources/application-dev.yaml b/iailab-module-system/iailab-module-system-biz/src/main/resources/application-dev.yaml index dc326f1..90aa6ff 100644 --- a/iailab-module-system/iailab-module-system-biz/src/main/resources/application-dev.yaml +++ b/iailab-module-system/iailab-module-system-biz/src/main/resources/application-dev.yaml @@ -76,7 +76,7 @@ xxl: job: admin: - addresses: http://127.0.0.1:9090/xxl-job-admin # 调度中心部署跟地址 + addresses: http://172.16.8.100:9090/xxl-job-admin # 调度中心部署跟地址 --- #################### 服务保障相关配置 #################### @@ -132,15 +132,17 @@ # 平台配置项,设置当前项目所有自定义的配置 iailab: + env: # 多环境的配置项 + tag: ${HOSTNAME} + security: + mock-enable: true + access-log: # 访问日志的配置项 + enable: false xss: enable: false exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 - pay: - pay-notify-url: http://niubi.natapp1.cc/api/pay/order/notify - pay-return-url: http://niubi.natapp1.cc/api/pay/order/return - refund-notify-url: http://niubi.natapp1.cc/api/pay/refund/notify demo: false # 开启演示模式 captcha: enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试 -- Gitblit v1.9.3