| | |
| | | package com.ruoyi.quartz.task; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.device.camera.domain.ArdCameras; |
| | | import com.ruoyi.device.camera.domain.CameraCmd; |
| | | import com.ruoyi.device.camera.service.IArdCamerasService; |
| | | import com.ruoyi.device.channel.domain.ArdChannel; |
| | | import com.ruoyi.device.hiksdk.service.IHikClientService; |
| | | import com.ruoyi.media.domain.Items; |
| | | import com.ruoyi.media.domain.JsonsRoot; |
| | | import com.ruoyi.media.domain.Vtdu; |
| | | import com.ruoyi.media.service.IMediaService; |
| | | import com.ruoyi.media.service.IVtduService; |
| | | import com.ruoyi.rongcloud.service.RongCloudService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | IArdCamerasService iArdCamerasService; |
| | | @Resource |
| | | IHikClientService iHikClientService; |
| | | @Resource |
| | | IVtduService vtduService; |
| | | @Resource |
| | | IMediaService mediaService; |
| | | |
| | | /** |
| | | * 同步相机在线状态 |
| | |
| | | * 2023/10/8 14:54:41 |
| | | */ |
| | | public void cameraState() { |
| | | List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); |
| | | for (ArdCameras camera : ardCameras) { |
| | | CameraCmd cmd = new CameraCmd(); |
| | | cmd.setCameraId(camera.getId()); |
| | | boolean onLineNew = iHikClientService.isOnLine(cmd);//相机实时状态 |
| | | boolean onLineOld = "1".equals(camera.getState());//相机历史状态 |
| | | //当状态发生变化时,更新实时状态 |
| | | if (onLineNew != onLineOld) { |
| | | if (onLineNew) { |
| | | camera.setState("1"); |
| | | } else { |
| | | camera.setState("0"); |
| | | try { |
| | | List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); |
| | | for (ArdCameras camera : ardCameras) { |
| | | CameraCmd cmd = new CameraCmd(); |
| | | cmd.setCameraId(camera.getId()); |
| | | boolean onLineNew = iHikClientService.isOnLine(cmd);//相机实时状态 |
| | | boolean onLineOld = "1".equals(camera.getState());//相机历史状态 |
| | | //当状态发生变化时,更新实时状态 |
| | | if (onLineNew != onLineOld) { |
| | | if (onLineNew) { |
| | | camera.setState("1"); |
| | | } else { |
| | | camera.setState("0"); |
| | | } |
| | | iArdCamerasService.updateArdCameras(camera); |
| | | } |
| | | iArdCamerasService.updateArdCameras(camera); |
| | | |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("同步相机在线状态异常:" + ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | |
| | | log.error("融云在线接口异常:" + ex.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 同步流媒体 |
| | | * 刘苏义 |
| | | * 2023/10/13 14:13:53 |
| | | */ |
| | | public void vtdu() { |
| | | List<String> nameList = mediaService.getNameList(); |
| | | List<Vtdu> vtdus = vtduService.selectVtduList(new Vtdu()); |
| | | for (Vtdu vtdu : vtdus) { |
| | | if (!nameList.contains(vtdu.getName())) { |
| | | mediaService.addPath(vtdu.getName(),vtdu.getRtspSource(),vtdu.getMode(),vtdu.getIsCode()); |
| | | } |
| | | } |
| | | } |
| | | } |