From 64fdda0a9aa4566da7cf0fbf773acbcaebd93d54 Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Tue, 15 Jul 2025 16:16:27 +0800 Subject: [PATCH] =?UTF-8?q?/*=201.=20=E4=BB=BB=E5=8A=A1=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E4=BB=A5=E5=90=8E=EF=BC=8C=E7=82=B9=E4=BD=8D=E9=A2=84=E7=BD=AE?= =?UTF-8?q?=E4=BD=8D=E8=AF=A6=E6=83=85=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?bug=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6=E4=BF=9D=E8=AF=81=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=80=A7=E3=80=82=202.=20=E6=97=A0=E4=BA=BA?= =?UTF-8?q?=E6=9C=BA=E5=8F=AF=E8=A7=81=E5=85=89=E8=81=94=E5=90=88=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=B8=8B=E5=8F=91=E5=A4=B1=E8=B4=A5bug=EF=BC=9A?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E4=B8=8B=E5=8F=91=E5=8F=AF=E8=A7=81=E5=85=89?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E3=80=82=20*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inspect/job/task/JobMainTask.java | 2 +- .../impl/AnalysisRedisKeyExpireListener.java | 37 +++++++++++++++++++ .../service/AnalyseRemoteService.java | 6 ++- .../PatrolTaskStatusController.java | 8 +++- .../mapper/patrol/PatrolPresetPosMapper.xml | 2 +- 5 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisRedisKeyExpireListener.java 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 df54f67..b1b1877 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,7 +453,7 @@ public class JobMainTask { .isEnable("1") .build()); } catch (Exception e) { - e.printStackTrace(); + log.info("Error queryPatrolPresetPos: {}", patrolPointId); } if (presetPosSlim == null) { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisRedisKeyExpireListener.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisRedisKeyExpireListener.java new file mode 100644 index 0000000..1b5e568 --- /dev/null +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisRedisKeyExpireListener.java @@ -0,0 +1,37 @@ +package com.inspect.analysis.service.impl; + +import com.inspect.analysis.constant.AnalyseConstants; +import com.inspect.base.core.constant.Color; +import com.inspect.base.redis.service.RedisService; + +import com.inspect.partrolresult.domain.AnalyseRequest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.redis.connection.Message; +import org.springframework.data.redis.listener.KeyExpirationEventMessageListener; +import org.springframework.data.redis.listener.RedisMessageListenerContainer; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +public class AnalysisRedisKeyExpireListener extends KeyExpirationEventMessageListener { + private final Logger log = LoggerFactory.getLogger(AnalysisRedisKeyExpireListener.class); + + @Resource + private RedisService redisService; + + public AnalysisRedisKeyExpireListener(RedisMessageListenerContainer listenerContainer) { + super(listenerContainer); + } + + public void onMessage(Message message, byte[] pattern) { + String expiredKey = message.toString(); + log.info(Color.YELLOW + "Analysis RedisKey Expire: {}, pattern: {}" + Color.END, expiredKey, pattern); + if(expiredKey.startsWith(AnalyseConstants.ANALYSE_FILTER_REQUEST)) { + AnalyseRequest analyseRequest = (AnalyseRequest) redisService.redisTemplate.opsForValue().getAndDelete(expiredKey); + log.info(Color.YELLOW + "Analysis RedisKey Expire Request: {}" + Color.END, analyseRequest); + } + } + +} diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRemoteService.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRemoteService.java index 58c8f8a..d3361cf 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRemoteService.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRemoteService.java @@ -26,6 +26,10 @@ public class AnalyseRemoteService { private static final Logger log = LoggerFactory.getLogger(AnalyseRemoteService.class); @Resource private RedisService redisService; + + @Value("${task.test-mode:false}") + private boolean testMode; + @Value("${server.port}") private String port; @@ -56,7 +60,7 @@ public class AnalyseRemoteService { if ("1".equals(analyseFilter) && isFilter) { final String analyzeFilterRequestIdRedisKey = AnalyseConstants.ANALYSE_FILTER_REQUEST.concat(requestId); log.info("[FILTER] sendRequest analyseFilterRequestIdRedisKey: {}, analyseReq: {}", analyzeFilterRequestIdRedisKey, analyseReq); - this.redisService.setCacheObject(analyzeFilterRequestIdRedisKey, analyseReq.clone(), requestTimeout, TimeUnit.DAYS); + this.redisService.setCacheObject(analyzeFilterRequestIdRedisKey, analyseReq.clone(), testMode?3L:requestTimeout, testMode?TimeUnit.MINUTES:TimeUnit.DAYS); AnalyseReqItem analyseReqItem = analyseReq.getObjectList().get(0);//只取第一个 analyseReqItem.setTypeList(typeList); analyseReq.setObjectList(Collections.singletonList(analyseReqItem)); 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 4a8e3b6..a2d2090 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 @@ -638,7 +638,6 @@ public class PatrolTaskStatusController extends BaseController { } public AjaxResult issuePatrolTask(final PatrolTask patrolTask) { - String receiveCode = ""; String sendCode = ""; BasedataEqpBookMoMain basedataEqpBookMoMain = new BasedataEqpBookMoMain(); basedataEqpBookMoMain.setType("20");// type:20 - robot @@ -658,6 +657,7 @@ public class PatrolTaskStatusController extends BaseController { BasedataEqpBookMoMain basedataEqpbookMomain = new BasedataEqpBookMoMain(); basedataEqpbookMomain.setPatrolDeviceCode(devNos[i]); List eqpBookMoMains = patrolResultService.selectBasedataEqpBookList(basedataEqpbookMomain); + String receiveCode = ""; if (!eqpBookMoMains.isEmpty() && eqpBookMoMains.get(0).getMainSystemCode() != null) { receiveCode = eqpBookMoMains.get(0).getMainSystemCode(); } @@ -681,7 +681,11 @@ public class PatrolTaskStatusController extends BaseController { // 下发无人机任务 for(String pilotTaskCmd : pilotTaskCmds) { log.info("无人机-机器人任务下发, pilotTaskCmd: {}", pilotTaskCmd); - this.feignTaskClient.sendCommand(pilotTaskCmd); + try { + this.feignTaskClient.sendCommand(pilotTaskCmd); + } catch (Exception e) { + log.error("无人机-机器人任务下发异常: {}", e.getMessage()); + } } // 下发可见光任务 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 9b01bde..6b025ab 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 @@ -155,7 +155,7 @@ select a.preset_pos_id,a.preset_pos_code,a.preset_pos_name,a.patrol_point_id,a.channel_id,a.patrol_device_code, a.alg_subtype_code,a.channel_code,a.channel_type,a.video_nvr_code,b.host,b.port,b.username,b.password,b.address from patrol_preset_pos a - left join basedata_eqpbook_channel b on a.channel_code = b.channel_code + left join basedata_eqpbook_channel b on a.channel_code = b.channel_code and a.channel_id = b.channel_id where a.patrol_point_id = #{patrolPointId} and a.is_enable = #{isEnable}