diff --git a/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsControlController.java b/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsControlController.java index 94aec86..a0f9258 100644 --- a/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsControlController.java +++ b/inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsControlController.java @@ -79,18 +79,6 @@ public class IvsControlController { redisService.setCacheMapValue(IvsConst.IVS_PRESET_MAP, ivsPresetVo.getPreset(), ivsPresetVo.getPreset()); return Response.ok(); } else if (command.equals("goto")) { -// log.info("IVS_PRESET GOTO: {}, CameraCode: {}", ivsPresetVo.getCommand(), ivsPresetVo.getCameraCode()); -// JSONObject paramJson = new JSONObject(); -// paramJson.put("cameraCode", ivsPresetVo.getCameraCode()); -// log.debug("============================VERSION {}", version); -// if (version.equals("1800")) { -// paramJson.put("controlCode", 11); -// } else { -// paramJson.put("controlCode", "11"); -// } -// paramJson.put("controlPara1", ivsPresetVo.getPreset()); -// paramJson.put("controlPara2", ""); -// ivsCommonService.postJson(ivsResourceRetryableDelegate.getLabel(), paramJson, IvsConst.URI_PTZ_CONTROL, IvsResult.class); try { String uuid = ivsResourceRetryableDelegate.getLabel(); log.info("URI_PTZ_CONTROL GOTO UUID: {}, CameraCode: {}", uuid, ivsPresetVo.getCameraCode()); @@ -121,7 +109,7 @@ public class IvsControlController { log.info("GET_PRESET_LIST PARAM: {}", ivsVo); IvsPresetListView ivsPresetListView = ivsCommonService.get(ivsResourceRetryableDelegate.getLabel(), - ivsVo.getIvsAddress(), + ivsVo.getAddress(), UriUtils.parseForReplace(IvsConst.URI_PRESET_LIST, ivsVo), IvsPresetListView.class); log.debug("[IVS] END"); diff --git a/inspect-ivs/src/main/java/com/inspect/ivs/vo/IvsVo.java b/inspect-ivs/src/main/java/com/inspect/ivs/vo/IvsVo.java index 3fa6582..fd34bd8 100644 --- a/inspect-ivs/src/main/java/com/inspect/ivs/vo/IvsVo.java +++ b/inspect-ivs/src/main/java/com/inspect/ivs/vo/IvsVo.java @@ -9,16 +9,23 @@ public class IvsVo implements Serializable { private String code; private String cameraCode; private String domainCode; - private String ivsAddress; - private String ivsUsername; - private String ivsPassword; + private String host; + private String port; + private String username; + private String password; + private String address; public void setCode(String code) { if(!StringUtils.isEmpty(code)) { this.code = code; - String[] split = this.code.split("\\#"); - this.cameraCode = split[0]; - this.domainCode = split[1]; + String[] splits = this.code.split("\\#"); + if(splits.length == 1) { + this.cameraCode = splits[0]; + this.domainCode = splits[0]; + } else { + this.cameraCode = splits[0]; + this.domainCode = splits[1]; + } } } @@ -42,28 +49,44 @@ public class IvsVo implements Serializable { this.domainCode = domainCode; } - public String getIvsAddress() { - return ivsAddress; + public String getHost() { + return host; + } + + public void setHost(String host) { + this.host = host; + } + + public String getPort() { + return port; + } + + public void setPort(String port) { + this.port = port; + } + + public String getUsername() { + return username; } - public void setIvsAddress(String ivsAddress) { - this.ivsAddress = ivsAddress; + public void setUsername(String username) { + this.username = username; } - public String getIvsUsername() { - return ivsUsername; + public String getPassword() { + return password; } - public void setIvsUsername(String ivsUsername) { - this.ivsUsername = ivsUsername; + public void setPassword(String password) { + this.password = password; } - public String getIvsPassword() { - return ivsPassword; + public String getAddress() { + return address; } - public void setIvsPassword(String ivsPassword) { - this.ivsPassword = ivsPassword; + public void setAddress(String address) { + this.address = address; } public boolean equals(Object o) { diff --git a/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java b/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java index a063cb0..3bc72b8 100644 --- a/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java +++ b/inspect-job/src/main/java/com/inspect/job/client/TaskExecClient.java @@ -28,6 +28,9 @@ public interface TaskExecClient { @PostMapping({"/exec/selectPatrolPresetPosList"}) List selectPatrolPresetPosList(PatrolPresetPos presetPos); + @PostMapping({"/exec/selectPresetCodeSlimByPatrolPointId"}) + PatrolPresetPosSlim selectPresetCodeSlimByPatrolPointId(PatrolPresetPosSlim presetPosSlim); + @PostMapping({"/exec/selectPatrolPresetActionList"}) List selectPatrolPresetActionList(PatrolPresetAction presetAction); diff --git a/inspect-job/src/main/java/com/inspect/job/domain/task/PatrolPresetPosSlim.java b/inspect-job/src/main/java/com/inspect/job/domain/task/PatrolPresetPosSlim.java new file mode 100644 index 0000000..90b916d --- /dev/null +++ b/inspect-job/src/main/java/com/inspect/job/domain/task/PatrolPresetPosSlim.java @@ -0,0 +1,54 @@ +package com.inspect.job.domain.task; +import com.inspect.base.core.web.domain.BaseEntity; +import lombok.*; + +@Setter +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PatrolPresetPosSlim extends BaseEntity { + private static final long serialVersionUID = 1L; + private String presetPosId; + private String presetPosCode; + private String presetPosName; + private String patrolDeviceCode; + private String patrolDeviceName; + private String algSubtypeCode; + private Long patrolPointId; + private String isEnable; + private String eqpBookId; + private String channelId; + private String channelCode; + private String channelType; + private String videoNvrCode; + private String host; + private String port; + private String username; + private String password; + private String address; + + @Override + public String toString() { + return "PatrolPresetPosSlim{" + + "presetPosId='" + presetPosId + '\'' + + ", presetPosCode='" + presetPosCode + '\'' + + ", presetPosName='" + presetPosName + '\'' + + ", patrolDeviceCode='" + patrolDeviceCode + '\'' + + ", patrolDeviceName='" + patrolDeviceName + '\'' + + ", algSubtypeCode='" + algSubtypeCode + '\'' + + ", patrolPointId=" + patrolPointId + + ", isEnable='" + isEnable + '\'' + + ", eqpBookId='" + eqpBookId + '\'' + + ", channelId='" + channelId + '\'' + + ", channelCode='" + channelCode + '\'' + + ", channelType='" + channelType + '\'' + + ", videoNvrCode='" + videoNvrCode + '\'' + + ", host='" + host + '\'' + + ", port='" + port + '\'' + + ", username='" + username + '\'' + + ", password='" + password + '\'' + + ", address='" + address + '\'' + + '}'; + } +} diff --git a/inspect-job/src/main/java/com/inspect/job/task/CameraOperateRetryableDelegate.java b/inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java similarity index 63% rename from inspect-job/src/main/java/com/inspect/job/task/CameraOperateRetryableDelegate.java rename to inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java index b5a5bb2..10a6357 100644 --- a/inspect-job/src/main/java/com/inspect/job/task/CameraOperateRetryableDelegate.java +++ b/inspect-job/src/main/java/com/inspect/job/task/IvsOperateRetryableDelegate.java @@ -2,6 +2,7 @@ package com.inspect.job.task; import com.inspect.base.core.utils.HttpClientUtils; import com.inspect.job.domain.task.PatrolPresetPos; +import com.inspect.job.domain.task.PatrolPresetPosSlim; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -13,16 +14,37 @@ import org.springframework.retry.support.RetrySynchronizationManager; import org.springframework.stereotype.Component; import java.io.IOException; +import java.net.URLEncoder; @Component -public class CameraOperateRetryableDelegate { - private static final Logger log = LoggerFactory.getLogger(CameraOperateRetryableDelegate.class); +public class IvsOperateRetryableDelegate { + private static final Logger log = LoggerFactory.getLogger(IvsOperateRetryableDelegate.class); private String API_CONTROL_PRESET = "/api/v1/control/preset"; @Value("${liveSIPB.url}") private String liveIVS_URL; + public boolean setCameraToPreset(String uuid, PatrolPresetPosSlim presetPos) { + try { + final String url = liveIVS_URL + API_CONTROL_PRESET; + final String param = "serial=" + presetPos.getVideoNvrCode() + + "&command=goto&preset=" + presetPos.getPresetPosCode() + + "&code=" + presetPos.getChannelCode() + + "&presetName=" + URLEncoder.encode(presetPos.getPresetPosName(), ("UTF-8")) + + "&patrolPointId=" + presetPos.getPatrolPointId(); + log.info("API_CONTROL_PRESET uuid: {}, param: {}, request: {}", + uuid, + presetPos.getPatrolPointId() + "-" + presetPos.getPresetPosName(), + url + "?" + param); + HttpClientUtils.get(url, param); + return true; + } catch (Exception e) { + log.info("API_CONTROL_PRESET FAIL: {}", e.getMessage()); + return false; + } + } + @Retryable( value = IOException.class, maxAttempts = 5, @@ -44,7 +66,7 @@ public class CameraOperateRetryableDelegate { HttpClientUtils.get(url, param); return true; } catch (Exception e) { - log.info("error: {}", e.getMessage()); + log.info("API_CONTROL_PRESET RETRY FAIL: {}", e.getMessage()); throw new IOException("API_CONTROL_PRESET FAIL: " + e.getMessage()); } } 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 50de6b9..bd4a2ae 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 @@ -31,8 +31,9 @@ import com.inspect.job.mapper.PatrolDeviceStateMapper; import com.inspect.job.util.HttpClientUtil; import com.inspect.system.base.domain.SysDictData; -import java.io.IOException; import java.net.URLConnection; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.time.LocalDateTime; @@ -117,7 +118,7 @@ public class JobMainTask { private boolean testMode; @Resource - private CameraOperateRetryableDelegate cameraOperateRetryableDelegate; + private IvsOperateRetryableDelegate ivsOperateRetryableDelegate; private ExecutorService threadPool; @@ -201,7 +202,7 @@ public class JobMainTask { int result = 0; String taskPatrolledId = taskPatrolId.split(StringUtils.UNDERLINE)[1] + "_" + taskPatrolId.split(StringUtils.UNDERLINE)[2]; PatrolTaskStatus patrolTaskStatus = taskExecClient.selectPatrolTaskStatusByTaskPatrolledId(taskPatrolledId); - if(patrolTaskStatus == null) { + if (patrolTaskStatus == null) { return result; } @@ -443,52 +444,35 @@ public class JobMainTask { } } - private boolean setCameraToPreset(PatrolPresetPos presetPos) { + private PatrolPresetPosSlim queryPatrolPresetPos(final String uuid, final String patrolPointId) { + PatrolPresetPosSlim presetPosSlim = null; try { - final String url = liveIVS_URL + API_CONTROL_PRESET; - final String param = "serial=" + presetPos.getVideoNvrCode() + "&command=goto&preset=" + presetPos.getPresetPosCode() + "&code=" + presetPos.getChannelCode(); - log.info("CALL IVS CONTROL PRESET URL: {}", url + "?" + param); - HttpClientUtils.get(url, param); - return true; + presetPosSlim = taskExecClient.selectPresetCodeSlimByPatrolPointId( + PatrolPresetPosSlim.builder() + .patrolPointId(Long.parseLong(patrolPointId)) + .isEnable("1") + .build()); } catch (Exception e) { - log.error("error", e); - return false; + e.printStackTrace(); } - } + if (presetPosSlim == null) { + presetPosSlim = PatrolPresetPosSlim.builder() + .presetPosId("99999999") + .channelType("vl") + .channelCode("ffffffffffffffffff#ffffffffffffffffffffffffffffffff") + .videoNvrCode("ffffffffffffffffffffffffffffffff") + .build(); + } + log.info(Color.CYAN + "queryPatrolPresetPos uuid: {}, patrolPresetPosSlim: {}" + Color.END, uuid, presetPosSlim); + return presetPosSlim; + } private PatrolTaskExecRecord prePointExec(PatrolTaskExecRecord taskExecRecord, PatrolTaskInfo patrolTaskInfo, int infoListSize) { String uuid = UUID.randomUUID().toString().trim().replaceAll(StringUtils.DASH, StringUtils.EMPTY); - PatrolPresetPos patrolPresetPos = PatrolPresetPos.builder() - .patrolPointId(Long.parseLong(patrolTaskInfo.getDeviceId())) - .isEnable("1") - .build(); - List presetPosList = taskExecClient.selectPatrolPresetPosList(patrolPresetPos); - log.info(Color.CYAN + "[UUID] uuid: {}, executing patrolPoint, patrolPointId: {}, patrolPresetPos: {}" + Color.END, uuid, patrolTaskInfo.getDeviceId(), JSONObject.toJSONString(presetPosList, true)); - - if(presetPosList.isEmpty()) { - log.error(Color.RED + "[UUID] uuid: {}, patrol_task_info deviceId: {} no patrol_preset_pos record!!!", uuid, patrolTaskInfo.getDeviceId()); - } - - PatrolPresetPos presetPos = !presetPosList.isEmpty() - ? presetPosList.get(0) - : PatrolPresetPos.builder().presetPosId("99999999").channelType("vl").channelCode("ffffffffffffffffff#ffffffffffffffffffffffffffffffff").videoNvrCode("ffffffffffffffffffffffffffffffff").build(); - String taskPatrolId = taskExecRecord.getTaskPatrolId(); - - /*摄像头转到预置位*/ - //boolean noError = setCameraToPreset(presetPos); - - boolean noError = true; - try { - noError = cameraOperateRetryableDelegate.sendCameraPresetRequest(presetPos); - } catch (IOException e) { - log.error("最终重试失败: channelCode: {}, presetPosName: {}, patrolPointId: {}, msg: {}", - presetPos.getChannelCode(), presetPos.getPresetPosName(), presetPos.getPatrolPointId(), e.getMessage()); - noError = false; - } - - + final PatrolPresetPosSlim presetPos = queryPatrolPresetPos(uuid, patrolTaskInfo.getDeviceId()); + boolean noError = ivsOperateRetryableDelegate.setCameraToPreset(uuid, presetPos); if (!testMode && noError) { log.info("setCameraToPreset no error, delay 20 seconds"); myDelay(20000); @@ -512,6 +496,7 @@ public class JobMainTask { + "/" + taskExecRecord.getTaskCode() + "/"; log.info("uuid: {}, basePath: {}", uuid, basePath); + String taskPatrolId = taskExecRecord.getTaskPatrolId(); if (PresetAction.PHOTO.getCode().equals(presetAction.getActionType())) { final String chanType = presetPos.getChannelType(); fileTypes.append("ir".equals(chanType) ? "1" : "vl".equals(chanType) ? "2" : "").append(","); @@ -522,7 +507,7 @@ public class JobMainTask { String paramUrl = liveIVS_URL + "/api/v1/device/channelsnap?serial=" + presetPos.getVideoNvrCode() + "&realtime=true&code=" + presetPos.getChannelCode() - + "&presetName=" + presetPos.getPresetPosName() + + "&presetName=" + URLEncoder.encode(presetPos.getPresetPosName(), ("UTF-8")) + "&patrolPointId=" + presetPos.getPatrolPointId(); String paramFileName = taskPatrolId.split(StringUtils.UNDERLINE)[1] + StringUtils.UNDERLINE + taskPatrolId.split(StringUtils.UNDERLINE)[2] + StringUtils.UNDERLINE @@ -656,7 +641,7 @@ public class JobMainTask { synchronized private void addPointRecord(boolean bOk, PatrolTaskExecRecord taskExecRecord, PatrolTaskInfo taskInfo, - PatrolPresetPos presetPos, + PatrolPresetPosSlim presetPos, StringBuffer fileTypes, StringBuffer filePaths) { String rectangle = getRectangle(presetPos.getPresetPosId()); @@ -885,7 +870,7 @@ public class JobMainTask { PatrolTaskExecRecord taskExecRecord, int infoListSize, PatrolTaskInfo taskInfo, - PatrolPresetPos presetPos, + PatrolPresetPosSlim presetPos, StringBuffer fileTypes, StringBuffer filePaths) { @@ -1077,7 +1062,7 @@ public class JobMainTask { .taskMajorId(record.getTaskId().toString()) .build()); - for(PatrolTaskInfo patrolTaskInfo : patrolTaskInfoList) { + for (PatrolTaskInfo patrolTaskInfo : patrolTaskInfoList) { PatrolPresetPos patrolPresetPos = PatrolPresetPos.builder() .patrolPointId(Long.parseLong(patrolTaskInfo.getDeviceId())) .isEnable("1") @@ -1221,9 +1206,9 @@ public class JobMainTask { private int calcTaskAlgorithmTotalNumber(List patrolTaskInfoList) { int totalAlgorithmNumber = 0; - for(PatrolTaskInfo patrolTaskInfo : patrolTaskInfoList) { + for (PatrolTaskInfo patrolTaskInfo : patrolTaskInfoList) { String result = taskExecClient.getAlgSubtypeIdsByPatrolPointId(patrolTaskInfo.getDeviceId()); - if(StringUtils.isNotEmpty(result)) { + if (StringUtils.isNotEmpty(result)) { String[] algSubtypeIds = result.split(StringUtils.COMMA); totalAlgorithmNumber += algSubtypeIds.length; } @@ -1231,6 +1216,7 @@ public class JobMainTask { return totalAlgorithmNumber; } + private void prePointExecImmediate(final PatrolTaskExecRecord patrolTaskExecRecord, List patrolTaskInfoList) { Map> deviceMap = new HashMap<>(); for (PatrolTaskInfo patrolTaskInfo : patrolTaskInfoList) { @@ -1317,7 +1303,7 @@ public class JobMainTask { Thread.currentThread().interrupt(); } } - } else if(status == -1 || status == 0) { + } else if (status == -1 || status == 0) { log.info("task status error state taskPatrolId: {}", taskPatrolId); } prePointExec(patrolTaskExecRecord, taskInfo, batch.size()); diff --git a/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java b/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java index df0b753..cfe0dc5 100644 --- a/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java +++ b/inspect-main/inspect-main-task-exec/src/main/java/com/inspect/exec/controller/PatrolTaskExecController.java @@ -36,6 +36,7 @@ import com.inspect.partrolresult.service.IPatrolResultService; import com.inspect.patrol.domain.PatrolPresetAction; import com.inspect.patrol.domain.PatrolPresetParam; import com.inspect.patrol.domain.PatrolPresetPos; +import com.inspect.patrol.domain.PatrolPresetPosSlim; import com.inspect.patrol.service.IPatrolPresetActionService; import com.inspect.patrol.service.IPatrolPresetParamService; import com.inspect.patrol.service.IPatrolPresetPosService; @@ -171,6 +172,13 @@ public class PatrolTaskExecController extends BaseController { return patrolPresetPosService.selectPatrolPresetPosList(patrolPresetPos); } + @PostMapping({"/selectPresetCodeSlimByPatrolPointId"}) + @ResponseBody + public PatrolPresetPosSlim selectPatrolPresetPosByPatrolPointId(@RequestBody PatrolPresetPosSlim patrolPresetPos) { + log.info(Color.RED + "selectPatrolPresetPosByPatrolPointId patrolPresetPos: {}" + Color.END, patrolPresetPos.getPatrolPointId()); + return patrolPresetPosService.selectPresetCodeSlimByPatrolPointId(patrolPresetPos); + } + @PostMapping({"/selectPatrolPresetActionList"}) @ResponseBody public List selectPatrolPresetActionList(@RequestBody PatrolPresetAction patrolPresetAction) { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java index 68c3d5c..70a02d6 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java @@ -1084,8 +1084,8 @@ public class PatrolResultController extends BaseController { return str; } - @PostMapping({"/sendMessage"}) - public AjaxResult getInfo(@RequestParam String type, @RequestBody String messageBody) { + @GetMapping({"/sendMessage"}) + public AjaxResult getInfo(String type, String messageBody) { logger.info("[RESULT] type: {}, messageBody: {}", type, messageBody); PatrolTaskFtp patrolTaskFtp = patrolTaskFtpService.selectPatrolTaskFtpByLineId(2L); int i = 1; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java index 659a139..4a8e3b6 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java @@ -650,10 +650,11 @@ public class PatrolTaskStatusController extends BaseController { if (StringUtils.isNotEmpty(patrolTask.getDevNo())) { String[] devTypes = patrolTask.getDevType().split(StringUtils.COMMA); String[] devNos = patrolTask.getDevNo().split(StringUtils.COMMA); + List pilotTaskCmds = new ArrayList<>(); List devTypeList = new ArrayList<>(); List devNoList = new ArrayList<>(); for (int i = 0; i < devNos.length; i++) { - log.info("issuePatrolTask devNo: {}", i + 1); + log.info("issuePatrolTask devNo: {}, devType: {}", devNos[i], devTypes[i]); BasedataEqpBookMoMain basedataEqpbookMomain = new BasedataEqpBookMoMain(); basedataEqpbookMomain.setPatrolDeviceCode(devNos[i]); List eqpBookMoMains = patrolResultService.selectBasedataEqpBookList(basedataEqpbookMomain); @@ -661,35 +662,33 @@ public class PatrolTaskStatusController extends BaseController { receiveCode = eqpBookMoMains.get(0).getMainSystemCode(); } if (StringUtils.isNotEmpty(receiveCode)) { + log.info("无人机-机器人任务构建, receiveCode: {}, devType: {}, devNo: {}", receiveCode, patrolTask.getDevType(), patrolTask.getDevNo()); SendTask sendTask = new SendTask(); sendTask.setReceiveCode(receiveCode); sendTask.setSendCode(sendCode); sendTask.setCode(patrolTask.getTaskId() + ""); sendTask.setType("41"); sendTask.setCommand("1"); - String str = JSONObject.toJSONString(sendTask); - log.info("无人机-机器人任务, receiveCode: {}, devType: {}, devNo: {}", receiveCode, patrolTask.getDevType(), patrolTask.getDevNo()); - this.feignTaskClient.sendCommand(str); + String pilotTaskCmd = JSONObject.toJSONString(sendTask); + pilotTaskCmds.add(pilotTaskCmd); } else { -// String taskCode = redisService.getCacheObjectOfTask(RedisConst.TASK_CURRENT_CODE, String.valueOf(patrolTask.getTaskId())); -// if (!StringUtils.isEmpty(taskCode)) { -// log.info("[TASK] CURRENT EXEC TASK: {}", taskCode); -// return AjaxResult.error(501, "THERE TASK IS RUNNING!"); -// } else { - // 手动任务执行 - log.info("可见光任务, 第{}个, devNo: {}", i + 1, devNos[i]); + log.info("可见光任务构建, 第 {} 个, devNo: {}", i + 1, devNos[i]); devTypeList.add(devTypes[i]); devNoList.add(devNos[i]); -// patrolTask.setDevType(devTypes[i]); -// patrolTask.setDevNo(devNos[i]); -// sendTaskToVideo(patrolTask); -// } } } + + // 下发无人机任务 + for(String pilotTaskCmd : pilotTaskCmds) { + log.info("无人机-机器人任务下发, pilotTaskCmd: {}", pilotTaskCmd); + this.feignTaskClient.sendCommand(pilotTaskCmd); + } + + // 下发可见光任务 if (!devTypeList.isEmpty() && !devNoList.isEmpty()) { patrolTask.setDevType(StringUtils.join(devTypeList, StringUtils.COMMA)); patrolTask.setDevNo(StringUtils.join(devNoList, StringUtils.COMMA)); - log.info("可见光任务, devType:{}, devNo:{}", patrolTask.getDevType(), patrolTask.getDevNo()); + log.info("可见光任务下发, devType:{}, devNo:{}", patrolTask.getDevType(), patrolTask.getDevNo()); sendVideoLightTaskToScheduledJob(patrolTask); } } diff --git a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/controller/PatrolPresetPosController.java b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/controller/PatrolPresetPosController.java index 4cf33ca..a6f48c0 100644 --- a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/controller/PatrolPresetPosController.java +++ b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/controller/PatrolPresetPosController.java @@ -48,6 +48,7 @@ import com.inspect.patrol.service.impl.Video2NvrComponent; import com.inspect.patrol.vo.CameraVo; import com.inspect.system.base.domain.SysDictData; +import java.net.URLEncoder; import java.sql.SQLIntegrityConstraintViolationException; import java.util.ArrayList; import java.util.HashMap; @@ -382,13 +383,13 @@ public class PatrolPresetPosController extends BaseController { String address = jsonObject.getString(("address")); String username = jsonObject.getString(("username")); String password = jsonObject.getString(("password")); - String ivsAddress = host + ":" + port; - List presetPoints = new ArrayList<>(); - String params = "code=" + channelCode - + "&ivsAddress=" + ivsAddress - + "&username=" + username - + "&password=" + password; + String params = "code=" + channelCode; + if(StringUtils.isNotEmpty(host)) params.concat(("&host=")).concat(URLEncoder.encode(host, ("UTF-8"))); + if(StringUtils.isNotEmpty(port)) params.concat(("&port=")).concat(URLEncoder.encode(port, ("UTF-8"))); + if(StringUtils.isNotEmpty(username)) params.concat(("&username=")).concat(URLEncoder.encode(username, ("UTF-8"))); + if(StringUtils.isNotEmpty(password)) params.concat(("&password=")).concat(URLEncoder.encode(password, ("UTF-8"))); + if(StringUtils.isNotEmpty(address)) params.concat(("&address=")).concat(URLEncoder.encode(address, ("UTF-8"))); String result = HttpClientUtils.get((this.deviceUrl + AccessApiConstant.PTZ_LIST), params); JSONObject ivsPresetInfo = JSONObject.parseObject(result); String resultCode = ivsPresetInfo.getString("resultCode"); 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 new file mode 100644 index 0000000..1c1289a --- /dev/null +++ b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/domain/PatrolPresetPosSlim.java @@ -0,0 +1,56 @@ +package com.inspect.patrol.domain; +import com.inspect.base.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Setter +@Getter +@NoArgsConstructor +@AllArgsConstructor +public class PatrolPresetPosSlim extends BaseEntity { + private static final long serialVersionUID = 1L; + private String presetPosId; + private String presetPosCode; + private String presetPosName; + private Long patrolPointId; + private String patrolDeviceCode; + private String patrolDeviceName; + private String algSubtypeCode; + private String isEnable; + private String eqpBookId; + private String channelId; + private String channelCode; + private String channelType; + private String videoNvrCode; + private String nvrHost; + private String nvrPort; + private String nvrUser; + private String nvrPass; + private String camAddr; + + @Override + public String toString() { + return "PatrolPresetPosSlim{" + + "presetPosId='" + presetPosId + '\'' + + ", presetPosCode='" + presetPosCode + '\'' + + ", presetPosName='" + presetPosName + '\'' + + ", patrolPointId=" + patrolPointId + + ", patrolDeviceCode='" + patrolDeviceCode + '\'' + + ", patrolDeviceName='" + patrolDeviceName + '\'' + + ", algSubtypeCode='" + algSubtypeCode + '\'' + + ", isEnable='" + isEnable + '\'' + + ", eqpBookId='" + eqpBookId + '\'' + + ", channelId='" + channelId + '\'' + + ", channelCode='" + channelCode + '\'' + + ", channelType='" + channelType + '\'' + + ", videoNvrCode='" + videoNvrCode + '\'' + + ", nvrHost='" + nvrHost + '\'' + + ", nvrPort='" + nvrPort + '\'' + + ", nvrUser='" + nvrUser + '\'' + + ", nvrPass='" + nvrPass + '\'' + + ", camAddr='" + camAddr + '\'' + + '}'; + } +} diff --git a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/mapper/PatrolPresetPosMapper.java b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/mapper/PatrolPresetPosMapper.java index ded3f71..a81a7e4 100644 --- a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/mapper/PatrolPresetPosMapper.java +++ b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/mapper/PatrolPresetPosMapper.java @@ -1,6 +1,7 @@ package com.inspect.patrol.mapper; import com.inspect.patrol.domain.PatrolPresetPos; +import com.inspect.patrol.domain.PatrolPresetPosSlim; import com.inspect.patrol.vo.CameraVo; import org.apache.ibatis.annotations.Mapper; @@ -24,6 +25,8 @@ public interface PatrolPresetPosMapper { List selectPresetCodeByChannelCode(PatrolPresetPos patrolPresetPos); + PatrolPresetPosSlim selectPresetCodeSlimByPatrolPointId(PatrolPresetPosSlim patrolPresetPosSlim); + int insertPatrolPresetPos(PatrolPresetPos patrolPresetPos); int updatePatrolPresetPos(PatrolPresetPos patrolPresetPos); diff --git a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/IPatrolPresetPosService.java b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/IPatrolPresetPosService.java index 8905ad1..3720ee5 100644 --- a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/IPatrolPresetPosService.java +++ b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/IPatrolPresetPosService.java @@ -1,6 +1,7 @@ package com.inspect.patrol.service; import com.inspect.patrol.domain.PatrolPresetPos; +import com.inspect.patrol.domain.PatrolPresetPosSlim; import com.inspect.patrol.vo.CameraVo; import org.springframework.dao.DataAccessException; @@ -21,6 +22,8 @@ public interface IPatrolPresetPosService { List selectPresetCodeByChannelCode(PatrolPresetPos patrolPresetPos); + PatrolPresetPosSlim selectPresetCodeSlimByPatrolPointId(PatrolPresetPosSlim patrolPresetPosSlim); + int insertPatrolPresetPos(PatrolPresetPos patrolPresetPos); int updatePatrolPresetPos(PatrolPresetPos patrolPresetPos); diff --git a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/impl/PatrolPresetPosServiceImpl.java b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/impl/PatrolPresetPosServiceImpl.java index ac0bea4..49fcd70 100644 --- a/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/impl/PatrolPresetPosServiceImpl.java +++ b/inspect-main/inspect-main-video/src/main/java/com/inspect/patrol/service/impl/PatrolPresetPosServiceImpl.java @@ -4,6 +4,7 @@ import com.inspect.base.core.utils.DateUtils; import com.inspect.patrol.domain.PatrolPresetAction; import com.inspect.patrol.domain.PatrolPresetParam; import com.inspect.patrol.domain.PatrolPresetPos; +import com.inspect.patrol.domain.PatrolPresetPosSlim; import com.inspect.patrol.mapper.PatrolPresetActionMapper; import com.inspect.patrol.mapper.PatrolPresetParamMapper; import com.inspect.patrol.mapper.PatrolPresetPosMapper; @@ -61,6 +62,10 @@ public class PatrolPresetPosServiceImpl implements IPatrolPresetPosService { return this.patrolPresetPosMapper.selectPresetCodeByChannelCode(patrolPresetPos); } + public PatrolPresetPosSlim selectPresetCodeSlimByPatrolPointId(PatrolPresetPosSlim patrolPresetPosSlim) { + return this.patrolPresetPosMapper.selectPresetCodeSlimByPatrolPointId(patrolPresetPosSlim); + } + @Transactional public int insertPatrolPresetPos(PatrolPresetPos patrolPresetPos) { patrolPresetPos.setCreateTime(DateUtils.getNowDate()); diff --git a/inspect-main/inspect-main-video/src/main/resources/mapper/patrol/PatrolPresetPosMapper.xml b/inspect-main/inspect-main-video/src/main/resources/mapper/patrol/PatrolPresetPosMapper.xml index eef7702..9b01bde 100644 --- a/inspect-main/inspect-main-video/src/main/resources/mapper/patrol/PatrolPresetPosMapper.xml +++ b/inspect-main/inspect-main-video/src/main/resources/mapper/patrol/PatrolPresetPosMapper.xml @@ -24,6 +24,25 @@ + + + + + + + + + + + + + + + + + + + @@ -132,6 +151,14 @@ + + insert into patrol_preset_pos diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/mqutil/FeignMsgClient.java b/inspect-metadata/src/main/java/com/inspect/metadata/mqutil/FeignMsgClient.java index 3fb6aad..b78c649 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/mqutil/FeignMsgClient.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/mqutil/FeignMsgClient.java @@ -9,8 +9,11 @@ import org.springframework.web.bind.annotation.RequestParam; @FeignClient("inspect-main") public interface FeignMsgClient { - @PostMapping({"/partrolresult/sendMessage"}) - AjaxResult senMessageToMl(@RequestParam("type") String type, @RequestBody String messageBody); +// @PostMapping({"/partrolresult/sendMessage"}) +// AjaxResult senMessageToMl(@RequestParam("type") String type, @RequestBody String messageBody); + + @GetMapping({"/partrolresult/sendMessage"}) + AjaxResult senMessageToMl(@RequestParam("type") String type, @RequestParam("messageBody") String msg); @PostMapping({"/client/upData"}) AjaxResult senMessageToZk(@RequestParam("type") String type, @RequestParam("msg") String msg);