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; + } //拍照