From bd346f1e85e52d2fb24a4f96d86c4206bdb27510 Mon Sep 17 00:00:00 2001 From: LM20230311 Date: Wed, 24 Sep 2025 20:27:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=B8=8D=E7=99=BB?= =?UTF-8?q?=E9=99=86=E6=97=A0=E6=B3=95=E9=97=AE=E7=AD=94=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B=E4=BF=AE=E5=A4=8D=E4=BD=99=E9=A2=9D=E4=B8=8D=E8=B6=B3?= =?UTF-8?q?=E5=90=8E=E6=B5=81=E4=B8=8D=E5=85=B3=E9=97=AD=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/config/ThreadPoolConfig.java | 5 ++++- .../chat/service/chat/impl/ChatCostServiceImpl.java | 4 ++-- .../service/chat/proxy/BillingChatServiceProxy.java | 11 ++++++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java index 69ab0736..24838a55 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java @@ -1,5 +1,6 @@ package org.ruoyi.common.core.config; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.ruoyi.common.core.config.properties.ThreadPoolProperties; import org.ruoyi.common.core.utils.Threads; @@ -18,6 +19,7 @@ import java.util.concurrent.ThreadPoolExecutor; * * @author Lion Li **/ +@Slf4j @AutoConfiguration @EnableConfigurationProperties(ThreadPoolProperties.class) public class ThreadPoolConfig { @@ -43,7 +45,8 @@ public class ThreadPoolConfig { * 执行周期性或定时任务 */ @Bean(name = "scheduledExecutorService") - protected ScheduledExecutorService scheduledExecutorService() { + public ScheduledExecutorService scheduledExecutorService() { + log.info("====创建定时任务线程池===="); return new ScheduledThreadPoolExecutor(core, new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build(), new ThreadPoolExecutor.CallerRunsPolicy()) { diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java index 16507b94..8ca63b33 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java @@ -435,8 +435,8 @@ public class ChatCostServiceImpl implements IChatCostService { @Override public boolean checkBalanceSufficient(ChatRequest chatRequest) { if (chatRequest.getUserId() == null) { - log.warn("checkBalanceSufficient->用户ID为空,视为余额不足"); - return false; + log.warn("当前未登录"); + return true; } try { diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java index b414d86a..cd18974e 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java @@ -34,7 +34,16 @@ public class BillingChatServiceProxy implements IChatService { String errorMsg = "余额不足,无法使用AI服务,请充值后再试"; log.warn("余额不足阻止AI回复,用户ID: {}, 模型: {}", chatRequest.getUserId(), chatRequest.getModel()); - throw new RuntimeException(errorMsg); + try { + emitter.send(errorMsg); + emitter.complete(); + } catch (IOException e) { + log.error("推送流异常,用户ID: {}, 模型: {}", + chatRequest.getUserId(), chatRequest.getModel()); + emitter.complete(); + throw new RuntimeException(errorMsg); + } + return emitter; } log.debug("余额检查通过,开始AI回复,用户ID: {}, 模型: {}",