From f91ea8c1ca793d1b791f2b63ab30d6ea2c4a675a Mon Sep 17 00:00:00 2001 From: ageerle <ageerle@163.com> Date: 星期四, 13 三月 2025 09:43:53 +0800 Subject: [PATCH] fix: 修复未登录无法使用联网插件 --- ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java | 44 +++++++++++++++++++++++--------------------- 1 files changed, 23 insertions(+), 21 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java index 634cb02..ed0c350 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java @@ -98,33 +98,36 @@ SSEEventSourceListener openAIEventSourceListener = new SSEEventSourceListener(sseEmitter); // 鑾峰彇瀵硅瘽娑堟伅鍒楄〃 List<Message> messages = chatRequest.getMessages(); + try { String chatString = null; + Object content = messages.get(messages.size() - 1).getContent(); + if (content instanceof List<?> listContent) { + if (!listContent.isEmpty() && listContent.get(0) instanceof Content) { + chatString = ((Content) listContent.get(0)).getText(); + } + } else if (content instanceof String) { + chatString = (String) content; + } + + String configValue = getKey("enabled"); + if (Boolean.parseBoolean(configValue)) { + // 鍒ゆ柇鏂囨湰鏄惁鍚堣 + String type = textReview(chatString); + // 瀹℃牳鐘舵�� 1 浠h〃鍚堟硶 + if (!"1".equals(type) && StringUtils.isNotEmpty(type)) { + throw new BaseException("鏂囨湰涓嶅悎瑙�,璇蜂慨鏀�!"); + } + } + if (StpUtil.isLogin()) { LocalCache.CACHE.put("userId", getUserId()); - Object content = messages.get(messages.size() - 1).getContent(); - if (content instanceof List<?> listContent) { - if (!listContent.isEmpty() && listContent.get(0) instanceof Content) { - chatString = ((Content) listContent.get(0)).getText(); - } - } else if (content instanceof String) { - chatString = (String) content; - } ChatMessageBo chatMessageBo = new ChatMessageBo(); chatMessageBo.setUserId(getUserId()); chatMessageBo.setModelName(chatRequest.getModel()); - chatMessageBo.setContent(chatString); - String configValue = getKey("enabled"); - if (Boolean.parseBoolean(configValue)) { - // 鍒ゆ柇鏂囨湰鏄惁鍚堣 - String type = textReview(chatString); - // 瀹℃牳鐘舵�� 1 浠h〃鍚堟硶 - if (!"1".equals(type) && StringUtils.isNotEmpty(type)) { - throw new BaseException("鏂囨湰涓嶅悎瑙�,璇蜂慨鏀�!"); - } - } + String model = chatRequest.getModel(); // 濡傛灉鏄痝pts绯诲垪妯″瀷 if (chatRequest.getModel().startsWith("gpt-4-gizmo")) { @@ -137,7 +140,6 @@ } else { openAiStreamClient = chatConfig.createOpenAiStreamClient(sysModel.getApiHost(), sysModel.getApiKey()); // 妯″瀷璁剧疆榛樿鎻愮ず璇� - if (StringUtils.isNotEmpty(sysModel.getSystemPrompt())) { Message sysMessage = Message.builder().content(sysModel.getSystemPrompt()).role(Message.Role.SYSTEM).build(); messages.add(sysMessage); @@ -150,10 +152,10 @@ } } } - String configValue = configService.getConfigValue("zhipu", "key"); + String zhipuValue = configService.getConfigValue("zhipu", "key"); // 娣诲姞鑱旂綉淇℃伅 if(StringUtils.isNotEmpty(configValue)){ - ClientV4 client = new ClientV4.Builder(configValue) + ClientV4 client = new ClientV4.Builder(zhipuValue) .networkConfig(300, 100, 100, 100, TimeUnit.SECONDS) .connectionPool(new okhttp3.ConnectionPool(8, 1, TimeUnit.SECONDS)) .build(); -- Gitblit v1.9.3