diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java index f52bd32..98f8e5a 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java @@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.messaging.support.MessageBuilder; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -46,6 +47,7 @@ import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.Semaphore; import java.util.stream.Collectors; @@ -95,6 +97,13 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl summaryFuture = CompletableFuture.runAsync(() -> { + CompletableFuture.runAsync(() -> { try { + log.info("铭牌语料可用许可授权数,总结和分类场景={}", semaphore.availablePermits()); + // 获取许可 - 如果没有可用许可会阻塞等待 + semaphore.acquire(); JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.SMART_ASSISTANT.getCode(), JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId()); @@ -171,15 +180,21 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl portraitFuture = CompletableFuture.runAsync(() -> { + CompletableFuture.runAsync(() -> { try { + log.info("铭牌语料可用许可授权数,总结和分类场景={}", semaphore.availablePermits()); + // 获取许可 - 如果没有可用许可会阻塞等待 + semaphore.acquire(); // 创建新的DiFyReq对象以避免线程安全问题 inputMap.put("businessId",aicorpusTelephone.getSourceId()); inputMap.put("communicateDate",aicorpusTelephone.getTranscribeTime()); @@ -196,8 +211,11 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl