diff --git a/web/src/main/java/com/zhehekeji/web/entity/Camera.java b/web/src/main/java/com/zhehekeji/web/entity/Camera.java index 6a68825..4f651e2 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Camera.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Camera.java @@ -1,6 +1,7 @@ package com.zhehekeji.web.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -34,6 +35,9 @@ public class Camera { @ApiModelProperty(value = "预置点 增长值",hidden = true) private Integer ptzId; + @TableField(exist = false) + private String status; + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } diff --git a/web/src/main/java/com/zhehekeji/web/lib/hik/HikExceptionCallBack.java b/web/src/main/java/com/zhehekeji/web/lib/hik/HikExceptionCallBack.java index aec408c..033ef75 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/hik/HikExceptionCallBack.java +++ b/web/src/main/java/com/zhehekeji/web/lib/hik/HikExceptionCallBack.java @@ -12,10 +12,10 @@ public class HikExceptionCallBack implements HCNetSDK.FExceptionCallBack { public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) { Integer cameraId =CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID)); if(dwType == 32768){ - + //CameraConnMap.disConn(cameraId); log.error("hik disconnect,cameraId:{}", cameraId); }else if(dwType == 32791){ - + //CameraConnMap.conn(cameraId); log.info("hik reconnect,cameraId:{}", CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID))); } diff --git a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java index b777d45..37f09a0 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java +++ b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java @@ -57,7 +57,7 @@ public class HikLoginModuleImpl implements CameraControlLoginModule { } //检测球机连接状态 - public Boolean connectStatus(int userId){ + public static Boolean connectStatus(int userId){ return hcNetsdk.NET_DVR_RemoteControl(userId,20005,null,0); } diff --git a/web/src/main/java/com/zhehekeji/web/service/CameraService.java b/web/src/main/java/com/zhehekeji/web/service/CameraService.java index cc2514d..73b1086 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CameraService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -11,6 +11,7 @@ import com.zhehekeji.web.entity.CameraIOConfig; import com.zhehekeji.web.lib.CameraConnMap; import com.zhehekeji.web.lib.CameraControlLoginModule; import com.zhehekeji.web.lib.CameraControlModule; +import com.zhehekeji.web.lib.hik.HikLoginModuleImpl; import com.zhehekeji.web.lib.joyware.NetSDKLib; import com.zhehekeji.web.mapper.CameraIOConfigMapper; import com.zhehekeji.web.mapper.CameraIOMapper; @@ -105,6 +106,14 @@ public class CameraService { public PageInfo cameras(StreetSearch streetSearch) { PageHelper.startPage(streetSearch.getPageNum(), streetSearch.getPageSize()); List cameras = cameraMapper.selectByMap(new HashMap<>(0)); + cameras.forEach(camera -> { + Boolean ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()).intValue()); + if(ok){ + camera.setStatus("連接正常"); + }else { + camera.setStatus("未連接"); + } + }); return new PageInfo<>(cameras); } diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 3dfcf2b..49a192d 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -37,7 +37,7 @@ cameraConfig: # 下载mp4延迟 海康的下载mp4需要2分钟 # 利珀延迟10s就可 # 单位毫秒 - delayDownloadMp4: 120000 + delayDownloadMp4: 10000 # ------------ # -----图片 mp4下载地址 savePath: