每个小时重设球机时间

chengdu-mxbc-qsl
LAPTOP-S9HJSOEB\昊天 2 years ago
parent 73cf35e733
commit 6a80d18cd7

@ -51,6 +51,8 @@ public class ConfigProperties {
private Long delayCaptureTime; private Long delayCaptureTime;
private String cameraTimeUpdateCron;
private Long runningDelayCaptureTime; private Long runningDelayCaptureTime;
private Long C1DelayCaptureTime; private Long C1DelayCaptureTime;

@ -334,7 +334,7 @@ public class CameraControlController {
private CameraService cameraService; private CameraService cameraService;
private void checkLogin(Integer cameraId) { private void checkLogin(Integer cameraId) {
if (CameraConnMap.getConnId(cameraId) == null) { if (CameraConnMap.getConnId(cameraId) != null) {
Boolean ok = false; Boolean ok = false;
if (configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA) { if (configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA) {
ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId).intValue()); ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId).intValue());
@ -348,6 +348,9 @@ public class CameraControlController {
cameraService.cameraLogin(camera); cameraService.cameraLogin(camera);
} }
} }
}else {
Camera camera = cameraMapper.selectById(cameraId);
cameraService.cameraLogin(camera);
} }
} }
} }

@ -1,9 +1,13 @@
package com.zhehekeji.web.lib; package com.zhehekeji.web.lib;
import com.zhehekeji.web.lib.hik.HCNetSDK;
import com.zhehekeji.web.lib.hik.HikLoginModuleImpl;
import com.zhehekeji.web.pojo.CameraPtzPojo; import com.zhehekeji.web.pojo.CameraPtzPojo;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.zhehekeji.web.lib.hik.HCNetSDK.NET_DVR_SET_TIMECFG;
public interface CameraControlModule { public interface CameraControlModule {
boolean connectStatus(Integer cameraId); boolean connectStatus(Integer cameraId);
@ -34,6 +38,13 @@ public interface CameraControlModule {
*/ */
boolean ptzControlRightStart(Integer cameraId, int nChannelID, int lParam1, int lParam2); boolean ptzControlRightStart(Integer cameraId, int nChannelID, int lParam1, int lParam2);
/**
*
* @param cameraId id
* @return
*/
public boolean setCameraTime(Integer cameraId);
boolean ptzControlRightEnd(Integer cameraId, int nChannelID); boolean ptzControlRightEnd(Integer cameraId, int nChannelID);
CameraPtzPojo ptzGetDVRConfig(Integer cameraId); CameraPtzPojo ptzGetDVRConfig(Integer cameraId);

@ -21,6 +21,7 @@ import java.util.List;
import java.util.Timer; import java.util.Timer;
import static com.zhehekeji.web.lib.hik.HCNetSDK.NET_DVR_GET_PTZPOS; import static com.zhehekeji.web.lib.hik.HCNetSDK.NET_DVR_GET_PTZPOS;
import static com.zhehekeji.web.lib.hik.HCNetSDK.NET_DVR_SET_TIMECFG;
/** /**
* *
@ -89,6 +90,21 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 0); return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 0);
} }
/**
*
* @param cameraId id
* @return
*/
public boolean setCameraTime(Integer cameraId)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
HCNetSDK.NET_DVR_TIME time = new HCNetSDK.NET_DVR_TIME();
LocalDateTime localDateTime = LocalDateTime.now();
time.setTime(localDateTime.getYear(),localDateTime.getMonthValue(),localDateTime.getDayOfMonth(),localDateTime.getHour(),localDateTime.getMinute(),localDateTime.getSecond());
time.write();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_SetDVRConfig(lUserId, NET_DVR_SET_TIMECFG, 0,time.getPointer(), time.size());
}
@Override @Override
public CameraPtzPojo ptzGetDVRConfig(Integer lUserID) { public CameraPtzPojo ptzGetDVRConfig(Integer lUserID) {

@ -5,11 +5,14 @@ import com.zhehekeji.common.util.PathUtil;
import com.zhehekeji.core.util.Assert; import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.lib.CameraConnMap; import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlModule; import com.zhehekeji.web.lib.CameraControlModule;
import com.zhehekeji.web.lib.hik.HCNetSDK;
import com.zhehekeji.web.lib.hik.HikLoginModuleImpl;
import com.zhehekeji.web.pojo.CameraPtzPojo; import com.zhehekeji.web.pojo.CameraPtzPojo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static com.zhehekeji.web.lib.hik.HCNetSDK.NET_DVR_SET_TIMECFG;
import static com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl.mp4ReceiveCB; import static com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl.mp4ReceiveCB;
/** /**
@ -86,7 +89,15 @@ public class JoywareCameraControlModuleImpl implements CameraControlModule {
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_RIGHT_CONTROL, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_RIGHT_CONTROL,
lParam1, lParam2, 0, 0); lParam1, lParam2, 0, 0);
} }
public boolean setCameraTime(Integer cameraId)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
HCNetSDK.NET_DVR_TIME time = new HCNetSDK.NET_DVR_TIME();
LocalDateTime localDateTime = LocalDateTime.now();
time.setTime(localDateTime.getYear(),localDateTime.getMonthValue(),localDateTime.getDayOfMonth(),localDateTime.getHour(),localDateTime.getMinute(),localDateTime.getSecond());
time.write();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_SetDVRConfig(lUserId, NET_DVR_SET_TIMECFG, 0,time.getPointer(), time.size());
}
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) { public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) {
log.info("right end"); log.info("right end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID, return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,

@ -2,7 +2,14 @@ package com.zhehekeji.web.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhehekeji.web.config.ConfigProperties; import com.zhehekeji.web.config.ConfigProperties;
import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.entity.LightSource; import com.zhehekeji.web.entity.LightSource;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlModule;
import com.zhehekeji.web.lib.hik.HikCameraControlModuleImpl;
import com.zhehekeji.web.lib.hik.HikLoginModuleImpl;
import com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl;
import com.zhehekeji.web.mapper.CameraMapper;
import com.zhehekeji.web.mapper.LightSourceMapper; import com.zhehekeji.web.mapper.LightSourceMapper;
import com.zhehekeji.web.service.damLightSource.JYDAMEquip; import com.zhehekeji.web.service.damLightSource.JYDAMEquip;
import com.zhehekeji.web.service.damLightSource.JYDamHelper; import com.zhehekeji.web.service.damLightSource.JYDamHelper;
@ -38,8 +45,15 @@ public class CronTab {
@Resource @Resource
private ConfigProperties configProperties; private ConfigProperties configProperties;
@Resource @Resource
private CameraMapper cameraMapper;
@Resource
private LightSourceMapper lightSourceMapper; private LightSourceMapper lightSourceMapper;
@Resource
private CameraService cameraService;
@Resource
private CameraControlModule cameraControlModule;
private static LocalDateTime now; private static LocalDateTime now;
private static Map<Integer,Long> lightTimeMap = new HashMap<>(); private static Map<Integer,Long> lightTimeMap = new HashMap<>();
@ -96,6 +110,28 @@ public class CronTab {
} }
} }
@Scheduled(cron = "${cameraConfig.cameraTimeUpdateCron}")
public void cameraTimeUpdate() {
log.info(" cameraTimeUpdate");
long timeStamp = System.currentTimeMillis();
List<Camera> cameras = cameraMapper.selectList(new QueryWrapper<>());
for (Camera camera : cameras){
Boolean ok = false;
if(configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA){
ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()).intValue());
}else {
ok = JoywareLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()));
}
if(ok){
cameraControlModule.setCameraTime(camera.getId());
}else {
CameraConnMap.disConn(camera.getId());
camera.setStatus("未连接");
cameraService.cameraLogin(camera);
}
}
}
public static void checkFileTime(File dir,int days) { public static void checkFileTime(File dir,int days) {
if(!dir.exists()){ if(!dir.exists()){

@ -55,6 +55,7 @@ cameraConfig:
# 利珀延迟10s就可 # 利珀延迟10s就可
# 单位毫秒 # 单位毫秒
delayDownloadMp4: 10000 delayDownloadMp4: 10000
cameraTimeUpdateCron: 0/10 * * * * ?
# ------------ # ------------
# -----图片 mp4下载地址 # -----图片 mp4下载地址
savePath: savePath:

Loading…
Cancel
Save