mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-03-13 20:53:42 +08:00
fix: 解决不登陆无法问答问题;修复余额不足后流不关闭问题;
This commit is contained in:
@@ -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()) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -34,8 +34,17 @@ public class BillingChatServiceProxy implements IChatService {
|
||||
String errorMsg = "余额不足,无法使用AI服务,请充值后再试";
|
||||
log.warn("余额不足阻止AI回复,用户ID: {}, 模型: {}",
|
||||
chatRequest.getUserId(), chatRequest.getModel());
|
||||
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: {}, 模型: {}",
|
||||
chatRequest.getUserId(), chatRequest.getModel());
|
||||
|
||||
Reference in New Issue
Block a user