修改bug

镇海石化
LAPTOP-S9HJSOEB\昊天 7 months ago
parent f4b8c369fd
commit 3b81cc67f8

@ -6,7 +6,6 @@ import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.config.ConfigProperties; import com.zhehekeji.web.config.ConfigProperties;
import com.zhehekeji.web.entity.Camera; import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.lib.*; import com.zhehekeji.web.lib.*;
import com.zhehekeji.web.lib.hik.HCNetSDK;
import com.zhehekeji.web.lib.joyware.NetSDKLib; import com.zhehekeji.web.lib.joyware.NetSDKLib;
import com.zhehekeji.web.mapper.CameraMapper; import com.zhehekeji.web.mapper.CameraMapper;
import com.zhehekeji.web.service.CameraService; import com.zhehekeji.web.service.CameraService;
@ -323,7 +322,7 @@ public class CameraControlController {
@ApiOperation(value = "录像") @ApiOperation(value = "录像")
public Result MP4(@PathVariable Integer id) { public Result MP4(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
LocalDateTime localDateTime = LocalDateTime.of(2022,7,21,8,20); LocalDateTime localDateTime = LocalDateTime.now().plusMinutes(3);
cameraControlModule.downloadMp4(id,"E:\\work\\"+localDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4", localDateTime,localDateTime.plusMinutes(3)); cameraControlModule.downloadMp4(id,"E:\\work\\"+localDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4", localDateTime,localDateTime.plusMinutes(3));
return Result.success(); return Result.success();
} }

@ -62,7 +62,7 @@ public class TestController {
RFIDService rfidService; RFIDService rfidService;
@ApiOperation("rfid") @ApiOperation("rfid")
@GetMapping("/rfid") @GetMapping("/rfid")
public Result<Set<String >> rfid(@PathVariable String streetId){ public Result<Set<String >> rfid(@RequestParam String streetId){
Street street = streetService.getStreetByPlcId(streetId); Street street = streetService.getStreetByPlcId(streetId);
RFIDSocket rfidSocket = new RFIDSocket(street.getPlcIp(), 4001); RFIDSocket rfidSocket = new RFIDSocket(street.getPlcIp(), 4001);
@ -79,7 +79,7 @@ public class TestController {
@ApiOperation("rfidNew") @ApiOperation("rfidNew")
@GetMapping("/rfidNew") @GetMapping("/rfidNew")
public Result<Set<String >> rfidNew(@PathVariable String streetId) { public Result<Set<String >> rfidNew(@RequestParam String streetId) {
Street street = streetService.getStreetByPlcId(streetId); Street street = streetService.getStreetByPlcId(streetId);
if (street != null) { if (street != null) {
//rfid不分左右rfid使用同一ip和端口依靠传递字符调整方向 //rfid不分左右rfid使用同一ip和端口依靠传递字符调整方向

@ -36,6 +36,9 @@ public class Camera {
private Integer rtcServerPort; private Integer rtcServerPort;
private Integer channel;
private String recorderIp;
@ApiModelProperty(value = "预置点 增长值",hidden = true) @ApiModelProperty(value = "预置点 增长值",hidden = true)
private Integer ptzId; private Integer ptzId;

@ -4,6 +4,7 @@ import com.zhehekeji.web.lib.joyware.NetSDKLib;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* camera login handler * camera login handler
@ -14,20 +15,32 @@ public class CameraConnMap {
* key :cameraId * key :cameraId
* value: loginId * value: loginId
*/ */
public static Map<Integer, NetSDKLib.LLong> cameraMap = new HashMap<>(); public static Map<Integer, NetSDKLib.LLong> cameraMap = new ConcurrentHashMap<>();
/** /**
* key:loginId * key:loginId
* value: cameraId * value: cameraId
*/ */
public static Map<NetSDKLib.LLong,Integer> loginMap = new HashMap<>(); public static Map<NetSDKLib.LLong,Integer> loginMap = new ConcurrentHashMap<>();
/**
* key:loginId
* value: cameraId
*/
public static Map<String,NetSDKLib.LLong> recorderMap = new ConcurrentHashMap<>();
public static Map<Integer,Integer> channelMap = new ConcurrentHashMap<>();
public static void conn(Integer cameraId,NetSDKLib.LLong handlerId){ public static void conn(Integer cameraId,NetSDKLib.LLong handlerId){
synchronized (cameraId.toString().intern()){ synchronized (cameraId.toString().intern()){
cameraMap.put(cameraId,handlerId); cameraMap.put(cameraId,handlerId);
loginMap.put(handlerId,cameraId); loginMap.put(handlerId,cameraId);
} }
}
public static void setRecorderMap(String ip,NetSDKLib.LLong handlerId){
synchronized (ip.intern()){
recorderMap.put(ip,handlerId);
}
} }
public static void disConn(Integer cameraId){ public static void disConn(Integer cameraId){

@ -117,6 +117,8 @@ public interface CameraControlModule {
*/ */
void ptz(Integer ptzId, String name, Integer cameraId); void ptz(Integer ptzId, String name, Integer cameraId);
boolean setCameraTime(Integer cameraId, LocalDateTime dateTime);
boolean setCameraTime(Integer cameraId);
/** /**
* *
* *

@ -20,6 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Timer; import java.util.Timer;
import static com.zhehekeji.web.lib.hik.HCNetSDK.NET_DVR_SET_TIMECFG;
/** /**
* *
* *
@ -39,14 +41,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int dwPTZCommand,int dwStop) public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int dwPTZCommand,int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 0); return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, channelId, HCNetSDK.TILT_UP, 0);
} }
public boolean ptzControlUpEnd(Integer cameraId, int nChannelID) public boolean ptzControlUpEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 1); return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, channelId, HCNetSDK.TILT_UP, 1);
} }
/** /**
@ -54,14 +58,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 0); return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, channelId, HCNetSDK.TILT_DOWN, 0);
} }
public boolean ptzControlDownEnd(Integer cameraId, int nChannelID) public boolean ptzControlDownEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 1); return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, channelId, HCNetSDK.TILT_DOWN, 1);
} }
/** /**
@ -69,42 +75,48 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 0); return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, channelId, HCNetSDK.PAN_LEFT, 0);
} }
public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID) public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.PAN_LEFT, 1);
} }
/** /**
* *
*/ */
public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.PAN_RIGHT, 0);
} }
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) public boolean ptzControlRightEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.PAN_RIGHT, 1);
} }
/** /**
* *
*/ */
public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.UP_LEFT, 0);
} }
public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID) public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.UP_LEFT, 1);
} }
/** /**
@ -112,23 +124,26 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.UP_RIGHT, 0);
} }
public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID) public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.UP_RIGHT, 1);
} }
/** /**
* *
*/ */
public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.DOWN_LEFT, 0);
if(!ok){ if(!ok){
log.error("error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId); log.error("error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
} }
@ -136,22 +151,25 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
} }
public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID) public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.DOWN_LEFT, 1);
} }
/** /**
* *
*/ */
public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.DOWN_RIGHT, 0);
} }
public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID) public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.DOWN_RIGHT, 1);
} }
/** /**
@ -159,14 +177,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int dwPTZCommand) public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.ZOOM_IN, 0);
} }
public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID) public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.ZOOM_IN, 1);
} }
/** /**
@ -174,42 +194,48 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int dwPTZCommand) public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.ZOOM_OUT, 0);
} }
public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID) public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.ZOOM_OUT, 1);
} }
/** /**
* + * +
*/ */
public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int dwPTZCommand) public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.FOCUS_NEAR, 0);
} }
public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID) public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.FOCUS_NEAR, 1);
} }
/** /**
* - * -
*/ */
public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int dwPTZCommand) public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.FOCUS_FAR, 0);
} }
public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID) public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.FOCUS_FAR, 1);
} }
/** /**
@ -217,14 +243,16 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int dwPTZCommand) public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.IRIS_OPEN, 0);
} }
public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID) public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.IRIS_OPEN, 1);
} }
/** /**
@ -232,25 +260,28 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int dwPTZCommand) public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.IRIS_CLOSE, 0);
} }
public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID) public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); 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, channelId, HCNetSDK.IRIS_CLOSE, 1);
return ok; return ok;
} }
public boolean pic(Integer cameraId, int nChannelID, String path) public boolean pic(Integer cameraId, int nChannelID, String path)
{ {
PathUtil.checkDirc(path); PathUtil.checkDirc(path);
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue(); int lUserId = CameraConnMap.getConnId(cameraId).intValue();
short wPicSize = 3; short wPicSize = 3;
short wPicQuality = 0; short wPicQuality = 0;
HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA(wPicSize, wPicQuality); 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, channelId, jpegpara, path);
if (!picResult) { if (!picResult) {
log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId); log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
} }
@ -262,8 +293,6 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
ConfigProperties configProperties = SpringContextUtil.getBean(ConfigProperties.class); ConfigProperties configProperties = SpringContextUtil.getBean(ConfigProperties.class);
start = start.minusNanos(1000000000 * configProperties.getKsec().getDownloadStartMp4()); start = start.minusNanos(1000000000 * configProperties.getKsec().getDownloadStartMp4());
end = end.plusNanos(1000000000 * configProperties.getKsec().getDownloadEndMp4()); end = end.plusNanos(1000000000 * configProperties.getKsec().getDownloadEndMp4());
/* start = start.minusMinutes(1);
end = end.minusMinutes(1);*/
PathUtil.checkDirc(path); PathUtil.checkDirc(path);
HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME(); HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME();
startTime.setTime(start.getYear(), start.getMonthValue(), start.getDayOfMonth(), start.getHour(), start.getMinute(), start.getSecond()); startTime.setTime(start.getYear(), start.getMonthValue(), start.getDayOfMonth(), start.getHour(), start.getMinute(), start.getSecond());
@ -271,9 +300,10 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
endTime.setTime(end.getYear(), end.getMonthValue(), end.getDayOfMonth(), end.getHour(), end.getMinute(), end.getSecond()); endTime.setTime(end.getYear(), end.getMonthValue(), end.getDayOfMonth(), end.getHour(), end.getMinute(), end.getSecond());
log.info("start download mp4 path:{} ,cameraId:{},start_time{}end_time:{}",path,cameraId,startTime.toStringTime(),endTime.toStringTime()); log.info("start download mp4 path:{} ,cameraId:{},start_time{}end_time:{}",path,cameraId,startTime.toStringTime(),endTime.toStringTime());
int lUserID = CameraConnMap.getConnId(cameraId).intValue(); Integer channelId = CameraConnMap.channelMap.get(cameraId);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
int result = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetFileByTime(lUserID, 1, startTime, endTime, path); int result = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetFileByTime(lUserId, channelId, startTime, endTime, path);
if (result == -1) { if (result == -1) {
log.error("downloadMp4 error code:{},cameraId:{},path:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId,path); log.error("downloadMp4 error code:{},cameraId:{},path:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId,path);
} else { } else {
@ -369,8 +399,105 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
} }
// ... existing code ...
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();
log.info("set camera time:{}",localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
boolean result = HikLoginModuleImpl.hcNetsdk.NET_DVR_SetDVRConfig(lUserId, NET_DVR_SET_TIMECFG, 0,time.getPointer(), time.size());
log.info("set camera time result:{}",result);
if (!result) {
log.error("set camera time error:{}",HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError());
}
return result;
}
/**
*
* @param cameraId ID
* @param dateTime
* @return
*/
public boolean setCameraTime(Integer cameraId, LocalDateTime dateTime) {
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
if (lUserId < 0) {
log.error("Invalid user ID for camera: {}", cameraId);
return false;
}
HCNetSDK.NET_DVR_TIME time = new HCNetSDK.NET_DVR_TIME();
time.setTime(
dateTime.getYear(),
dateTime.getMonthValue(),
dateTime.getDayOfMonth(),
dateTime.getHour(),
dateTime.getMinute(),
dateTime.getSecond()
);
time.write();
boolean result = HikLoginModuleImpl.hcNetsdk.NET_DVR_SetDVRConfig(
lUserId,
NET_DVR_SET_TIMECFG,
0,
time.getPointer(),
time.size()
);
if (!result) {
int errorCode = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError();
log.error("Failed to set camera time, cameraId: {}, errorCode: {}", cameraId, errorCode);
} else {
log.info("Successfully set camera time for cameraId: {}", cameraId);
}
return result;
}
/**
*
* @param cameraId ID
* @return
*/
public LocalDateTime getCameraTime(Integer cameraId) {
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
if (lUserId < 0) {
log.error("Invalid user ID for camera: {}", cameraId);
return null;
}
HCNetSDK.NET_DVR_TIME time = new HCNetSDK.NET_DVR_TIME();
IntByReference pReturnLength = new IntByReference(0);
boolean result = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetDVRConfig(
lUserId,
HCNetSDK.NET_DVR_GET_TIMECFG,
0,
time.getPointer(),
time.size(),
pReturnLength
);
if (!result) {
int errorCode = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError();
log.error("Failed to get camera time, cameraId: {}, errorCode: {}", cameraId, errorCode);
return null;
}
time.read();
return LocalDateTime.of(
time.dwYear,
time.dwMonth,
time.dwDay,
time.dwHour,
time.dwMinute,
time.dwSecond
);
}
// ... existing code ...
@ -384,8 +511,9 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
*/ */
public void ptz(Integer ptzId, String name, Integer cameraId) public void ptz(Integer ptzId, String name, Integer cameraId)
{ {
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int dwzCommand = HCNetSDK.SET_PRESET; 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(), channelId, dwzCommand, ptzId.intValue());
if(!ok){ if(!ok){
log.error("ptz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId); log.error("ptz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
} }
@ -401,8 +529,9 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
{ {
try{ try{
Integer channelId = CameraConnMap.channelMap.get(cameraId);
int dwPTZCommand = HCNetSDK.GOTO_PRESET; 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(), channelId, dwPTZCommand, ptzId);
if(!ok){ if(!ok){
log.error("toPtz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId); log.error("toPtz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
} }

@ -84,7 +84,7 @@ public class HikLoginModuleImpl implements CameraControlLoginModule {
m_strLoginInfo.wPort = (short) m_nPort; m_strLoginInfo.wPort = (short) m_nPort;
m_strLoginInfo.bUseAsynLogin = true; //是否异步登录0- 否1- 是 m_strLoginInfo.bUseAsynLogin = false; //是否异步登录0- 否1- 是
m_strLoginInfo.write(); m_strLoginInfo.write();
HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo30 = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息 HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo30 = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息

@ -330,6 +330,12 @@ public class JoywareCameraControlModuleImpl implements CameraControlModule {
} }
} }
public boolean setCameraTime(Integer cameraId, LocalDateTime dateTime){
return true;
}
public boolean setCameraTime(Integer cameraId){
return true;
}
/** /**
* *
* *

@ -12,6 +12,8 @@ public class OrderSearch {
@NotEmpty(message = "订单号不能为空") @NotEmpty(message = "订单号不能为空")
private String orderNum; private String orderNum;
private String streetId;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTimestamp; private LocalDateTime startTimestamp;

@ -320,6 +320,9 @@ public class CameraService {
cameraIO.setAperture("OK"); cameraIO.setAperture("OK");
} }
} }
public void setCameraTime(Camera camera){
cameraControlModule.setCameraTime(camera.getId());
}
public void cameraConnectStatus(Integer cameraId){ public void cameraConnectStatus(Integer cameraId){
Boolean ok = cameraControlModule.connectStatus(cameraId); Boolean ok = cameraControlModule.connectStatus(cameraId);
@ -331,10 +334,30 @@ public class CameraService {
} }
public void cameraLogin(Camera camera){ public void cameraLogin(Camera camera){
NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword()); CameraConnMap.channelMap.put(camera.getId(),camera.getChannel());
if(lLong != null){ if (camera.getRecorderIp()!= null && camera.getRecorderIp().length() > 0){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp());
CameraConnMap.conn(camera.getId(),lLong); if (CameraConnMap.recorderMap.get(camera.getRecorderIp()) != null){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getRecorderIp());
CameraConnMap.conn(camera.getId(),CameraConnMap.recorderMap.get(camera.getRecorderIp()));
}else {
NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getRecorderIp(),camera.getPort(),camera.getUser(),camera.getPassword());
if(lLong != null){
CameraConnMap.setRecorderMap(camera.getRecorderIp(),lLong);
CameraConnMap.conn(camera.getId(),lLong);
setCameraTime(camera);
}
}
}else {
NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword());
if(lLong != null){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp());
CameraConnMap.conn(camera.getId(),lLong);
setCameraTime(camera);
}
} }
} }

@ -36,7 +36,7 @@ public class CheckLogService {
if(search.getLeftRight() != null &&( search.getLeftRight() != 0 && search.getLeftRight() != -1)){ if(search.getLeftRight() != null &&( search.getLeftRight() != 0 && search.getLeftRight() != -1)){
wrapper.eq("`direction`",search.getLeftRight()); wrapper.eq("`direction`",search.getLeftRight());
} }
if(search.getSide() != null &&( search.getSide() != 0 && search.getSide() != -1)){ if(search.getSide() != null &&( search.getSide() != 0 && search.getSide() != -1)){
wrapper.eq("`side`",search.getSide()); wrapper.eq("`side`",search.getSide());
} }
if(search.getRow() != null &&( search.getRow() != 0 && search.getRow() != -1)){ if(search.getRow() != null &&( search.getRow() != 0 && search.getRow() != -1)){
@ -45,7 +45,7 @@ public class CheckLogService {
if(search.getColumn() != null &&( search.getColumn() != 0 && search.getColumn() != -1)){ if(search.getColumn() != null &&( search.getColumn() != 0 && search.getColumn() != -1)){
wrapper.eq("`column`",search.getColumn()); wrapper.eq("`column`",search.getColumn());
} }
if(ToolUtil.isNotEmpty(search.getStreetId() )){ if(ToolUtil.isNotEmpty(search.getStreetId() ) && search.getStreetId() != 0){
wrapper.eq("`street_id`",search.getStreetId()); wrapper.eq("`street_id`",search.getStreetId());
} }
wrapper.orderByDesc("create_time"); wrapper.orderByDesc("create_time");

@ -2,6 +2,7 @@ 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.mapper.LightSourceMapper; import com.zhehekeji.web.mapper.LightSourceMapper;
import com.zhehekeji.web.service.damLightSource.JYDAMEquip; import com.zhehekeji.web.service.damLightSource.JYDAMEquip;
@ -68,6 +69,19 @@ public class CronTab {
checkFileTime(dir2,configProperties.getDeleteFileDays()); checkFileTime(dir2,configProperties.getDeleteFileDays());
} }
@Scheduled(cron = "0 0 0 * * ?")
//@Scheduled(cron = "0 0/1 * * * *")
public void cameraTime() {
List<Camera> cameraList = cameraService.allCameras();
cameraList.forEach(camera -> {
cameraService.setCameraTime(camera);
});
}
@Resource
CameraService cameraService;
public static void putTime(Integer streetId){ public static void putTime(Integer streetId){
lightTimeMap.put(streetId,System.currentTimeMillis()); lightTimeMap.put(streetId,System.currentTimeMillis());
} }

@ -81,8 +81,7 @@ public class InitService implements ApplicationRunner {
//球机登录 //球机登录
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>(0)); List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>(0));
cameras.forEach(camera -> { cameras.forEach(camera -> {
LoginThread loginThread = new LoginThread(camera); cameraService.cameraLogin(camera);
loginThread.start();
}); });
//plc连接 //plc连接
if(configProperties.getServerMode() == 0){ if(configProperties.getServerMode() == 0){

@ -7,7 +7,10 @@
from `order` t from `order` t
<where> <where>
<if test="req.orderNum != null and req.orderNum != ''"> <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.streetId != null and req.streetId != ''">
and t.street_id = #{req.streetId}
</if> </if>
<if test="req.startTimestamp != null and req.endTimestamp != null"> <if test="req.startTimestamp != null and req.endTimestamp != null">
and t.start_time >= #{req.startTimestamp} and t.start_time &lt;= #{req.endTimestamp} and t.start_time >= #{req.startTimestamp} and t.start_time &lt;= #{req.endTimestamp}

Loading…
Cancel
Save