package com.ruoyi.quartz.task; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.common.websocket.util.WebSocketUtils; 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.hiksdk.service.IHikClientService; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * @Description: * @ClassName: SdkTask * @Author: 刘苏义 * @Date: 2023年06月24日14:23 * @Version: 1.0 **/ @Component("SdkTask") public class SdkTask { /** * @描述 定时推送ptz * @参数 [] * @返回值 void * @创建人 刘苏义 * @创建时间 2023/6/15 15:43 * @修改人和其它信息 */ public void ptzPush() { IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class); IHikClientService hikClientService = SpringUtils.getBean(IHikClientService.class); List> list = new ArrayList<>(); ArdCameras ardCameras = new ArdCameras(); ardCameras.setGdtype("1"); List ardCamerasList = ardCamerasService.selectArdCamerasListNoDataScope(ardCameras); for (ArdCameras camera : ardCamerasList) { CameraCmd cmd = new CameraCmd(); cmd.setCameraId(camera.getId()); cmd.setChannelNum(1); Map ptz = hikClientService.getPtz(cmd); if (ptz.size() > 0) { ptz.put("cameraId", camera.getId()); list.add(ptz); } } if (ONLINE_USER_SESSIONS.size() > 0) { Map sendMap = new HashMap<>(); sendMap.put("10000", list); WebSocketUtils.sendMessageAll(sendMap); } } }