fix: 解决不登陆无法问答问题;修复余额不足后流不关闭问题;

This commit is contained in:
LM20230311
2025-09-24 20:27:55 +08:00
parent 2caf9a47ed
commit bd346f1e85
3 changed files with 16 additions and 4 deletions

View File

@@ -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()) {

View File

@@ -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 {

View File

@@ -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: {}, 模型: {}",