diff --git a/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java b/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java index efad434..fdd4c0d 100644 --- a/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java +++ b/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsDeviceController.java @@ -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"); diff --git a/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java b/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java index 0d8706b..af1be70 100644 --- a/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java +++ b/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsCommonService.java @@ -201,6 +201,7 @@ public class IvsCommonService { public T postJson(String label, String ipAddr, String uri, Object requestParam, Class 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()) diff --git a/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java b/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java index 7f04e0b..bdadbfe 100644 --- a/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java +++ b/inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java @@ -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; diff --git a/inspect-ivs/src/main/java/com/inspect/ivs/view/IvsSnapshotView.java b/inspect-ivs/src/main/java/com/inspect/ivs/view/IvsSnapshotView.java index 3c7e124..b4c7de9 100644 --- a/inspect-ivs/src/main/java/com/inspect/ivs/view/IvsSnapshotView.java +++ b/inspect-ivs/src/main/java/com/inspect/ivs/view/IvsSnapshotView.java @@ -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() { diff --git a/inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java b/inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java index 956d7f6..7039e50 100644 --- a/inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java +++ b/inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java @@ -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(), diff --git a/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java b/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java index b1b1877..28d7033 100644 --- a/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java +++ b/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java @@ -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 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 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); diff --git a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java index 1c1289a..76bc776 100644 --- a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java +++ b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java @@ -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 + '\'' + '}'; } }