1.报警类型

2.球机io列表增加自定义
dongguan-huaweiyun
LAPTOP-S9HJSOEB\昊天 2 years ago
parent e37fc3a7f6
commit 416094590c

@ -18,6 +18,7 @@ public class WarnSearch {
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
private Integer type;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;

@ -57,11 +57,11 @@ public class CameraService {
private CameraControlLoginModule cameraControlLoginModule;
public void setCameraControlModule(CameraControlModule cameraControlModule){
public void setCameraControlModule(CameraControlModule cameraControlModule) {
this.cameraControlModule = cameraControlModule;
}
public void setCameraLoginModule(CameraControlLoginModule cameraControlLoginModule){
public void setCameraLoginModule(CameraControlLoginModule cameraControlLoginModule) {
this.cameraControlLoginModule = cameraControlLoginModule;
}
@ -69,15 +69,15 @@ public class CameraService {
camera.setUser(configProperties.getCameraConfig().getCameraUser());
camera.setPassword(configProperties.getCameraConfig().getCameraPassword());
camera.setUpdateTime(LocalDateTime.now());
camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":"+camera.getRtspPort()+"/h264/ch1/sub/avstream");
if(StringUtils.isEmpty(camera.getRtcServer())){
camera.setRtsp("rtsp://" + configProperties.getCameraConfig().getCameraUser() + ":" + configProperties.getCameraConfig().getCameraPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch1/sub/avstream");
if (StringUtils.isEmpty(camera.getRtcServer())) {
camera.setRtcServer("127.0.0.1");
}
camera.setRtcServerPort(8083);
try {
if(camera.getId() == null || cameraMapper.selectCount(new QueryWrapper<Camera>().eq("id", camera.getId())) == 0) {
if (camera.getId() == null || cameraMapper.selectCount(new QueryWrapper<Camera>().eq("id", camera.getId())) == 0) {
cameraMapper.insert(camera);
}else {
} else {
int update = cameraMapper.updateById(camera);
}
} catch (DuplicateKeyException e) {
@ -90,11 +90,11 @@ public class CameraService {
public void edit(Camera camera) {
camera.setUpdateTime(LocalDateTime.now());
camera.setPtzId(null);
if(StringUtils.isEmpty(camera.getRtcServer())){
if (StringUtils.isEmpty(camera.getRtcServer())) {
camera.setRtcServer("127.0.0.1");
}
camera.setUser(configProperties.getCameraConfig().getCameraUser());
camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":"+camera.getRtspPort()+"/h264/ch1/sub/avstream");
camera.setRtsp("rtsp://" + configProperties.getCameraConfig().getCameraUser() + ":" + configProperties.getCameraConfig().getCameraPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch1/sub/avstream");
try {
cameraMapper.updateById(camera);
} catch (DuplicateKeyException e) {
@ -111,10 +111,10 @@ public class CameraService {
public PageInfo<Camera> cameras(StreetSearch streetSearch) {
PageHelper.startPage(streetSearch.getPageNum(), streetSearch.getPageSize());
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>(0));
if(cameras.size() > 0){
if (cameras.size() > 0) {
CountDownLatch latch = new CountDownLatch(cameras.size());
cameras.forEach(camera -> {
StatusThread statusThread = new StatusThread(camera,latch);
StatusThread statusThread = new StatusThread(camera, latch);
statusThread.start();
});
try {
@ -127,57 +127,61 @@ public class CameraService {
return new PageInfo<>(cameras);
}
public class StatusThread extends Thread{
public class StatusThread extends Thread {
private Camera camera;
private CountDownLatch latch;
public StatusThread(Camera camera,CountDownLatch latch){
public StatusThread(Camera camera, CountDownLatch latch) {
this.camera = camera;
this.latch = latch;
}
@Override
public void run() {
try {
Boolean ok = false;
if(configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA){
if (configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA) {
ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()).intValue());
}else {
} else {
ok = JoywareLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()));
}
if(ok){
if (ok) {
camera.setStatus("连接正常");
}else {
} else {
CameraConnMap.disConn(camera.getId());
camera.setStatus("未连接");
}
}catch (Exception e){
} catch (Exception e) {
CameraConnMap.disConn(camera.getId());
camera.setStatus("未连接");
}finally {
} finally {
latch.countDown();
}
}
}
public Camera detail(Integer id){
public Camera detail(Integer id) {
return cameraMapper.selectById(id);
}
public List<Camera> allCameras(){
public List<Camera> allCameras() {
return cameraMapper.selectByMap(new HashMap<>());
}
public List<Camera> allCameras(int page){
int pageNum =configProperties.getVideoStyleConfig().getVideoStyleRow() * configProperties.getVideoStyleConfig().getVideoStyleColumn();
List<Camera> cameras = cameraMapper.selectList(new QueryWrapper<Camera>().last("limit "+ (page-1)*pageNum +","+pageNum));
public List<Camera> allCameras(int page) {
int pageNum = configProperties.getVideoStyleConfig().getVideoStyleRow() * configProperties.getVideoStyleConfig().getVideoStyleColumn();
List<Camera> cameras = cameraMapper.selectList(new QueryWrapper<Camera>().last("limit " + (page - 1) * pageNum + "," + pageNum));
return cameras;
}
/**
* HD01 - HD05
*
* @return
*/
public List<Camera> allCameras1(){
public List<Camera> allCameras1() {
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>());
return cameras.stream().filter(camera -> {
@ -187,7 +191,7 @@ public class CameraService {
}).collect(Collectors.toList());
}
public List<Camera> allCameras2(){
public List<Camera> allCameras2() {
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>());
return cameras.stream().filter(camera -> {
@ -197,7 +201,7 @@ public class CameraService {
}).collect(Collectors.toList());
}
public List<Camera> allCameras3(){
public List<Camera> allCameras3() {
List<Camera> cameras = cameraMapper.selectByMap(new HashMap<>());
return cameras.stream().filter(camera -> {
@ -207,15 +211,16 @@ public class CameraService {
}).collect(Collectors.toList());
}
public List<Camera> getCamerasByRtcServer(String rtcServer){
if(StringUtils.isEmpty(rtcServer)){
public List<Camera> getCamerasByRtcServer(String rtcServer) {
if (StringUtils.isEmpty(rtcServer)) {
rtcServer = "127.0.0.1";
}
return cameraMapper.selectList(new QueryWrapper<Camera>().eq("rtc_server",rtcServer));
return cameraMapper.selectList(new QueryWrapper<Camera>().eq("rtc_server", rtcServer));
}
/**
* IO
*
* @param file
* @throws IOException
*/
@ -266,22 +271,42 @@ public class CameraService {
/**
* io
*
* @param cameraId
* @return
*/
public List<CameraIO> ioList(Integer cameraId) {
List<CameraIO> list = ioMapper.cameraIOs(cameraId);
List<CameraIOConfig> configs = configMapper.selectList(new QueryWrapper<CameraIOConfig>());
List<CameraIO> list = ioMapper.selectList(new QueryWrapper<CameraIO>().eq("camera_id", cameraId));
configs = configs.stream()
.filter(c -> {
for (CameraIO cameraIO : list) {
if (c.getCode().equals(cameraIO.getCode())) {
return false;
}
}
return true;
})
.collect(Collectors.toList());
for (CameraIOConfig config : configs){
CameraIO cameraIo = new CameraIO();
cameraIo.setName(config.getName());
cameraIo.setCode(config.getCode());
list.add(cameraIo);
}
return list;
}
/**
*
* synchronized ptzId
*
* @param IOId
* @param cameraId
*/
@CacheEvict(value = "ptz",key = "#cameraId+'-'+#code")
public synchronized Integer ptz(Integer IOId, Integer cameraId, String name,Integer type,String code) {
@CacheEvict(value = "ptz", key = "#cameraId+'-'+#code")
public synchronized Integer ptz(Integer IOId, Integer cameraId, String name, Integer type, String code) {
Camera camera = cameraMapper.selectById(cameraId);
Assert.notNull(camera, "球机不存在");
CameraIO cameraIO = null;
@ -297,11 +322,11 @@ public class CameraService {
cameraIO.setName(name);
cameraIO.setPtzId(ptzId);
cameraIO.setCode(code);
conver(cameraIO,0);
conver(cameraIO, 0);
try {
ioMapper.insert(cameraIO);
}catch (DuplicateKeyException e){
Assert.isTrue(false,"code已存在:"+code);
} catch (DuplicateKeyException e) {
Assert.isTrue(false, "code已存在:" + code);
}
camera.setPtzId(ptzId);
cameraMapper.updateById(camera);
@ -314,65 +339,66 @@ public class CameraService {
cameraIO.setName(name);
cameraIO.setCode(code);
cameraIO.setUpdateTime(LocalDateTime.now());
conver(cameraIO,type);
conver(cameraIO, type);
ioMapper.updateById(cameraIO);
}
boolean ok = cameraControlModule.connectStatus(cameraId);
if(!ok){
if (!ok) {
}
cameraControlModule.ptz(ptzId,cameraIO.getName(),cameraId);
cameraControlModule.ptz(ptzId, cameraIO.getName(), cameraId);
log.info("设置 预置点 球机ID:{},预置点ID:{}", cameraId, ptzId);
return cameraIO.getId();
}
/**
* codecaameraId使
*
* @param code
* @param cameraId
* @return
*/
@Cacheable(value = "ptz",key = "#cameraId+'-'+#code")
public Integer getPtzIdByCodeAndCameraId(String code,Integer cameraId){
CameraIO cameraIO = ioMapper.getByCodeAndCameraId(code,cameraId);
if(cameraIO != null){
@Cacheable(value = "ptz", key = "#cameraId+'-'+#code")
public Integer getPtzIdByCodeAndCameraId(String code, Integer cameraId) {
CameraIO cameraIO = ioMapper.getByCodeAndCameraId(code, cameraId);
if (cameraIO != null) {
return cameraIO.getPtzId();
}
return null;
}
public Integer getPtzId(Integer ioId){
public Integer getPtzId(Integer ioId) {
CameraIO cameraIO = ioMapper.selectById(ioId);
Assert.notNull(cameraIO,"IO配置不存在");
Assert.notNull(cameraIO, "IO配置不存在");
return cameraIO.getPtzId();
}
private void conver(CameraIO cameraIO,Integer type){
if(type == 0){
private void conver(CameraIO cameraIO, Integer type) {
if (type == 0) {
cameraIO.setPosition("OK");
}else if(type == 1){
} else if (type == 1) {
cameraIO.setFocusing("OK");
}else if(type == 2){
} else if (type == 2) {
cameraIO.setMultiple("OK");
}else if(type == 3){
} else if (type == 3) {
cameraIO.setAperture("OK");
}
}
public void cameraConnectStatus(Integer cameraId){
public void cameraConnectStatus(Integer cameraId) {
Boolean ok = cameraControlModule.connectStatus(cameraId);
if(!ok){
log.error("camera unconnected,cameraId:{}",cameraId);
if (!ok) {
log.error("camera unconnected,cameraId:{}", cameraId);
Camera camera = cameraMapper.selectById(cameraId);
cameraLogin(camera);
}
}
public void cameraLogin(Camera camera){
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);
public void cameraLogin(Camera camera) {
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);
}
}

@ -33,8 +33,8 @@ public class WarnService {
int remainingSeconds = seconds.intValue() % 60;
String timeLength = String.format("%02d:%02d", minutes,remainingSeconds);
warnVO.setTimeLength(timeLength);
warnVO.setTypeName("1".equals(warnVO.getType())?"报警":"巡检");
}
warnVO.setTypeName("1".equals(warnVO.getType())?"报警":"巡检");
});
return new PageInfo<>(warns);

Loading…
Cancel
Save