From 5099822afda7abccb15cd98c9fbb5e67c3d0212c Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Thu, 24 Jul 2025 18:57:41 +0800 Subject: [PATCH] =?UTF-8?q?/*=E7=81=B5=E5=B7=9E=E7=AB=99=E7=BA=A2=E5=A4=96?= =?UTF-8?q?=E5=8F=8D=E7=AE=97=E6=99=BA=E5=B7=A1=E7=AB=AF=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E6=8E=A5*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/constant/AnalyseConstants.java | 1 + .../controller/AnalysisController.java | 4 +- ...ogService.java => IAnalyseLogService.java} | 2 +- ...sService.java => IAnalyseRespService.java} | 2 +- .../AlgorithmResponseConsumerManager.java | 6 +-- .../AlgorithmResponseProcessConsumer.java | 7 +-- ...ceImpl.java => AnalyseLogServiceImpl.java} | 4 +- ...eImpl.java => AnalyseRespServiceImpl.java} | 10 ++--- .../partrolresult/domain/AnalyseRequest.java | 2 +- .../service/AnalyseRemoteService.java | 43 +++++++++++++++---- .../AnalyseRequestRetryableDelegate.java | 2 +- 11 files changed, 52 insertions(+), 31 deletions(-) rename inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/{IAnalysisLogService.java => IAnalyseLogService.java} (76%) rename inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/{IAnalysisService.java => IAnalyseRespService.java} (84%) rename inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/{AnalysisLogServiceImpl.java => AnalyseLogServiceImpl.java} (86%) rename inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/{AnalysisServiceImpl.java => AnalyseRespServiceImpl.java} (99%) diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/constant/AnalyseConstants.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/constant/AnalyseConstants.java index 5647aa4..003026f 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/constant/AnalyseConstants.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/constant/AnalyseConstants.java @@ -36,6 +36,7 @@ public class AnalyseConstants { public static final String ANALYSE_IS_METER_FILTER = "ANALYSE_IS_METER_FILTER"; public static final String ANALYSE_FILTER_URL = "ANALYSE_FILTER_URL"; public static final String ANALYSIS_BIG_URL = "ANALYSIS_BIG_URL"; + public static final String ANALYSIS_BIG_URL_INFRARED = "ANALYSIS_BIG_URL_INFRARED"; public static final String MAX_NUM = "MAX_NUM"; public static final String ALGORITHM_REQUEST_QUEUE = "algorithm:request:queue"; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/AnalysisController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/AnalysisController.java index 13f91b3..389ee9d 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/AnalysisController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/AnalysisController.java @@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.inspect.analysis.domain.*; -import com.inspect.analysis.service.IAnalysisService; +import com.inspect.analysis.service.IAnalyseRespService; import com.inspect.analysis.service.IResultAnalysisService; import com.inspect.base.core.constant.Color; import com.inspect.base.core.constant.RedisConst; @@ -65,7 +65,7 @@ public class AnalysisController extends BaseController { MessageUtils messageUtils; @Resource - private IAnalysisService analysisService; + private IAnalyseRespService analysisService; public AnalysisController(IResultAnalysisService resultAnalysisService, IPatrolResultService patrolResultService, FeignTaskClient feignTaskClient, IPatrolTaskResultMainService patrolTaskResultMainService, IUploadServer iUploadServer, RedisService redisService, IPatrolTaskInfoService patrolTaskInfoService, WebsocketService WebsocketService, IPatrolTaskService patrolTaskService) { this.resultAnalysisService = resultAnalysisService; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalysisLogService.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalyseLogService.java similarity index 76% rename from inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalysisLogService.java rename to inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalyseLogService.java index e70d308..a9a5f1f 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalysisLogService.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalyseLogService.java @@ -2,6 +2,6 @@ package com.inspect.analysis.service; import com.inspect.analysis.domain.AnalyseLog; -public interface IAnalysisLogService { +public interface IAnalyseLogService { void log(AnalyseLog analyseLog); } diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalysisService.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalyseRespService.java similarity index 84% rename from inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalysisService.java rename to inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalyseRespService.java index c9886da..7dd3860 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalysisService.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/IAnalyseRespService.java @@ -2,7 +2,7 @@ package com.inspect.analysis.service; import com.inspect.analysis.domain.AnalyseResult; -public interface IAnalysisService { +public interface IAnalyseRespService { void picAnalyseRetNotify(AnalyseResult analyseResult); void handleAlgorithmResult(final AnalyseResult analyseResult); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseConsumerManager.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseConsumerManager.java index c63b18d..07b08aa 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseConsumerManager.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseConsumerManager.java @@ -1,12 +1,10 @@ package com.inspect.analysis.service.impl; -import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.inspect.analysis.constant.AnalyseConstants; import com.inspect.analysis.domain.AnalyseResult; -import com.inspect.analysis.service.IAnalysisService; +import com.inspect.analysis.service.IAnalyseRespService; import com.inspect.base.core.constant.Color; import com.inspect.base.redis.service.RedisService; -import com.inspect.partrolresult.service.AnalyseRemoteService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -25,7 +23,7 @@ public class AlgorithmResponseConsumerManager { private RedisService redisService; @Resource - private IAnalysisService analysisService; + private IAnalyseRespService analysisService; @PostConstruct public void initConsumer() { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseProcessConsumer.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseProcessConsumer.java index 2b5672a..1f71949 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseProcessConsumer.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AlgorithmResponseProcessConsumer.java @@ -3,16 +3,13 @@ package com.inspect.analysis.service.impl; import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.inspect.analysis.constant.AnalyseConstants; import com.inspect.analysis.domain.AnalyseResult; -import com.inspect.analysis.service.IAnalysisService; +import com.inspect.analysis.service.IAnalyseRespService; import com.inspect.base.core.constant.Color; import com.inspect.base.redis.service.RedisService; -import com.inspect.partrolresult.domain.AnalyseRequest; -import com.inspect.partrolresult.service.AnalyseRemoteService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -24,7 +21,7 @@ public class AlgorithmResponseProcessConsumer { private RedisService redisService; @Resource - private IAnalysisService analysisService; + private IAnalyseRespService analysisService; //@Scheduled(fixedDelay = 1000) @Scheduled(fixedDelayString = "${task.scheduler.response.delay-ms:3000}") diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisLogServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseLogServiceImpl.java similarity index 86% rename from inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisLogServiceImpl.java rename to inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseLogServiceImpl.java index c09247d..9ab87f2 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisLogServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseLogServiceImpl.java @@ -2,7 +2,7 @@ package com.inspect.analysis.service.impl; import com.inspect.analysis.domain.AnalyseLog; import com.inspect.analysis.mapper.ResultAnalysisMapper; -import com.inspect.analysis.service.IAnalysisLogService; +import com.inspect.analysis.service.IAnalyseLogService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -11,7 +11,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @Service -public class AnalysisLogServiceImpl implements IAnalysisLogService { +public class AnalyseLogServiceImpl implements IAnalyseLogService { private final Logger log = LoggerFactory.getLogger(getClass()); @Resource private ResultAnalysisMapper resultAnalysisMapper; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseRespServiceImpl.java similarity index 99% rename from inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java rename to inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseRespServiceImpl.java index ca102c9..8d07ad8 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalysisServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/AnalyseRespServiceImpl.java @@ -6,8 +6,8 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.inspect.analysis.constant.AnalyseConstants; import com.inspect.analysis.domain.*; -import com.inspect.analysis.service.IAnalysisLogService; -import com.inspect.analysis.service.IAnalysisService; +import com.inspect.analysis.service.IAnalyseLogService; +import com.inspect.analysis.service.IAnalyseRespService; import com.inspect.analysis.service.IResultAnalysisService; import com.inspect.analysis.utils.ResultAnalysisUtils; import com.inspect.base.core.constant.AlgConstants; @@ -43,7 +43,7 @@ import java.util.*; import java.util.stream.Collectors; @Service -public class AnalysisServiceImpl implements IAnalysisService { +public class AnalyseRespServiceImpl implements IAnalyseRespService { private final Logger log = LoggerFactory.getLogger(this.getClass()); @Resource @@ -53,7 +53,7 @@ public class AnalysisServiceImpl implements IAnalysisService { private AnalyseRemoteService analyseRemoteService; @Resource - private IAnalysisLogService analysisLogService; + private IAnalyseLogService analysisLogService; @Resource private IResultAnalysisService resultAnalysisService; @@ -147,7 +147,7 @@ public class AnalysisServiceImpl implements IAnalysisService { ) { /* * 先检查结果有缺无缺陷,如果有缺陷不用判断算法直接调用大模型;* - * 如果无缺陷,再去判断算法,如果算法是meter就继续调用大模型。* + * 如果无缺陷,再去判断算法,如果算法是meter, infrared就继续调用大模型。* */ analyseResult.setResult("0"); bBigModelExecFlag = true; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/AnalyseRequest.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/AnalyseRequest.java index 0e5e650..8d6195d 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/AnalyseRequest.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/AnalyseRequest.java @@ -69,7 +69,7 @@ public class AnalyseRequest implements RetryableRequest, Serializable { AnalyseResPoint analyseResPoint = new AnalyseResPoint(); analyseResPoint.setCode("2002"); analyseResPoint.setType(type); - analyseResPoint.setDesc("调用分析失败"); + analyseResPoint.setDesc("-"); analyseResPoint.setResImageUrl(analyseReqItem.getImageUrlList()[0]); analyseResPoint.setValue("-1"); results.add(analyseResPoint); 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 cde532e..b385f73 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 @@ -5,10 +5,10 @@ import com.github.pagehelper.util.StringUtil; import com.inspect.analysis.constant.AnalyseConstants; import java.io.IOException; -import java.util.Collections; -import java.util.UUID; +import java.util.*; import java.util.concurrent.TimeUnit; +import com.inspect.base.core.constant.AlgConstants; import com.inspect.base.core.constant.RedisConst; import com.inspect.base.core.utils.HttpClientUtils; import com.inspect.base.core.utils.StringUtils; @@ -16,16 +16,15 @@ import com.inspect.base.redis.service.RedisService; import com.inspect.partrolresult.domain.AnalyseReqItem; import com.inspect.partrolresult.domain.AnalyseRequest; import com.inspect.task.service.IPatrolTaskService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; +@Slf4j @Component public class AnalyseRemoteService { - private static final Logger log = LoggerFactory.getLogger(AnalyseRemoteService.class); @Resource private RedisService redisService; @@ -83,22 +82,29 @@ public class AnalyseRemoteService { redisService.redisTemplate.opsForSet().add(requestSetKey, item.toResultValue(type)); } }); - requestUrl = patrolTaskService.selectConfigByKey(AnalyseConstants.ANALYSIS_BIG_URL); + + if(checkInfraredType(typeList)) { + requestUrl = patrolTaskService.selectConfigByKey(AnalyseConstants.ANALYSIS_BIG_URL_INFRARED); + log.info("BIG_MODEL_INFRARED requestUrl: {}", requestUrl); + } else { + requestUrl = patrolTaskService.selectConfigByKey(AnalyseConstants.ANALYSIS_BIG_URL); + log.info("BIG_MODEL_OTHER requestUrl: {}", requestUrl); + } final String analyzeBigModelRequestIdRedisKey = AnalyseConstants.ANALYSE_AI_REQUEST.concat(requestId); - log.info("[BIG_MODEL] sendRequest analyzeBigModelRequestIdRedisKey: {}, analyseReq: {}", analyzeBigModelRequestIdRedisKey, analyseReq); + log.info("BIG_MODEL analyzeBigModelRequestIdRedisKey: {}, analyseReq: {}", analyzeBigModelRequestIdRedisKey, analyseReq); redisService.setCacheObject(analyzeBigModelRequestIdRedisKey, analyseReq.clone(), requestTimeout, TimeUnit.DAYS); } if(StringUtil.isEmpty(requestUrl)) { - requestUrl = "http://pleaseSetRemoteUrl:8080"; + requestUrl = "http://localhost:8080"; } analyseReq.setFilter(isFilter); analyseReq.setRequestUrl(requestUrl.concat(AnalyseConstants.ANALYSE_URI)); try { - retryDelegate.doCallRemoteAnalyseService(analyseReq); + retryDelegate.callRemoteAnalyseService(analyseReq); } catch (IOException e) { log.info("FINALLY FAIL CALL REMOTE ANALYSE SERVICE, requestId: {}, taskPatrolId: {}, error: {}", analyseReq.getRequestId(), @@ -113,6 +119,25 @@ public class AnalyseRemoteService { HttpClientUtils.sendPostAgain(defaultUrl, request.toErrorResultStr()); } + private static final Set INFRARED_TYPES = new HashSet<>(Arrays.asList( + AlgConstants.INFRA_1800, + AlgConstants.INFRA_YU3, + AlgConstants.INFRA_CAMERA, + AlgConstants.INFRA_CAMERA_REVERSE + )); + + public static boolean checkInfraredType(String[] typeList) { + if (typeList == null) { + return false; + } + for (String type : typeList) { + if (INFRARED_TYPES.contains(type)) { + return true; + } + } + return false; + } + public static void main(String[] args) { try { ObjectMapper mapper = new ObjectMapper(); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRequestRetryableDelegate.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRequestRetryableDelegate.java index 946c093..c62d17b 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRequestRetryableDelegate.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/AnalyseRequestRetryableDelegate.java @@ -22,7 +22,7 @@ public class AnalyseRequestRetryableDelegate { value = IOException.class, maxAttempts = 5, backoff = @Backoff(delay = 2000, multiplier = 1.0)) - public void doCallRemoteAnalyseService(final AnalyseRequest analyseReq) throws IOException { + public void callRemoteAnalyseService(final AnalyseRequest analyseReq) throws IOException { RetryContext retryContext = RetrySynchronizationManager.getContext(); int retryCount = retryContext != null ? retryContext.getRetryCount() : 0; log.info("CALL_REMOTE_ANALYZE retryCount: {}, requestId: {}, isFilter: {}, URL: {}, PARAMS: {}",