Browse Source

/*NVR模块测试模式调试完毕并且通过流程验证*/

master
htjcAdmin 5 months ago
parent
commit
f82e4d48bb
8 changed files with 65 additions and 178 deletions
  1. +4
    -6
      src/main/java/com/inspect/nvr/controller/IvsCameraController.java
  2. +0
    -160
      src/main/java/com/inspect/nvr/controller/IvsServerController.java
  3. +21
    -1
      src/main/java/com/inspect/nvr/domain/device/PtzControlParam.java
  4. +13
    -3
      src/main/java/com/inspect/nvr/domain/device/SnapshotCommandParam.java
  5. +1
    -0
      src/main/java/com/inspect/nvr/domain/device/SnapshotCommandResult.java
  6. +13
    -3
      src/main/java/com/inspect/nvr/domain/device/SnapshotInfoListParam.java
  7. +1
    -0
      src/main/java/com/inspect/nvr/domain/device/SnapshotInfoListResult.java
  8. +12
    -5
      src/main/java/com/inspect/nvr/service/impl/IvsCameraServiceImpl.java

+ 4
- 6
src/main/java/com/inspect/nvr/controller/IvsCameraController.java View File

@ -2,18 +2,16 @@ package com.inspect.nvr.controller;
import com.inspect.nvr.domain.device.*;
import com.inspect.nvr.service.IvsCameraService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.*;
@Slf4j
@RestController
public class IvsCameraController implements Serializable {
private final Logger log = LoggerFactory.getLogger(this.getClass());
public class IvsCameraController {
@Resource
private IvsCameraService ivsCameraService;
@ -47,7 +45,7 @@ public class IvsCameraController implements Serializable {
@GetMapping("/downloadfile")
public ResponseEntity<InputStreamResource> downloadFile(@RequestParam("filesessionid") String fileSessionId) {
log.info("[GAB] get stream, fileSessionId: {}", fileSessionId);
log.info("Download File Get Stream, fileSessionId: {}", fileSessionId);
return ResponseEntity
.ok()
.body(new InputStreamResource(ivsCameraService.downloadFile(fileSessionId)));


+ 0
- 160
src/main/java/com/inspect/nvr/controller/IvsServerController.java View File

@ -94,13 +94,6 @@ public class IvsServerController {
);
}
@PostMapping({"/device/ptzcontrol2"})
public ResponseEntity<ResultEntity> devicePtzControl(@RequestBody SipbPtzVo ptzVo) {
log.info("[GAB] devicePtzControl : {}", ptzVo.toString());
return ResponseEntity
.ok()
.body(ResultEntity.builder().resultCode("0").build());
}
@GetMapping("/device/deviceList2/v1.0")
public ResponseEntity<ResultEntity> getDeviceList(IvsDevChanListVo chanListVo) {
@ -110,160 +103,7 @@ public class IvsServerController {
.body(ResultEntity.builder().resultCode("0").build());
}
private static int mCount = 0;
@GetMapping("/platform/platformSnapshot2/{cameraCode}/{domainCode}")
public ResponseEntity<ResultEntity> getPlatformSnapshot(
@PathVariable("cameraCode") String cameraCode,
@PathVariable("domainCode") String domainCode,
IvsDevChanSnapVo chanSnapVo
) {
log.info("[GAB] cameraCode: {}, domainCode: {}, platformSnapshot: {}", cameraCode, domainCode, chanSnapVo.toString());
mCount++;
// if(mCount % 2 == 0)
{
return ResponseEntity
.ok()
.body(ResultEntity
.builder()
.resultCode("0")
.resultBody(IvsSnapshotView
.builder()
.taskID(TASK_CODE)
.build()
).build()
);
}
// else {
// return ResponseEntity
// .ok().body(null);
// }
// return ResponseEntity
// .ok()
// .body(ResultEntity
// .builder()
// .resultCode("0")
// .resultBody(IvsSnapshotView
// .builder()
// .taskID(TASK_CODE)
// .build()
// ).build()
// );
}
private static int mCount2 = 0;
@PostMapping("/platform/snapshotList2")
public ResponseEntity<IvsPlatformSnapshotView> getPlatformSnapshotList(@RequestBody IvsChanSnapVo chanSnapVo) {
log.info("[GAB] chanSnapVo: {}", chanSnapVo.toString());
mCount2++;
// if(mCount2 % 4 == 0)
{
List<IvsPlatformSnapshotView.SnapshotInfo> snapshotInfos = new ArrayList<>();
final String urlRes = platFormUrl + "/platform/snapshot/" + chanSnapVo.getCameraCode();
//final String urlRes = "http://192.168.110.184:18530/platform/snapshot/" + chanSnapVo.getCameraCode();
snapshotInfos.add(
IvsPlatformSnapshotView.SnapshotInfo
.builder()
.cameraCode(chanSnapVo.getCameraCode())
.pictureName("test.png")
.previewUrl(urlRes)
.pictureUrl(urlRes)
.build()
);
IvsPlatformSnapshotView.SnapshotInfoList snapshotInfoList =
IvsPlatformSnapshotView.SnapshotInfoList
.builder()
.total(1)
.indexRange(IndexRange.builder().fromIndex(0).toIndex(0).build())
.snapshotInfos(snapshotInfos)
.build();
IvsPlatformSnapshotView snapshotView
= IvsPlatformSnapshotView
.builder()
.resultCode("0")
.snapshotInfoList(snapshotInfoList)
.build();
return ResponseEntity
.ok()
.body(snapshotView);
}
// else {
// return ResponseEntity
// .ok()
// .body(null);
// }
}
@GetMapping("/platform/snapshot2/{cameraCode}")
public ResponseEntity<InputStreamResource> getPlatformSnapshotByCameraCode(@PathVariable("cameraCode") String cameraCode, HttpServletResponse response) {
log.info("[GAB] get stream, cameraCode: {}", cameraCode);
try {
final String resourcePath = String.format("images/%s.jpg", cameraCode);
// InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath);
final String userDir = System.getProperty("user.dir");
final String absolutePath = userDir.endsWith("/") ?
userDir + resourcePath :
userDir + File.separator + resourcePath;
log.info("absolutePath: {}", absolutePath);
InputStream inputStream = Files.newInputStream(new File(absolutePath).toPath());
int length = inputStream.available();
log.info("[snapshot] inputStream length: {}", length);
//byte bytes[] = new byte[length];
//response.setContentLength(length);
InputStreamResource resource = new InputStreamResource(inputStream);
return ResponseEntity.ok()
.contentType(MediaType.IMAGE_JPEG)
.body(resource)
;
} catch (Exception e) {
//e.printStackTrace();
log.info("[GAB] get stream cameraCode: {}, exception: {}", cameraCode, e.getMessage());
return ResponseEntity.ok().body(null);
}
}
@GetMapping("/platform/snapshot22/{cameraCode}")
public ResponseEntity<InputStreamResource> getPlatformSnapshotByCameraCode2(@PathVariable("cameraCode") String cameraCode, HttpServletResponse response) {
log.info("[GAB] get stream2, cameraCode: {}", cameraCode);
try {
File path = new File(ResourceUtils.getURL("classpath:").getPath());
if (!path.exists()) path = new File("");
log.info("path1: {}", path.getAbsolutePath());
log.info("path2: {}", System.getProperty("user.dir"));
String path1 = ClassUtils.getDefaultClassLoader().getResource("").getPath();
log.info("path3: {}", URLDecoder.decode(path1, "utf-8"));
String path2 = ResourceUtils.getURL("classpath:").getPath();
log.info("path4: {}", path2);
ApplicationHome h = new ApplicationHome(getClass());
File jarF = h.getSource();
log.info("path5: {}", jarF.getParentFile().toString());
final String resourcePath = String.format("images/%s.jpg", cameraCode);
final String userDir = System.getProperty("user.dir");
log.info("!!!!!!!!!!!!!!userDir: {}", userDir);
final String absolutePath = userDir.endsWith("/") ?
userDir + resourcePath :
userDir + "/" + resourcePath;
log.info("absolutePath2: {}", absolutePath);
InputStream inputStream = Files.newInputStream(new File(absolutePath).toPath());
int length = inputStream.available();
log.info("[snapshot] inputStream2 length: {}", length);
InputStreamResource resource = new InputStreamResource(inputStream);
return ResponseEntity.ok()
.contentType(MediaType.IMAGE_JPEG)
.body(resource)
;
} catch (Exception e) {
//e.printStackTrace();
log.info("[GAB] get stream cameraCode: {}, exception2: {}", cameraCode, e.getMessage());
return ResponseEntity.ok().body(null);
}
}
}

+ 21
- 1
src/main/java/com/inspect/nvr/domain/device/PtzControlParam.java View File

@ -1,15 +1,30 @@
package com.inspect.nvr.domain.device;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class PtzControlParam {
@NoArgsConstructor
@AllArgsConstructor
public class PtzControlParam implements Serializable {
private String serial;
private String channel;
private String code;
private String command;
private String cameraCode;
private String controlCode;
private String controlPara1;
private String controlPara2;
private String host;
private String port;
private String address;
private String username;
private String password;
@Override
public String toString() {
@ -18,6 +33,11 @@ public class PtzControlParam {
", controlCode='" + controlCode + '\'' +
", controlPara1='" + controlPara1 + '\'' +
", controlPara2='" + controlPara2 + '\'' +
", host='" + host + '\'' +
", port='" + port + '\'' +
", address='" + address + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

+ 13
- 3
src/main/java/com/inspect/nvr/domain/device/SnapshotCommandParam.java View File

@ -1,14 +1,14 @@
package com.inspect.nvr.domain.device;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.*;
import java.io.Serializable;
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SnapshotCommandParam implements Serializable {
private String code;
private String cameraCode;
@ -18,6 +18,11 @@ public class SnapshotCommandParam implements Serializable {
private boolean realtime;
private boolean checkOutputs;
private boolean timeout;
private String host;
private String port;
private String address;
private String username;
private String password;
@Override
public String toString() {
@ -30,6 +35,11 @@ public class SnapshotCommandParam implements Serializable {
", realtime=" + realtime +
", checkOutputs=" + checkOutputs +
", timeout=" + timeout +
", host='" + host + '\'' +
", port='" + port + '\'' +
", address='" + address + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

+ 1
- 0
src/main/java/com/inspect/nvr/domain/device/SnapshotCommandResult.java View File

@ -11,4 +11,5 @@ import java.io.Serializable;
@Builder
public class SnapshotCommandResult implements Serializable {
private String taskID;
private String resultCode;
}

+ 13
- 3
src/main/java/com/inspect/nvr/domain/device/SnapshotInfoListParam.java View File

@ -1,19 +1,24 @@
package com.inspect.nvr.domain.device;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.*;
import java.io.Serializable;
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SnapshotInfoListParam implements Serializable {
private String taskID;
private String code;
private String cameraCode;
private String domainCode;
private String host;
private String port;
private String address;
private String username;
private String password;
@Override
public String toString() {
@ -22,6 +27,11 @@ public class SnapshotInfoListParam implements Serializable {
", code='" + code + '\'' +
", cameraCode='" + cameraCode + '\'' +
", domainCode='" + domainCode + '\'' +
", host='" + host + '\'' +
", port='" + port + '\'' +
", address='" + address + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}

+ 1
- 0
src/main/java/com/inspect/nvr/domain/device/SnapshotInfoListResult.java View File

@ -11,6 +11,7 @@ import java.util.List;
@Setter
@Builder
public class SnapshotInfoListResult implements Serializable {
private String resultCode;
private SnapshotInfoList snapshotInfoList;
@Setter


+ 12
- 5
src/main/java/com/inspect/nvr/service/impl/IvsCameraServiceImpl.java View File

@ -51,6 +51,11 @@ public class IvsCameraServiceImpl implements IvsCameraService {
//跳转预置位
@Override
public PtzControlResult ptzControl(PtzControlParam param) {
if(testMode) {
return PtzControlResult.builder()
.resultCode("0")
.build();
}
Camera camera = new Camera();
//赋值
@ -61,7 +66,7 @@ public class IvsCameraServiceImpl implements IvsCameraService {
camera.setChannel(39);
camera.setPointNum(1);
lUserID = (Integer) redisService.redisTemplate.opsForValue().get(camera.getIp() + "_userId");
//lUserID = (Integer) redisService.redisTemplate.opsForValue().get(camera.getIp() + "_userId");
if (ObjectUtil.isEmpty(lUserID)) {
NvrInfo nvrInfo = new NvrInfo();
@ -70,7 +75,7 @@ public class IvsCameraServiceImpl implements IvsCameraService {
nvrInfo.setAccount(camera.getUserName());
nvrInfo.setPassword(camera.getPassword());
login_V40(nvrInfo);
lUserID = (Integer) redisService.redisTemplate.opsForValue().get(camera.getIp() + "_userId");
//lUserID = (Integer) redisService.redisTemplate.opsForValue().get(camera.getIp() + "_userId");
}
@ -97,7 +102,8 @@ public class IvsCameraServiceImpl implements IvsCameraService {
SnapshotCommandResult snapshotCommandResult =
SnapshotCommandResult.builder()
.taskID("0123456789")
.taskID(param.getCameraCode())
.resultCode("0")
.build();
return snapshotCommandResult;
}
@ -108,13 +114,14 @@ public class IvsCameraServiceImpl implements IvsCameraService {
List<SnapshotInfoListResult.SnapshotInfo> infoList = new ArrayList<>();
infoList.add(
SnapshotInfoListResult.SnapshotInfo.builder()
.pictureUrl("http://192.168.1.172:18539/downloadfile?filesessionid=HQ3HLF98QI6T645DSNVO4S066S00")
.cameraCode("01969538357008970118")
.pictureUrl("http://192.168.1.172:18539/downloadfile?filesessionid=" + param.getTaskID())
.cameraCode(param.getCameraCode())
.build());
snapshotInfoList.setTotal(1);
snapshotInfoList.setSnapshotInfos(infoList);
SnapshotInfoListResult snapshotInfoListResult =
SnapshotInfoListResult.builder()
.resultCode("0")
.snapshotInfoList(snapshotInfoList)
.build();
return snapshotInfoListResult;


Loading…
Cancel
Save