|
|
|
|
@ -0,0 +1,373 @@
|
|
|
|
|
package com.zhehekeji.web.service;
|
|
|
|
|
|
|
|
|
|
import com.zhehekeji.web.entity.Camera;
|
|
|
|
|
import com.zhehekeji.web.lib.hik.HikCameraControlModuleImpl;
|
|
|
|
|
import com.zhehekeji.web.lib.joyware.JoywareCameraControlModuleImpl;
|
|
|
|
|
import com.zhehekeji.web.mapper.CameraMapper;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
@Component
|
|
|
|
|
public class CameraChoice {
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private CameraMapper cameraMapper;
|
|
|
|
|
@Qualifier(value = "JoywareCameraControlModuleImpl")
|
|
|
|
|
@Resource
|
|
|
|
|
JoywareCameraControlModuleImpl joywareCameraControlModule;
|
|
|
|
|
@Qualifier(value = "HikCameraControlModuleImpl")
|
|
|
|
|
@Resource
|
|
|
|
|
HikCameraControlModuleImpl hikCameraControlModule;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* key : cameraId
|
|
|
|
|
* value: 0:lipo 1:hik
|
|
|
|
|
*/
|
|
|
|
|
private Map<Integer, Integer> typeMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
public void addCamera(Camera camera){
|
|
|
|
|
typeMap.put(camera.getId(),camera.getType());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void delCamera(Integer cameraId){
|
|
|
|
|
typeMap.remove(cameraId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean connectStatus(Integer cameraId){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.connectStatus(cameraId);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.connectStatus(cameraId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向上
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlUpStart( cameraId, nChannelID, lParam1, lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlUpStart( cameraId, nChannelID, lParam1, lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlUpEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlUpEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlUpEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向下
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlDownStart(cameraId, nChannelID, lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlDownStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlDownEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlDownEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlDownEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向左
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlLeftStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlLeftStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlLeftEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlLeftEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向右
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlRightStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlRightStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlRightEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlRightEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向左上
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlLeftUpStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlLeftUpStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlLeftUpEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlLeftUpEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向右上
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlRightUpStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlRightUpStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlRightUpEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlRightUpEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向左下
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlLeftDownStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlLeftDownStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlLeftDownEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlLeftDownEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向右下
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlRightDownStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlRightDownStart(cameraId, nChannelID,lParam1,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlRightDownEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlRightDownEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 变倍+
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlZoomAddStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlZoomAddStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlZoomAddEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlZoomAddEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 变倍-
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlZoomDecStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlZoomDecStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlZoomDecEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlZoomDecEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 变焦+
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlFocusAddStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlFocusAddStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlFocusAddEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlFocusAddEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 变焦-
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlFocusDecStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlFocusDecStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlFocusDecEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlFocusDecEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 光圈+
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlIrisAddStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlIrisAddStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlIrisAddEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlIrisAddEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 光圈-
|
|
|
|
|
*/
|
|
|
|
|
public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int lParam2){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlIrisDecStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlIrisDecStart(cameraId, nChannelID,lParam2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.ptzControlIrisDecEnd(cameraId, nChannelID);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.ptzControlIrisDecEnd(cameraId, nChannelID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean pic(Integer cameraId, int channel, String realPath){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
return hikCameraControlModule.pic(cameraId, channel, realPath);
|
|
|
|
|
}else {
|
|
|
|
|
return joywareCameraControlModule.pic(cameraId, channel, realPath);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
hikCameraControlModule.downloadMp4(cameraId, path, start, end);
|
|
|
|
|
}else {
|
|
|
|
|
joywareCameraControlModule.downloadMp4(cameraId, path, start, end);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置预置点
|
|
|
|
|
*
|
|
|
|
|
* @param ptzId 预置点ID
|
|
|
|
|
* @param name 预置点的名称
|
|
|
|
|
* @param cameraId 球机ID,来获取登录句柄
|
|
|
|
|
*/
|
|
|
|
|
public void ptz(Integer ptzId, String name, Integer cameraId){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
hikCameraControlModule.ptz( ptzId, name, cameraId);
|
|
|
|
|
}else {
|
|
|
|
|
joywareCameraControlModule.ptz( ptzId, name, cameraId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 转至 预置点
|
|
|
|
|
*
|
|
|
|
|
* @param ptzId
|
|
|
|
|
* @param cameraId
|
|
|
|
|
*/
|
|
|
|
|
public void toPtz(Integer ptzId, Integer cameraId){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
hikCameraControlModule.toPtz( ptzId, cameraId);
|
|
|
|
|
}else {
|
|
|
|
|
joywareCameraControlModule.toPtz( ptzId, cameraId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 转至 预置点
|
|
|
|
|
*
|
|
|
|
|
* @param cameraId
|
|
|
|
|
*/
|
|
|
|
|
public void toPtzSlow(Integer cameraId, Integer x){
|
|
|
|
|
if(typeMap.get(cameraId) == 1){
|
|
|
|
|
hikCameraControlModule.toPtzSlow( cameraId, x);
|
|
|
|
|
}else {
|
|
|
|
|
joywareCameraControlModule.toPtzSlow( cameraId, x);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|