From 4ecc686ab27cd0ac2a4a135b0fad172768da83ab Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Mon, 21 Jul 2025 16:41:44 +0800 Subject: [PATCH] =?UTF-8?q?/*=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E7=9B=B8?= =?UTF-8?q?=E6=9C=BA=E9=A2=84=E7=BD=AE=E4=BD=8D=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nvr/controller/IvsCameraController.java | 11 ++++++ .../nvr/domain/device/IvsPresetListView.java | 38 +++++++++++++++++++ .../inspect/nvr/service/IvsCameraService.java | 3 ++ .../service/impl/IvsCameraServiceImpl.java | 20 ++++++++++ 4 files changed, 72 insertions(+) create mode 100644 src/main/java/com/inspect/nvr/domain/device/IvsPresetListView.java diff --git a/src/main/java/com/inspect/nvr/controller/IvsCameraController.java b/src/main/java/com/inspect/nvr/controller/IvsCameraController.java index b43e569..923bc03 100644 --- a/src/main/java/com/inspect/nvr/controller/IvsCameraController.java +++ b/src/main/java/com/inspect/nvr/controller/IvsCameraController.java @@ -8,6 +8,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; @Slf4j @RestController @@ -16,6 +18,15 @@ public class IvsCameraController { @Resource private IvsCameraService ivsCameraService; + @GetMapping("/device/ptzpresetlist/{cameraCode}/{domainCode}") + public ResponseEntity ptzPresetList(@PathVariable("cameraCode") String cameraCode, @PathVariable("domainCode") String domainCode) { + log.info("PTZ_PRESET_LIST cameraCode : {}, domainCode: {}", cameraCode, domainCode); + IvsPresetListView ivsPresetListView = ivsCameraService.ptzPresetList(cameraCode, domainCode); + return ResponseEntity + .ok() + .body(ivsPresetListView); + } + @PostMapping({"/device/ptzcontrol"}) public ResponseEntity ptzControl(@RequestBody PtzControlParam param) { log.info("Ptz control request param: {}", param); diff --git a/src/main/java/com/inspect/nvr/domain/device/IvsPresetListView.java b/src/main/java/com/inspect/nvr/domain/device/IvsPresetListView.java new file mode 100644 index 0000000..3a43401 --- /dev/null +++ b/src/main/java/com/inspect/nvr/domain/device/IvsPresetListView.java @@ -0,0 +1,38 @@ +package com.inspect.nvr.domain.device; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class IvsPresetListView implements Serializable { + private int resultCode; + private int ptzPresetNum; + private PtzPresetInfoList ptzPresetInfoList; + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class PtzPresetInfo implements Serializable { + private int presetIndex; + private String presetName; + private String reserve; + private int focusSwitch; + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class PtzPresetInfoList implements Serializable { + private List ptzPresetInfo; + } +} diff --git a/src/main/java/com/inspect/nvr/service/IvsCameraService.java b/src/main/java/com/inspect/nvr/service/IvsCameraService.java index a463f6d..5b05471 100644 --- a/src/main/java/com/inspect/nvr/service/IvsCameraService.java +++ b/src/main/java/com/inspect/nvr/service/IvsCameraService.java @@ -1,10 +1,13 @@ package com.inspect.nvr.service; import com.inspect.nvr.domain.device.*; +import org.springframework.web.bind.annotation.PathVariable; import java.io.ByteArrayInputStream; public interface IvsCameraService { + IvsPresetListView ptzPresetList(final String cameraCode, final String domainCode); + PtzControlResult ptzControl(final PtzControlParam param); SnapshotCommandResult platformSnapshot( diff --git a/src/main/java/com/inspect/nvr/service/impl/IvsCameraServiceImpl.java b/src/main/java/com/inspect/nvr/service/impl/IvsCameraServiceImpl.java index ba2a1c2..0cfa86c 100644 --- a/src/main/java/com/inspect/nvr/service/impl/IvsCameraServiceImpl.java +++ b/src/main/java/com/inspect/nvr/service/impl/IvsCameraServiceImpl.java @@ -48,6 +48,25 @@ public class IvsCameraServiceImpl implements IvsCameraService { @Autowired private HCNetSDK hcNetSDK; + @Override + public IvsPresetListView ptzPresetList(String cameraCode, String domainCode) { + if(testMode) { + List list = new ArrayList<>(); + list.add(IvsPresetListView.PtzPresetInfo + .builder().presetName("preset").presetIndex(0).focusSwitch(1).reserve("reserve") + .build()); + IvsPresetListView ivsPresetListView = IvsPresetListView + .builder() + .resultCode(0) + .ptzPresetNum(1) + .ptzPresetInfoList(IvsPresetListView.PtzPresetInfoList.builder().ptzPresetInfo(list).build()) + .build(); + return ivsPresetListView; + } + + return null; + } + //跳转预置位 @Override public PtzControlResult ptzControl(PtzControlParam param) { @@ -94,6 +113,7 @@ public class IvsCameraServiceImpl implements IvsCameraService { .resultCode("0") .build(); return ptzControlResult; + } //拍照