浏览代码

AI智能问答:指定答案调用没有终止请求流修复

liyanbo 1 天之前
父节点
当前提交
524c45dc10
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      byzs-web/src/main/java/cn/iocoder/byzs/module/web/service/ai/WebAiServiceImpl.java

+ 9 - 1
byzs-web/src/main/java/cn/iocoder/byzs/module/web/service/ai/WebAiServiceImpl.java

@@ -187,7 +187,15 @@ public class WebAiServiceImpl {
                             // 设置完成回调
                             streamingAliyunTtsService.setOnCompleteCallback(() -> {
                                 log.info("TTS转换完成,准备终止SSE流");
-                                // 不在这里调用sink.complete(),因为文本处理可能还在进行
+                                // 调用sink.complete()终止主SSE流
+                                try {
+                                    if (!sink.isCancelled()) {
+                                        sink.complete();
+                                        log.info("主SSE流已成功终止");
+                                    }
+                                } catch (Exception e) {
+                                    log.error("终止主SSE流异常", e);
+                                }
                             });
                         }