根据通道做适配

兰州-麒麟
LAPTOP-S9HJSOEB\昊天 2 years ago
parent 9d863a405f
commit 35427e6d22

@ -39,6 +39,31 @@ public class RealTimeController {
public Result<List<Camera>> allCameras(Integer index) {
return Result.success(cameraService.allCameras(index));
}
@GetMapping("/allCameras1")
@ApiOperation(value = "全部球机")
//@SessionHandler
public Result<List<Camera>> allCameras1() {
return Result.success(cameraService.allCamerasPage(1));
}
@GetMapping("/allCameras2")
@ApiOperation(value = "全部球机")
//@SessionHandler
public Result<List<Camera>> allCameras2() {
return Result.success(cameraService.allCamerasPage(2));
}
@GetMapping("/allCameras3")
@ApiOperation(value = "全部球机")
//@SessionHandler
public Result<List<Camera>> allCameras3() {
return Result.success(cameraService.allCamerasPage(3));
}
@GetMapping("/allCameras4")
@ApiOperation(value = "全部球机")
//@SessionHandler
public Result<List<Camera>> allCameras4() {
return Result.success(cameraService.allCamerasPage(4));
}
@GetMapping("/wallStyle")
@ApiOperation(value = "视频墙样式")

@ -84,18 +84,7 @@ public class StreetController {
List<LightSource> lightSources = lightSourceService.getLightSource();
lightSources.forEach(lightSource -> {
JSONObject obj = JSONObject.parseObject(configProperties.getLightSource().getInfo());
if(configProperties.getLightSource().getType() == 1){
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(),lightSource.getPort());
JYDamHelper.openDO(equip,configProperties.getLightSource().getIndex());
Integer status = JYDamHelper.ReadStatus(equip,configProperties.getLightSource().getNum(),configProperties.getLightSource().getIndex());
log.info("ip:{},status:{}",lightSource.getIp(),status);
equip.DisConnect();
}else if(configProperties.getLightSource().getType() == 2){
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1);
}
lightSourceService.controllerLightSource(lightSource,1);
});
@ -109,16 +98,7 @@ public class StreetController {
List<LightSource> lightSources = lightSourceService.getLightSource();
lightSources.forEach(lightSource -> {
JSONObject obj = JSONObject.parseObject(configProperties.getLightSource().getInfo());
if(configProperties.getLightSource().getType() == 1){
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(),lightSource.getPort());
JYDamHelper.closeDO(equip,obj.getInteger("index"));
Integer status = JYDamHelper.ReadStatus(equip,obj.getInteger("num"),obj.getInteger("index"));
log.info("ip:{},status:{}",lightSource.getIp(),status);
}else if(configProperties.getLightSource().getType() == 2){
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),0);
}
lightSourceService.controllerLightSource(lightSource,0);
});
@ -130,15 +110,7 @@ public class StreetController {
public Result openStreetLightSource(@PathVariable Integer streetId){
List<LightSource> lightSources = lightSourceService.getLightSourceByStreetId(streetId);
lightSources.forEach(lightSource -> {
if(configProperties.getLightSource().getType() == 1){
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(),lightSource.getPort());
JYDamHelper.openDO(equip,configProperties.getLightSource().getIndex());
Integer status = JYDamHelper.ReadStatus(equip,configProperties.getLightSource().getNum(),configProperties.getLightSource().getIndex());
log.info("ip:{},status:{}",lightSource.getIp(),status);
equip.DisConnect();
}else if(configProperties.getLightSource().getType() == 2){
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1);
}
lightSourceService.controllerLightSource(lightSource,1);
});
@ -150,15 +122,7 @@ public class StreetController {
public Result closeStreetLightSource(@PathVariable Integer streetId){
List<LightSource> lightSources = lightSourceService.getLightSourceByStreetId(streetId);
lightSources.forEach(lightSource -> {
if(configProperties.getLightSource().getType() == 1){
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(),lightSource.getPort());
JYDamHelper.closeDO(equip,configProperties.getLightSource().getIndex());
Integer status = JYDamHelper.ReadStatus(equip,configProperties.getLightSource().getNum(),configProperties.getLightSource().getIndex());
log.info("ip:{},status:{}",lightSource.getIp(),status);
equip.DisConnect();
}else if(configProperties.getLightSource().getType() == 2){
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),0);
}
lightSourceService.controllerLightSource(lightSource,0);
});

@ -1,10 +1,12 @@
package com.zhehekeji.web.lib;
import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.lib.hik.HCNetSDK;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* camera login handler
@ -16,6 +18,7 @@ public class CameraConnMap {
* value: loginId
*/
public static Map<Integer, HCNetSDK.LLong> cameraMap = new HashMap<>();
public static Map<Integer, Camera> cameraInfoMap = new ConcurrentHashMap<>();
/**
* key:loginId

@ -7,6 +7,7 @@ import com.zhehekeji.common.util.SpringContextUtil;
import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.Application;
import com.zhehekeji.web.config.ConfigProperties;
import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlModule;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
@ -43,13 +44,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int dwPTZCommand,int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 0);
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.TILT_UP, 0);
}
public boolean ptzControlUpEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 1);
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.TILT_UP, 1);
}
/**
@ -58,13 +62,17 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 0);
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.TILT_DOWN, 0);
}
public boolean ptzControlDownEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 1);
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.TILT_DOWN, 1);
}
/**
@ -72,42 +80,52 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 0);
boolean picResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.PAN_LEFT, 0);
if (!picResult) {
log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
return picResult;
}
public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.PAN_LEFT, 1);
}
/**
*
*/
public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.PAN_RIGHT, 0);
}
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.PAN_RIGHT, 1);
}
/**
*
*/
public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_LEFT, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.UP_LEFT, 0);
}
public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_LEFT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.UP_LEFT, 1);
}
/**
@ -115,23 +133,26 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_RIGHT, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.UP_RIGHT, 0);
}
public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_RIGHT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.UP_RIGHT, 1);
}
/**
*
*/
public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_LEFT, 0);
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.DOWN_LEFT, 0);
if(!ok){
log.error("error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
@ -139,22 +160,25 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
}
public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_LEFT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.DOWN_LEFT, 1);
}
/**
*
*/
public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_RIGHT, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.DOWN_RIGHT, 0);
}
public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_RIGHT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.DOWN_RIGHT, 1);
}
/**
@ -162,14 +186,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_IN, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.ZOOM_IN, 0);
}
public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_IN, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.ZOOM_IN, 1);
}
/**
@ -177,42 +203,48 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_OUT, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.ZOOM_OUT, 0);
}
public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_OUT, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.ZOOM_OUT, 1);
}
/**
* +
*/
public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_NEAR, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.FOCUS_NEAR, 0);
}
public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_NEAR, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.FOCUS_NEAR, 1);
}
/**
* -
*/
public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_FAR, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.FOCUS_FAR, 0);
}
public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_FAR, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.FOCUS_FAR, 1);
}
/**
@ -220,14 +252,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_OPEN, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.IRIS_OPEN, 0);
}
public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_OPEN, 1);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.IRIS_OPEN, 1);
}
/**
@ -235,25 +269,28 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_CLOSE, 0);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.IRIS_CLOSE, 0);
}
public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_CLOSE, 1);
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, camera.getChannel(), HCNetSDK.IRIS_CLOSE, 1);
return ok;
}
public boolean pic(Integer cameraId, int nChannelID, String path)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
PathUtil.checkDirc(path);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
short wPicSize = 3;
short wPicQuality = 0;
HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA(wPicSize, wPicQuality);
boolean picResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_CaptureJPEGPicture(lUserId, 1, jpegpara, path);
boolean picResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_CaptureJPEGPicture(lUserId, camera.getChannel(), jpegpara, path);
if (!picResult) {
log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
@ -265,8 +302,10 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
/*start = start.minusMinutes(1);
end = end.minusMinutes(1);*/
ConfigProperties configProperties = SpringContextUtil.getBean(ConfigProperties.class);
start = start.minusNanos(configProperties.getCameraConfig().getDelayStartDownloadMp4() *10000);
end = start.plusNanos(configProperties.getCameraConfig().getDelayEndDownloadMp4() *10000);
end = end.plusNanos(configProperties.getCameraConfig().getDelayEndDownloadMp4() *10000);
log.info("downloadMp4 start:{},end:{}",start,end);
PathUtil.checkDirc(path);
HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME();
startTime.setTime(start.getYear(), start.getMonthValue(), start.getDayOfMonth(), start.getHour(), start.getMinute(), start.getSecond());
@ -318,9 +357,9 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
log.info("download over,cameraId:{}",cameraId);
String ffmpegFile = path+"ffmpeg.mp4";
convetor(path,ffmpegFile);
PathUtil.deleteFile(path);
//PathUtil.deleteFile(path);
File file = new File(ffmpegFile);
file.renameTo(new File(path));
//file.renameTo(new File(path));
}else {
log.debug("cameraId:{},progress:{}",cameraId,nPos.getValue());
}
@ -387,8 +426,9 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public void ptz(Integer ptzId, String name, Integer cameraId)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int dwzCommand = HCNetSDK.SET_PRESET;
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId).intValue(), 1, dwzCommand, ptzId.intValue());
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId).intValue(), camera.getChannel(), dwzCommand, ptzId.intValue());
if(!ok){
log.error("ptz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
@ -402,8 +442,9 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/
public void toPtz(Integer ptzId, Integer cameraId)
{
Camera camera = CameraConnMap.cameraInfoMap.get(cameraId);
int dwPTZCommand = HCNetSDK.GOTO_PRESET;
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId).intValue(), 1, dwPTZCommand, ptzId);
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId).intValue(), camera.getChannel(), dwPTZCommand, ptzId);
if(!ok){
log.error("toPtz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}

@ -33,7 +33,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.*;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
@ -96,13 +96,34 @@ public class CameraService {
}
String getRtsp(Camera camera) {
int channel = 1;
if (camera.getChannelString() != null && camera.getChannelString().startsWith("D")) {
channel = Integer.parseInt(camera.getChannelString().replace("D","")) + 31;
}
channel = Integer.parseInt(camera.getChannelString());
camera.setChannel(channel);
return "rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":554/Streaming/Channels/"+channel+"01";
}
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("D:\\WeChet\\WeChat Files\\wxid_ttkf0xgmyihv22\\FileStorage\\File\\2024-09\\config.json"));
BufferedWriter writer = new BufferedWriter(new FileWriter("D:\\WeChet\\WeChat Files\\wxid_ttkf0xgmyihv22\\FileStorage\\File\\2024-09\\config.json"))) {
StringBuilder contentBuilder = new StringBuilder();
String replacedLine = "";
for (int i =99; i > 30; i--){
replacedLine = replacedLine.replace(i+"01", (i-31)+"01");
}
// 替换字符串
// 添加到 StringBuilder
contentBuilder.append(replacedLine).append(System.lineSeparator());
// 清空文件内容
writer.write("");
// 将修改后的内容写回文件
writer.write(contentBuilder.toString());
System.out.println("字符串替换成功!");
} catch (IOException e) {
System.err.println("文件处理失败:" + e.getMessage());
}
}
public void edit(Camera camera) {
camera.setUpdateTime(LocalDateTime.now());
camera.setPtzId(null);
@ -154,9 +175,7 @@ public class CameraService {
@Override
public void run() {
try {
if(camera.getChannel()!=null && camera.getChannel() > 30){
camera.setChannelString("D"+(camera.getChannel()-31));
}else camera.setChannelString(camera.getChannel()+"");
camera.setChannelString(camera.getChannel()+"");
Boolean ok = false;
if(configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA){
ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()).intValue());
@ -180,18 +199,14 @@ public class CameraService {
public Camera detail(Integer id){
Camera camera = cameraMapper.selectById(id);
if(camera.getChannel()!=null && camera.getChannel() > 30){
camera.setChannelString("D"+(camera.getChannel()-31));
}else camera.setChannelString(camera.getChannel()+"");
camera.setChannelString(camera.getChannel()+"");
return camera;
}
public List<Camera> allCameras(){
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>());
for (Camera camera :cameras){
if(camera.getChannel()!=null && camera.getChannel() > 30){
camera.setChannelString("D"+(camera.getChannel()-31));
} else camera.setChannelString(camera.getChannel()+"");
camera.setChannelString(camera.getChannel()+"");
}
return cameras;
}
@ -205,6 +220,13 @@ public class CameraService {
String key = strings[index];
return cameraMap.get(key);
}
public List<Camera> allCamerasPage(int index){
Integer size = configProperties.getVideoStyleConfig().getVideoStyleColumn() * configProperties.getVideoStyleConfig().getVideoStyleRow();
String limit = "limit " + ((index-1) * size) + "," + size;
List<Camera> cameras = cameraMapper.selectList(new QueryWrapper<Camera>().last(limit));
return cameras;
}
/**
* IO
*

@ -48,6 +48,8 @@ public class CronTab {
private static BigInteger timeDIff = BigInteger.valueOf(10*60*1000);
private static int gByte = 1024* 1024 * 1024;
@Resource
private LightSourceService lightSourceService;
@Scheduled(cron = "0 0 0 * * ?")
//@Scheduled(cron = "0 0/1 * * * *")
@ -80,16 +82,7 @@ public class CronTab {
if((BigInteger.valueOf(timeStamp).subtract(BigInteger.valueOf(entry.getValue()))).compareTo(timeDIff) > 0){
List<LightSource> lightSources = lightSourceMapper.selectList(new QueryWrapper<LightSource>().eq("street_id",entry.getKey()));
lightSources.forEach(lightSource -> {
if(configProperties.getLightSource().getType() == 1){
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(),lightSource.getPort());
JYDamHelper.closeDO(equip,configProperties.getLightSource().getIndex());
Integer status = JYDamHelper.ReadStatus(equip,configProperties.getLightSource().getNum(),configProperties.getLightSource().getIndex());
log.info("ip:{},status:{}",lightSource.getIp(),status);
equip.DisConnect();
}else if(configProperties.getLightSource().getType() == 2){
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),0);
}
lightSourceService.controllerLightSource(lightSource,0);
});
it.remove();
}

@ -22,6 +22,8 @@ import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import static com.zhehekeji.web.lib.CameraConnMap.cameraInfoMap;
/**
*
* plc
@ -127,6 +129,8 @@ public class InitService implements ApplicationRunner {
@Override
public void run() {
cameraService.cameraLogin(camera);
cameraInfoMap.put(camera.getId(),camera);
}
}

@ -1,24 +1,97 @@
package com.zhehekeji.web.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhehekeji.web.config.ConfigProperties;
import com.zhehekeji.web.entity.LightSource;
import com.zhehekeji.web.mapper.LightSourceMapper;
import com.zhehekeji.web.service.damLightSource.JYDAMEquip;
import com.zhehekeji.web.service.damLightSource.JYDamHelper;
import com.zhehekeji.web.service.hikLightSource.HikControlSocket;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.HashMap;
import java.util.List;
@Service
@Slf4j
public class LightSourceService {
@Autowired
private LightSourceMapper lightSourceMapper;
@Resource
private ConfigProperties configProperties;
public List<LightSource> getLightSource() {
return lightSourceMapper.selectByMap(new HashMap<>());
}
public boolean controllerLightSource(LightSource lightSource, int status) {
JSONObject obj = JSONObject.parseObject(configProperties.getLightSource().getInfo());
//1开灯 0关灯
if (status == 1) {
if (configProperties.getLightSource().getType() == 1) {
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(), lightSource.getPort());
JYDamHelper.openDO(equip, configProperties.getLightSource().getIndex());
Integer stat = JYDamHelper.ReadStatus(equip, configProperties.getLightSource().getNum(), configProperties.getLightSource().getIndex());
log.info("ip:{},status:{}", lightSource.getIp(), stat);
equip.DisConnect();
} else if (configProperties.getLightSource().getType() == 2) {
HikControlSocket.openLight(lightSource.getIp(), lightSource.getPort(), configProperties.getLightSource().getIndex(), 1);
} else if (configProperties.getLightSource().getType() == 3) {
relay(lightSource.getIp(), lightSource.getPort(),status);
}
} else {
if (configProperties.getLightSource().getType() == 1) {
JYDAMEquip equip = JYDamHelper.Connect(lightSource.getIp(), lightSource.getPort());
JYDamHelper.closeDO(equip, configProperties.getLightSource().getIndex());
Integer stat = JYDamHelper.ReadStatus(equip, configProperties.getLightSource().getNum(), configProperties.getLightSource().getIndex());
log.info("ip:{},status:{}", lightSource.getIp(), stat);
equip.DisConnect();
} else if (configProperties.getLightSource().getType() == 2) {
HikControlSocket.openLight(lightSource.getIp(), lightSource.getPort(), configProperties.getLightSource().getIndex(), 0);
} else if (configProperties.getLightSource().getType() == 3) {
relay(lightSource.getIp(), lightSource.getPort(),status);
}
}
return true;
}
public static void relay(String host, int port, int status) {
byte[] data;
if (status == 1) {
data = new byte[]{0x01, 0x05, 0x00, 0x01, (byte) 0xFF, 0x00, (byte) 0xDD, (byte) 0xFA};
} else {
data = new byte[]{0x01, 0x05, 0x00, 0x01, (byte) 0x00, 0x00, (byte) 0x9C, (byte) 0x0A};
}
try (Socket socket = new Socket(host, port);
DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream())) {
socket.setSoTimeout(1000);
// 发送数据
outputStream.write(data);
outputStream.flush();
System.out.println("Data sent successfully.");
} catch (IOException e) {
System.err.println("Error sending data: " + e.getMessage());
e.printStackTrace();
}
}
public List<LightSource> getLightSourceByStreetId(Integer streetId) {
return lightSourceMapper.selectList(new QueryWrapper<LightSource>().eq("street_id", streetId));
}

@ -71,6 +71,8 @@ public class PlcService {
@Resource
private RFIDService rfidService;
@Resource
private LightSourceService lightSourceService;
@Resource
private CheckLogMapper checkLogMapper;
private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1,8,200,TimeUnit.MINUTES,new ArrayBlockingQueue<>(100000));
@ -101,7 +103,10 @@ public class PlcService {
*/
public void orderStart(PlcCmdInfo plcCmdInfo) {
Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId());
List<LightSource> lightSources = lightSourceMapper.selectList(new QueryWrapper<LightSource>().eq("street_id",street.getId()));
lightSources.forEach(lightSource -> {
lightSourceService.controllerLightSource(lightSource,1);
});
if (street != null) {
if(plcCmdInfo.getLeftRight1() == 1){
if(plcCmdInfo.getRow1()>street.getLeftRow() && plcCmdInfo.getColumn1() > street.getLeftColumn()){
@ -141,6 +146,8 @@ public class PlcService {
public void orderStop(PlcCmdInfo plcCmdInfo) {
LocalDateTime endTime = LocalDateTime.now();
Street street = streetMapper.getStreetByPlcId(plcCmdInfo.getPlcId());
List<LightSource> lightSources = lightSourceMapper.selectList(new QueryWrapper<LightSource>().eq("street_id",street.getId()));
if (street == null) {
return;
}
@ -173,7 +180,9 @@ public class PlcService {
update.setVideoPath2(path);
}
orderMapper.updateById(update);
lightSources.forEach(lightSource -> {
lightSourceService.controllerLightSource(lightSource,0);
});
}
public void orderStopByWarn(String orderNum) {
@ -560,10 +569,7 @@ public class PlcService {
long startTime = System.currentTimeMillis();
Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId());
CronTab.putTime(street.getId());
List<LightSource> lightSources = lightSourceMapper.selectList(new QueryWrapper<LightSource>().eq("street_id",street.getId()));
lightSources.forEach(lightSource -> {
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1);
});
Integer cameraId = getCameraByPlcCmd(plcCmdInfo,plcCmdInfo.getLeftRight1());
if(plcCmdInfo.getSeparation1() == 1 && configProperties.getScanCodeMode().getTray() == 2){

@ -61,7 +61,7 @@ savePath:
# ------------服务端类型 0TCP(罗伯泰克) 1:KSEC(JSON)(昆船)
serverMode: 1
ksec:
ip: 192.168.168.11
ip: 127.0.0.1
port: 8001
#重连次数 默认10次
reconnectNum: -1

@ -7,7 +7,7 @@
from `order` t
<where>
<if test="req.orderNum != null and req.orderNum != ''">
and t.order_num = #{req.orderNum}
and t.order_num like concat('%', #{req.orderNum},'%')
</if>
<if test="req.startTimestamp != null and req.endTimestamp != null">
and t.start_time >= #{req.startTimestamp} and t.start_time &lt;= #{req.endTimestamp}

Loading…
Cancel
Save