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<Map<String, Object>> list = new ArrayList<>();
|
ArdCameras ardCameras = new ArdCameras();
|
ardCameras.setGdtype("1");
|
List<ArdCameras> ardCamerasList = ardCamerasService.selectArdCamerasListNoDataScope(ardCameras);
|
for (ArdCameras camera : ardCamerasList) {
|
CameraCmd cmd = new CameraCmd();
|
cmd.setCameraId(camera.getId());
|
cmd.setChannelNum(1);
|
Map<String, Object> ptz = hikClientService.getPtz(cmd);
|
if (ptz.size() > 0) {
|
ptz.put("cameraId", camera.getId());
|
list.add(ptz);
|
}
|
}
|
if (ONLINE_USER_SESSIONS.size() > 0) {
|
Map<String, Object> sendMap = new HashMap<>();
|
sendMap.put("10000", list);
|
WebSocketUtils.sendMessageAll(sendMap);
|
}
|
}
|
}
|