Browse Source

/*灵州站红外流程打通*/

master
htjcAdmin 5 months ago
parent
commit
010f145f5e
7 changed files with 75 additions and 40 deletions
  1. +5
    -3
      inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java
  2. +1
    -0
      inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java
  3. +25
    -10
      inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java
  4. +3
    -1
      inspect-ivs/src/main/java/com/inspect/ivs/view/IvsSnapshotView.java
  5. +7
    -1
      inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java
  6. +24
    -15
      inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java
  7. +10
    -10
      inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java

+ 5
- 3
inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java View File

@ -338,12 +338,10 @@ public class IvsDeviceController {
final String presetName = ivsDevChanSnapVo.getName();
final String patrolPointId = ivsDevChanSnapVo.getId();
final String uuid = ivsResourceRetryableDelegate.getLabel();
//http://199.199.199.154:9906/api/v1/device/channelsnap?serial=null&realtime=true&code=zx010500066194#xmludao&name=da&id=2074119
log.info(com.inspect.base.core.constant.Color.MAGENTA + "[IVS] CHANNEL_SNAPSHOT: {}" + com.inspect.base.core.constant.Color.END, ivsDevChanSnapVo.getCameraCode());
IvsSnapshotView ivsSnapshotView;
try {
ivsDevChanSnapVo.setUUID(uuid);
// 这里会向摄像机发送拍照指令
ivsSnapshotView = ivsResourceRetryableDelegate.getSnapshotRetryable(ivsDevChanSnapVo);
} catch (IOException e) {
log.info("ivsSnapshotView {}", e.getMessage() + " final fail");
@ -367,7 +365,11 @@ public class IvsDeviceController {
ivsChanSnapVo.setCameraCode(ivsDevChanSnapVo.getCameraCode());
ivsChanSnapVo.setDomainCode(ivsDevChanSnapVo.getDomainCode());
ivsChanSnapVo.setTaskID(ivsSnapshotView.getTaskID());
// 这里会从摄像机获取拍照结果
ivsChanSnapVo.setHost(ivsDevChanSnapVo.getHost());
ivsChanSnapVo.setPort(ivsDevChanSnapVo.getPort());
ivsChanSnapVo.setAddress(ivsDevChanSnapVo.getAddress());
ivsChanSnapVo.setUsername(ivsDevChanSnapVo.getUsername());
ivsChanSnapVo.setPassword(ivsDevChanSnapVo.getPassword());
snapShotView = ivsResourceRetryableDelegate.getSnapshotListRetryable(ivsChanSnapVo);
} catch (IOException e) {
log.info("snapShotView {}", e.getMessage() + " final fail");


+ 1
- 0
inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java View File

@ -201,6 +201,7 @@ public class IvsCommonService {
public <T> T postJson(String label, String ipAddr, String uri, Object requestParam, Class<T> clazz) {
final String destAddr = StringUtils.isEmpty(ipAddr) ? getAddress() : ipAddr;
log.info("IVS postJsonEx, Parameter:{}", JSONObject.toJSONString(requestParam));
JSONObject t = this.http(HttpMethod.POST, destAddr, uri)
.contentType(MediaType.APPLICATION_JSON)
.cookie(HTTP_JSESSIONID_SESSION_NAME, this.getCookie())


+ 25
- 10
inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java View File

@ -77,13 +77,20 @@ public class IvsResourceRetryableDelegate {
}
paramJson.put("controlPara1", ivsPresetVo.getPreset());
paramJson.put("controlPara2", "");
if(StringUtils.isNotEmpty(ivsPresetVo.getHost())) {
paramJson.put("host", ivsPresetVo.getHost());
paramJson.put("port", ivsPresetVo.getPort());
paramJson.put("address", ivsPresetVo.getAddress());
paramJson.put("username", ivsPresetVo.getUsername());
paramJson.put("password", ivsPresetVo.getPassword());
}
try {
final String apiAddr = getApiAddress(ivsPresetVo);
log.info("URI_PTZ_CONTROL GOTO apiAddr: {}", apiAddr);
ivsCommonService.postJson(ivsPresetVo.getUUID(), apiAddr, IvsConst.URI_PTZ_CONTROL, paramJson, IvsResult.class);
} catch (Exception e) {
log.info("URI_PTZ_CONTROL GOTO FAIL retryCount: {}, UUID: {}", retryCount, ivsPresetVo.getUUID());
throw new IOException("URI_PTZ_CONTROL GOTO: FAIL UUID: " + ivsPresetVo.getUUID() + ", retryCount: " + retryCount);
throw new IOException("URI_PTZ_CONTROL GOTO: FAIL UUID: " + ivsPresetVo.getUUID() + ", retryCount: " + retryCount + ", MSG: " + e);
}
return Response.ok();
}
@ -113,11 +120,13 @@ public class IvsResourceRetryableDelegate {
ignoredKeys.add("uUID");
ignoredKeys.add("name");
ignoredKeys.add("id");
ignoredKeys.add("host");
ignoredKeys.add("port");
ignoredKeys.add("address");
ignoredKeys.add("username");
ignoredKeys.add("password");
if(StringUtils.isEmpty(ivsDevChanSnapVo.getHost())) {
ignoredKeys.add("host");
ignoredKeys.add("port");
ignoredKeys.add("address");
ignoredKeys.add("username");
ignoredKeys.add("password");
}
final String apiAddr = getApiAddress(ivsDevChanSnapVo);
log.info("URI_PLATFORM_SNAPSHOT apiAddr: {}", apiAddr);
final String uri = UriUtils.parseIgnored(IvsConst.URI_PLATFORM_SNAPSHOT, ivsDevChanSnapVo, ignoredKeys);
@ -155,10 +164,17 @@ public class IvsResourceRetryableDelegate {
final String uuid = ivsChanSnapVo.getUUID();
IvsPlatformSnapshotView snapShotView;
try {
final String apiAddr = getApiAddress(ivsChanSnapVo);
ivsChanSnapVo.setUUID(null);
ivsChanSnapVo.setName(null);
ivsChanSnapVo.setId(null);
final String apiAddr = getApiAddress(ivsChanSnapVo);
if(StringUtils.isEmpty(ivsChanSnapVo.getHost())) {
ivsChanSnapVo.setHost(null);
ivsChanSnapVo.setPort(null);
ivsChanSnapVo.setAddress(null);
ivsChanSnapVo.setUsername(null);
ivsChanSnapVo.setPassword(null);
}
log.info("URI_SNAPSHOT_LIST apiAddr: {}", apiAddr);
snapShotView = ivsCommonService.postJson(
ivsChanSnapVo.getUUID(),
@ -268,9 +284,8 @@ public class IvsResourceRetryableDelegate {
private String getApiAddress(IvsVo ivsVo) {
String realAddr = null;
if(StringUtils.isNotEmpty(ivsVo.getHost()) && StringUtils.isNotEmpty(ivsVo.getPort())) { // nvr ip
realAddr = ivsVo.getHost().concat(StringUtils.COLON).concat(ivsVo.getPort());
} else if (StringUtils.isNotEmpty(ivsVo.getAddress())) { // camera ip
realAddr = ivsVo.getAddress();
//realAddr = ivsVo.getHost().concat(StringUtils.COLON).concat(ivsVo.getPort());
realAddr = "http://" + ivsVo.getHost() + StringUtils.COLON + ivsVo.getPort();
}
return realAddr;


+ 3
- 1
inspect-ivs/src/main/java/com/inspect/ivs/view/IvsSnapshotView.java View File

@ -1,8 +1,10 @@
package com.inspect.ivs.view;
import com.inspect.ivs.vo.IvsVo;
import java.io.Serializable;
public class IvsSnapshotView implements Serializable {
public class IvsSnapshotView extends IvsVo {
private String taskID;
public String getTaskID() {


+ 7
- 1
inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java View File

@ -32,7 +32,13 @@ public class IvsOperateRetryableDelegate {
+ "&command=goto&preset=" + presetPos.getPresetPosCode()
+ "&code=" + presetPos.getChannelCode()
+ "&name=" + URLEncoder.encode(presetPos.getPresetPosName(), ("UTF-8"))
+ "&id=" + presetPos.getPatrolPointId();
+ "&id=" + presetPos.getPatrolPointId()
+ "&host=" + presetPos.getHost()
+ "&port=" + presetPos.getPort()
+ "&username=" + presetPos.getUsername()
+ "&password=" + presetPos.getPassword()
+ "&address=" + presetPos.getAddress()
;
log.info("API_CONTROL_PRESET uuid: {}, param: {}, request: {}",
uuid,
presetPos.getPatrolPointId() + "-" + presetPos.getPresetPosName(),


+ 24
- 15
inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java View File

@ -453,6 +453,7 @@ public class JobMainTask {
.isEnable("1")
.build());
} catch (Exception e) {
e.printStackTrace();
log.info("Error queryPatrolPresetPos: {}", patrolPointId);
}
@ -522,17 +523,22 @@ public class JobMainTask {
filePaths.append("/" + ftpResult.getFilepath());
}
} else if ("ir".equals(chanType)) {
log.info("[JOB] 红外处理流程, chanType: {}, patrolPointId: {}", chanType, presetPos.getPatrolPointId());
Map<String, String> algSubtypeIdMap = taskExecClient.getAlgTypeListByPatrolPointId(String.valueOf(presetPos.getPatrolPointId()));
log.info("prePointExec algorithmTypeMap: {}", algSubtypeIdMap);
String paramUrl = liveIVS_URL
+ "/api/v1/device/channelsnap?serial=" + presetPos.getVideoNvrCode()
+ "&realtime=true&code=" + presetPos.getChannelCode();
final String algSubtypeCode = algSubtypeIdMap == null ? StringUtils.EMPTY :
algSubtypeIdMap.getOrDefault(AlgConstants.ALG_SUBTYPE_CODE, StringUtils.EMPTY);
log.info("INFRARED_PROC, chanType: {}, patrolPointId: {}, algorithmTypeMap: {}, algSubtypeCode: {}",
chanType, presetPos.getPatrolPointId(), algSubtypeIdMap, algSubtypeCode);
if (algSubtypeCode.contains(AlgConstants.INFRA_1800)
|| algSubtypeCode.contains(AlgConstants.INFRA_YU3)
|| algSubtypeCode.contains(AlgConstants.INFRA_CAMERA)
|| algSubtypeCode.contains(AlgConstants.INFRA_CAMERA_REVERSE)) {
log.info("[infra_1800] 红外处理新流程: prePointExec algSubtypeCode: {}", algSubtypeCode);
String paramFileName;
String paramFileName = taskPatrolId.split(StringUtils.UNDERLINE)[1] + StringUtils.UNDERLINE
+ taskPatrolId.split(StringUtils.UNDERLINE)[2] + StringUtils.UNDERLINE
+ presetPos.getPatrolPointId() + StringUtils.UNDERLINE
+ patrolTaskInfo.getDevNo() + ".jpg";
if (algSubtypeCode.contains(AlgConstants.INFRA_1800)) {
Map<String, String> threshold = patrolDeviceStateMapper.selectPatrolPresetParam(presetPos.getPatrolPointId());
final String temperUrl = liveIVS_URL + "/api/v1/device/temper";
@ -542,24 +548,26 @@ public class JobMainTask {
temperParam.put("presetId", Integer.parseInt(presetPos.getPresetPosCode()));
temperParam.put("cameraCode", presetPos.getChannelCode());
final String temperUrlRes = HttpClientUtils.sendPostAgain(temperUrl, temperParam.toString());
log.info("[infra_1800] prePointExec temperUrlRes: {}", temperUrlRes);
log.info("INFRARED_PROC INFRA_1800 prePointExec temperUrlRes: {}", temperUrlRes);
paramFileName = taskPatrolId.split(StringUtils.UNDERLINE)[1] + StringUtils.UNDERLINE
+ taskPatrolId.split(StringUtils.UNDERLINE)[2] + StringUtils.UNDERLINE
+ presetPos.getPatrolPointId() + StringUtils.UNDERLINE
+ patrolTaskInfo.getDevNo() + "_" + temperUrlRes + ".jpg";
} else {
paramFileName = taskPatrolId.split(StringUtils.UNDERLINE)[1] + StringUtils.UNDERLINE
+ taskPatrolId.split(StringUtils.UNDERLINE)[2] + StringUtils.UNDERLINE
+ presetPos.getPatrolPointId() + StringUtils.UNDERLINE
+ patrolTaskInfo.getDevNo() + ".jpg";
} else if (algSubtypeCode.contains(AlgConstants.INFRA_CAMERA)) {
paramUrl = paramUrl
+ "&host=" + presetPos.getHost()
+ "&port=" + presetPos.getPort()
+ "&username=" + presetPos.getUsername()
+ "&password=" + presetPos.getPassword()
+ "&address=" + presetPos.getAddress();
log.info("INFRARED_PROC INFRA_CAMERA prePointExec paramUrl: {}", paramUrl);
}
String paramUrl = liveIVS_URL + "/api/v1/device/channelsnap?serial=" + presetPos.getVideoNvrCode() + "&realtime=true&code=" + presetPos.getChannelCode();
String paramFileDir = basePath + "CCD";
log.info("红外处理新流程: paramUrl: {}, paramFileName: {}, paramFileDir: {}", paramUrl, paramFileName, paramFileDir);
log.info("INFRARED_PROC: paramUrl: {}, paramFileName: {}, paramFileDir: {}", paramUrl, paramFileName, paramFileDir);
FtpResult ftpResult = getFileAndSave(paramUrl, paramFileName, paramFileDir);
if (ftpResult != null && StringUtils.isNotEmpty(ftpResult.getFilepath())) {
log.info("红外处理新流程: filePath: {}", ftpResult.getFilepath());
//bOk = ftpResult.isOk();
log.info("INFRARED_PROC: filePath: {}", ftpResult.getFilepath());
filePaths.append("/" + ftpResult.getFilepath());
}
} else { // 古老的红外处理流程保留勿删除
@ -1005,7 +1013,8 @@ public class JobMainTask {
String[] devNos = patrolTask.getDevNo().split(StringUtils.COMMA);
PatrolTaskExecRecord patrolTaskExecRecord = new PatrolTaskExecRecord();
Date time = patrolTask.getFixedStartTime();
String timeStr = time == null ? immediatelyExecTaskTime : DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss, time);
//String timeStr = time == null ? immediatelyExecTaskTime : DateUtils.parseDateToStr(DateUtils.yyyyMMddHHmmss, time);
String timeStr = immediatelyExecTaskTime;
patrolTaskExecRecord.setTaskPatrolId(devNos[0] + "_" + patrolTask.getTaskCode() + "_" + immediatelyExecTaskTime);// 这边暂定devNos[0]
//patrolTaskExecRecord.setOldTaskPatrolId(patrolTask.getTaskCode() + "_" + timeStr + "_" + immediatelyExecTaskTime);
patrolTaskExecRecord.setOldTaskPatrolId(patrolTask.getTaskCode() + "_" + timeStr);


+ 10
- 10
inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java View File

@ -24,11 +24,11 @@ public class PatrolPresetPosSlim extends BaseEntity {
private String channelCode;
private String channelType;
private String videoNvrCode;
private String nvrHost;
private String nvrPort;
private String nvrUser;
private String nvrPass;
private String camAddr;
private String host;
private String port;
private String username;
private String password;
private String address;
@Override
public String toString() {
@ -46,11 +46,11 @@ public class PatrolPresetPosSlim extends BaseEntity {
", channelCode='" + channelCode + '\'' +
", channelType='" + channelType + '\'' +
", videoNvrCode='" + videoNvrCode + '\'' +
", nvrHost='" + nvrHost + '\'' +
", nvrPort='" + nvrPort + '\'' +
", nvrUser='" + nvrUser + '\'' +
", nvrPass='" + nvrPass + '\'' +
", camAddr='" + camAddr + '\'' +
", host='" + host + '\'' +
", port='" + port + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
", address='" + address + '\'' +
'}';
}
}

Loading…
Cancel
Save