| | |
| | | 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 com.iailab.framework.tenant.core.context.TenantContextHolder; |
| | | import com.iailab.module.data.video.controller.admin.camera.vo.CameraPageReqVO; |
| | | import com.iailab.module.data.video.dahua.DHCapturePictureClient; |
| | | import com.iailab.module.data.video.dahua.DHClientFactory; |
| | | import com.iailab.module.data.video.dto.CameraDTO; |
| | | import com.iailab.module.data.video.enums.CaptureTypeEnum; |
| | | import com.iailab.module.data.video.service.CameraService; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | @Resource |
| | | private DevCameraService devCameraService; |
| | | private CameraService cameraService; |
| | | |
| | | @Resource |
| | | @Autowired |
| | | private DHClientFactory dhClientFactory; |
| | | |
| | | @Override |
| | | public void run(String params) { |
| | | logger.info("devCameraDahuaTask定时任务正在执行,参数为:{}", params); |
| | | //传递租户id |
| | | System.out.println(TenantContextHolder.getTenantId()); |
| | | String tenantId = String.valueOf(TenantContextHolder.getTenantId()); |
| | | try { |
| | | DevCameraPageReqVO cameraPageReqVO = new DevCameraPageReqVO(); |
| | | List<DevCameraDTO> list = devCameraService.list(cameraPageReqVO); |
| | | CameraPageReqVO cameraPageReqVO = new CameraPageReqVO(); |
| | | cameraPageReqVO.setType("2"); |
| | | List<CameraDTO> list = cameraService.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()) { |
| | | Map<String, List<CameraDTO>> alarmGroup = list.stream().collect(Collectors.groupingBy(CameraDTO::getNvrId)); |
| | | for (Map.Entry<String, List<CameraDTO>> nvr : alarmGroup.entrySet()) { |
| | | DHCapturePictureClient client = dhClientFactory.getClient(nvr.getKey()); |
| | | try { |
| | | if(!client.isLogin()) { |
| | |
| | | if(!client.isLogin()) { |
| | | continue; |
| | | } |
| | | List<DevCameraDTO> cameraList = nvr.getValue(); |
| | | List<CameraDTO> cameraList = nvr.getValue(); |
| | | for (int i = 0; i < cameraList.size(); i++) { |
| | | DevCameraDTO camera = cameraList.get(i); |
| | | CameraDTO camera = cameraList.get(i); |
| | | boolean captureResult = false; |
| | | if (CaptureTypeEnum.LOCAL.getCode().equals(camera.getCaptureType())) { |
| | | captureResult = client.localCapturePicture(camera.getChannel(), camera.getCode()); |
| | |
| | | } |
| | | } |
| | | logger.info("devCameraDahuaTask定时任务执行完成:" + LocalDateTime.now()); |
| | | |
| | | } catch (Exception ex) { |
| | | ex.printStackTrace(); |
| | | logger.info("devCameraDahuaTask定时任务失败时间:" + LocalDateTime.now()); |