Merge remote-tracking branch 'origin/taiwan-lingli-new' into taiwan-lingli-new

taiwan-lingli-new
yiming 4 years ago
commit bb63524eef

@ -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;
}

@ -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)));
}

@ -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);
}

@ -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;
@ -33,6 +34,7 @@ import java.io.IOException;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.CountDownLatch;
@Service
@Slf4j
@ -102,12 +104,48 @@ public class CameraService {
cameraMapper.deleteById(id);
}
public PageInfo<Camera> cameras(StreetSearch streetSearch) {
public PageInfo<Camera> cameras(StreetSearch streetSearch){
PageHelper.startPage(streetSearch.getPageNum(), streetSearch.getPageSize());
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>(0));
if(cameras.size() > 0){
CountDownLatch latch = new CountDownLatch(cameras.size());
cameras.forEach(camera -> {
StatusThread statusThread = new StatusThread(camera,latch);
statusThread.start();
});
try {
latch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return new PageInfo<>(cameras);
}
public class StatusThread extends Thread{
private Camera camera;
private CountDownLatch latch;
public StatusThread(Camera camera,CountDownLatch latch){
this.camera = camera;
this.latch = latch;
}
@Override
public void run() {
try {
Boolean ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()).intValue());
if(ok){
camera.setStatus("連接正常");
}else {
camera.setStatus("未連接");
}
}catch (Exception e){
camera.setStatus("未連接");
}finally {
latch.countDown();
}
}
}
public Camera detail(Integer id){
return cameraMapper.selectById(id);
}

@ -37,7 +37,7 @@ cameraConfig:
# 下载mp4延迟 海康的下载mp4需要2分钟
# 利珀延迟10s就可
# 单位毫秒
delayDownloadMp4: 120000
delayDownloadMp4: 10000
# ------------
# -----图片 mp4下载地址
savePath:

Loading…
Cancel
Save