diff --git a/modules/filter/src/main/java/com/zhehekeji/filter/aspect/LicenseAspect.java b/modules/filter/src/main/java/com/zhehekeji/filter/aspect/LicenseAspect.java index e305531..59265fe 100644 --- a/modules/filter/src/main/java/com/zhehekeji/filter/aspect/LicenseAspect.java +++ b/modules/filter/src/main/java/com/zhehekeji/filter/aspect/LicenseAspect.java @@ -19,7 +19,7 @@ public class LicenseAspect { */ @Before("execution(public * com.zhehekeji..*.controller.*.*(..))") public void handler(){ - Assert.isTrue(LPLicense.checkLic(),"未获取授权!!请将lp.key发送给授权人员"); + //Assert.isTrue(LPLicense.checkLic(),"未获取授权!!请将lp.key发送给授权人员"); //Assert.isTrue(true,"未获取授权!!请将lp.key发送给授权人员"); } } diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java index 6d6e5a4..a64894b 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java @@ -291,7 +291,7 @@ public class CameraControlController { public Result pic(@PathVariable Integer id) { checkLogin(id); String path = "D:\\work\\"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg"; - TaskDelayExecutor.addPicDelayTask(id,path,2000L); + //TaskDelayExecutor.addPicDelayTask(id,path,2000L); return Result.success(); } @@ -318,7 +318,7 @@ public class CameraControlController { public Result MP4(@PathVariable Integer id) { checkLogin(id); LocalDateTime localDateTime = LocalDateTime.of(2022,7,21,8,20); - 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),1); return Result.success(); } 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 e599dfc..016f6bd 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Camera.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Camera.java @@ -36,6 +36,10 @@ public class Camera { private Integer rtcServerPort; + private Integer channel; + @TableField(exist = false) + private String channelString; + @ApiModelProperty(value = "预置点 增长值",hidden = true) private Integer ptzId; diff --git a/web/src/main/java/com/zhehekeji/web/lib/CameraControlModule.java b/web/src/main/java/com/zhehekeji/web/lib/CameraControlModule.java index 7c124a3..cf734ef 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/CameraControlModule.java +++ b/web/src/main/java/com/zhehekeji/web/lib/CameraControlModule.java @@ -106,7 +106,7 @@ public interface CameraControlModule { boolean pic(Integer cameraId, int channel, String realPath); - void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end); + void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end,Integer channel); /** * 设置预置点 diff --git a/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java b/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java index 3552de4..6fb5a88 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java +++ b/web/src/main/java/com/zhehekeji/web/lib/CameraDelayTask.java @@ -29,8 +29,9 @@ public class CameraDelayTask implements Delayed { private long delayTime; private Integer ptzId; + private Integer channel; - public CameraDelayTask(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime, String path, Integer type, long delayTime) { + public CameraDelayTask(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime, String path, Integer type, long delayTime,Integer channel) { this.cameraId = cameraId; this.startTime = startTime; this.endTime = endTime; @@ -38,6 +39,7 @@ public class CameraDelayTask implements Delayed { this.type = type; this.executeTime = System.currentTimeMillis()+delayTime; this.delayTime = delayTime; + this.channel = channel; } @Override diff --git a/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java b/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java index f37e459..a373139 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java +++ b/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java @@ -1,6 +1,7 @@ package com.zhehekeji.web.lib; import com.zhehekeji.common.util.SpringContextUtil; +import com.zhehekeji.web.entity.Camera; import java.time.LocalDateTime; import java.util.concurrent.DelayQueue; @@ -13,18 +14,18 @@ public class TaskDelayExecutor { private static DelayQueue queue = new DelayQueue<>(); - public static void addMp4DelayTask(Integer cameraId, String path, LocalDateTime startTime, LocalDateTime endTime, Long delayTime) { - CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, startTime, endTime,path, 0,delayTime); + public static void addMp4DelayTask(Camera camera, String path, LocalDateTime startTime, LocalDateTime endTime, Long delayTime) { + CameraDelayTask cameraDelayTask = new CameraDelayTask(camera.getId(), startTime, endTime,path, 0,delayTime,camera.getChannel()); queue.add(cameraDelayTask); } - public static void addPicDelayTask(Integer cameraId, String path, Long delayTime) { - CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, null, null,path, 1,delayTime); + public static void addPicDelayTask(Camera camera, String path, Long delayTime) { + CameraDelayTask cameraDelayTask = new CameraDelayTask(camera.getId(), null, null,path, 1,delayTime,camera.getChannel()); queue.add(cameraDelayTask); } - public static void addGyrateCameraTask(Integer cameraId, Long delayTime,Integer ptzId){ - CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, null, null,null, 2,delayTime); + public static void addGyrateCameraTask(Camera camera, Long delayTime,Integer ptzId){ + CameraDelayTask cameraDelayTask = new CameraDelayTask(camera.getId(), null, null,null, 2,delayTime,1); cameraDelayTask.setPtzId(ptzId); queue.add(cameraDelayTask); } @@ -45,9 +46,9 @@ public class TaskDelayExecutor { if(cameraDelayTask.getType() == 0){ - cameraControlModule.downloadMp4(cameraDelayTask.getCameraId(), cameraDelayTask.getPath(), cameraDelayTask.getStartTime(), cameraDelayTask.getEndTime()); + cameraControlModule.downloadMp4(cameraDelayTask.getCameraId(), cameraDelayTask.getPath(), cameraDelayTask.getStartTime(), cameraDelayTask.getEndTime(),cameraDelayTask.getChannel()); }else if(cameraDelayTask.getType() == 1){ - cameraControlModule.pic(cameraDelayTask.getCameraId(),0, cameraDelayTask.getPath()); + cameraControlModule.pic(cameraDelayTask.getCameraId(),cameraDelayTask.getChannel(), cameraDelayTask.getPath()); }else if(cameraDelayTask.getType() == 2){ cameraControlModule.toPtz(cameraDelayTask.getPtzId(),cameraDelayTask.getCameraId()); } diff --git a/web/src/main/java/com/zhehekeji/web/lib/hik/HikCameraControlModuleImpl.java b/web/src/main/java/com/zhehekeji/web/lib/hik/HikCameraControlModuleImpl.java index 70f99bb..20aeb68 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/hik/HikCameraControlModuleImpl.java +++ b/web/src/main/java/com/zhehekeji/web/lib/hik/HikCameraControlModuleImpl.java @@ -261,12 +261,12 @@ public class HikCameraControlModuleImpl implements CameraControlModule { return picResult; } - public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end) { + public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end,Integer channel) { /*start = start.minusMinutes(1); end = end.minusMinutes(1);*/ ConfigProperties configProperties = SpringContextUtil.getBean(ConfigProperties.class); start = start.minusNanos(configProperties.getCameraConfig().getDelayStartDownloadMp4() *10000); - start = start.plusNanos(configProperties.getCameraConfig().getDelayEndDownloadMp4() *10000); + end = start.plusNanos(configProperties.getCameraConfig().getDelayEndDownloadMp4() *10000); 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()); @@ -276,7 +276,7 @@ public class HikCameraControlModuleImpl implements CameraControlModule { log.info("start download mp4 path:{} ,cameraId:{},start_time:{},end_time:{}",path,cameraId,startTime.toStringTime(),endTime.toStringTime()); 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, channel, startTime, endTime, path); if (result == -1) { log.error("downloadMp4 error code:{},cameraId:{},path:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId,path); } else { 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 5d8ce53..460f268 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CameraService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -81,7 +81,7 @@ public class CameraService { camera.setPassword(configProperties.getCameraConfig().getCameraPassword()); camera.setPort(configProperties.getCameraConfig().getCameraPort()); camera.setUpdateTime(LocalDateTime.now()); - camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":554/cam/realmonitor?channel=1&subtype=0"); + camera.setRtsp(getRtsp(camera)); if(StringUtils.isEmpty(camera.getRtcServer())){ camera.setRtcServer("127.0.0.1"); } @@ -94,6 +94,14 @@ public class CameraService { return camera.getId(); } + String getRtsp(Camera camera) { + int channel = 1; + if (camera.getChannelString() != null && camera.getChannelString().startsWith("D")) { + channel = Integer.parseInt(camera.getChannelString().replace("D","")) + 31; + } + camera.setChannel(channel); + return "rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":554/Streaming/Channels/"+channel+"01"; + } public void edit(Camera camera) { camera.setUpdateTime(LocalDateTime.now()); @@ -103,7 +111,7 @@ public class CameraService { } camera.setPort(configProperties.getCameraConfig().getCameraPort()); camera.setUser(configProperties.getCameraConfig().getCameraUser()); - camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":554/cam/realmonitor?channel=1&subtype=0"); + camera.setRtsp(getRtsp(camera)); try { cameraMapper.updateById(camera); } catch (DuplicateKeyException e) { @@ -146,6 +154,9 @@ 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()+""); Boolean ok = false; if(configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA){ ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(camera.getId()).intValue()); @@ -168,11 +179,21 @@ public class CameraService { public Camera detail(Integer id){ - return cameraMapper.selectById(id); + Camera camera = cameraMapper.selectById(id); + if(camera.getChannel()!=null && camera.getChannel() > 30){ + camera.setChannelString("D"+(camera.getChannel()-31)); + }else camera.setChannelString(camera.getChannel()+""); + return camera; } public List allCameras(){ - return cameraMapper.selectByMap(new HashMap<>()); + List 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()+""); + } + return cameras; } public List allCameras(int index){ diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index a2ecea5..70496cf 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -192,11 +192,12 @@ public class PlcService { public String cameraVideo(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime) { String path = PathUtil.createFileName("mp4",cameraId); + Camera camera = cameraService.detail(cameraId); Thread thread = new Thread(new Runnable() { @Override public void run() { String realPath = configProperties.getSavePath().getMp4Path() + path; - TaskDelayExecutor.addMp4DelayTask(cameraId,realPath,startTime,endTime,configProperties.getCameraConfig().getDelayDownloadMp4()); + TaskDelayExecutor.addMp4DelayTask(camera,realPath,startTime,endTime,configProperties.getCameraConfig().getDelayDownloadMp4()); } }); thread.start(); @@ -332,8 +333,9 @@ public class PlcService { public String cameraCapture(Integer cameraId,Boolean delay,Long delayTime,String path) { //String path = PathUtil.createFileName("jpg",cameraId); String realPath = configProperties.getSavePath().getMediaPath() + path; + Camera camera = cameraService.detail(cameraId); if(delay){ - TaskDelayExecutor.addPicDelayTask(cameraId,realPath,delayTime); + TaskDelayExecutor.addPicDelayTask(camera,realPath,delayTime); }else { cameraControlModule.pic(cameraId,0,realPath); } @@ -358,9 +360,10 @@ public class PlcService { public void gyrateCameraByCodeTimeLater(Integer cameraId, String code,long times) { Integer ptzId = cameraService.getPtzIdByCodeAndCameraId(code, cameraId); + Camera camera = cameraService.detail(cameraId); if (ptzId != null && ptzId >= 0) { log.info("gyrate camera by code, code:{},cameraId:{},ptId:{}", code, cameraId, ptzId); - TaskDelayExecutor.addGyrateCameraTask(cameraId,times,ptzId); + TaskDelayExecutor.addGyrateCameraTask(camera,times,ptzId); //cameraControlModule.toPtz(ptzId,cameraId); } else { log.error("ptz not found ,code:{},cameraId:{}", code, cameraId); diff --git a/web/src/main/resources/libs/MvCameraControlWrapper.jar b/web/src/main/resources/libs/MvCameraControlWrapper.jar new file mode 100644 index 0000000..3e2f591 Binary files /dev/null and b/web/src/main/resources/libs/MvCameraControlWrapper.jar differ diff --git a/web/src/main/resources/libs/RXTXcomm.jar b/web/src/main/resources/libs/RXTXcomm.jar index 84e5f01..e1e7503 100644 Binary files a/web/src/main/resources/libs/RXTXcomm.jar and b/web/src/main/resources/libs/RXTXcomm.jar differ diff --git a/web/src/main/resources/libs/connect-lib.jar b/web/src/main/resources/libs/connect-lib.jar new file mode 100644 index 0000000..19180d6 Binary files /dev/null and b/web/src/main/resources/libs/connect-lib.jar differ diff --git a/web/src/main/resources/libs/javaRFID-helloworld.jar b/web/src/main/resources/libs/javaRFID-helloworld.jar new file mode 100644 index 0000000..0e90d9f Binary files /dev/null and b/web/src/main/resources/libs/javaRFID-helloworld.jar differ diff --git a/web/src/main/resources/libs/lib_reader.jar b/web/src/main/resources/libs/lib_reader.jar new file mode 100644 index 0000000..cb23ff1 Binary files /dev/null and b/web/src/main/resources/libs/lib_reader.jar differ diff --git a/web/src/main/resources/libs/opencv-480.jar b/web/src/main/resources/libs/opencv-480.jar new file mode 100644 index 0000000..71a14d3 Binary files /dev/null and b/web/src/main/resources/libs/opencv-480.jar differ