mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-14 12:23:39 +00:00
fix: 修复未登录无法使用联网插件
This commit is contained in:
@@ -106,7 +106,7 @@ public class KnowledgeController extends BaseController {
|
|||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo<KnowledgeInfoVo> list(KnowledgeInfoBo bo, PageQuery pageQuery) {
|
public TableDataInfo<KnowledgeInfoVo> list(KnowledgeInfoBo bo, PageQuery pageQuery) {
|
||||||
if(!StpUtil.isLogin()){
|
if(!StpUtil.isLogin()){
|
||||||
throw new SecurityException("请先去登录!");
|
return null;
|
||||||
}
|
}
|
||||||
bo.setUid(LoginHelper.getUserId());
|
bo.setUid(LoginHelper.getUserId());
|
||||||
return knowledgeInfoService.queryPageList(bo, pageQuery);
|
return knowledgeInfoService.queryPageList(bo, pageQuery);
|
||||||
|
|||||||
@@ -98,33 +98,36 @@ public class SseServiceImpl implements ISseService {
|
|||||||
SSEEventSourceListener openAIEventSourceListener = new SSEEventSourceListener(sseEmitter);
|
SSEEventSourceListener openAIEventSourceListener = new SSEEventSourceListener(sseEmitter);
|
||||||
// 获取对话消息列表
|
// 获取对话消息列表
|
||||||
List<Message> messages = chatRequest.getMessages();
|
List<Message> messages = chatRequest.getMessages();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String chatString = null;
|
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 代表合法
|
||||||
|
if (!"1".equals(type) && StringUtils.isNotEmpty(type)) {
|
||||||
|
throw new BaseException("文本不合规,请修改!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (StpUtil.isLogin()) {
|
if (StpUtil.isLogin()) {
|
||||||
LocalCache.CACHE.put("userId", getUserId());
|
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 chatMessageBo = new ChatMessageBo();
|
||||||
chatMessageBo.setUserId(getUserId());
|
chatMessageBo.setUserId(getUserId());
|
||||||
chatMessageBo.setModelName(chatRequest.getModel());
|
chatMessageBo.setModelName(chatRequest.getModel());
|
||||||
|
|
||||||
chatMessageBo.setContent(chatString);
|
chatMessageBo.setContent(chatString);
|
||||||
String configValue = getKey("enabled");
|
|
||||||
if (Boolean.parseBoolean(configValue)) {
|
|
||||||
// 判断文本是否合规
|
|
||||||
String type = textReview(chatString);
|
|
||||||
// 审核状态 1 代表合法
|
|
||||||
if (!"1".equals(type) && StringUtils.isNotEmpty(type)) {
|
|
||||||
throw new BaseException("文本不合规,请修改!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String model = chatRequest.getModel();
|
String model = chatRequest.getModel();
|
||||||
// 如果是gpts系列模型
|
// 如果是gpts系列模型
|
||||||
if (chatRequest.getModel().startsWith("gpt-4-gizmo")) {
|
if (chatRequest.getModel().startsWith("gpt-4-gizmo")) {
|
||||||
@@ -137,7 +140,6 @@ public class SseServiceImpl implements ISseService {
|
|||||||
} else {
|
} else {
|
||||||
openAiStreamClient = chatConfig.createOpenAiStreamClient(sysModel.getApiHost(), sysModel.getApiKey());
|
openAiStreamClient = chatConfig.createOpenAiStreamClient(sysModel.getApiHost(), sysModel.getApiKey());
|
||||||
// 模型设置默认提示词
|
// 模型设置默认提示词
|
||||||
|
|
||||||
if (StringUtils.isNotEmpty(sysModel.getSystemPrompt())) {
|
if (StringUtils.isNotEmpty(sysModel.getSystemPrompt())) {
|
||||||
Message sysMessage = Message.builder().content(sysModel.getSystemPrompt()).role(Message.Role.SYSTEM).build();
|
Message sysMessage = Message.builder().content(sysModel.getSystemPrompt()).role(Message.Role.SYSTEM).build();
|
||||||
messages.add(sysMessage);
|
messages.add(sysMessage);
|
||||||
@@ -150,10 +152,10 @@ public class SseServiceImpl implements ISseService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String configValue = configService.getConfigValue("zhipu", "key");
|
String zhipuValue = configService.getConfigValue("zhipu", "key");
|
||||||
// 添加联网信息
|
// 添加联网信息
|
||||||
if(StringUtils.isNotEmpty(configValue)){
|
if(StringUtils.isNotEmpty(configValue)){
|
||||||
ClientV4 client = new ClientV4.Builder(configValue)
|
ClientV4 client = new ClientV4.Builder(zhipuValue)
|
||||||
.networkConfig(300, 100, 100, 100, TimeUnit.SECONDS)
|
.networkConfig(300, 100, 100, 100, TimeUnit.SECONDS)
|
||||||
.connectionPool(new okhttp3.ConnectionPool(8, 1, TimeUnit.SECONDS))
|
.connectionPool(new okhttp3.ConnectionPool(8, 1, TimeUnit.SECONDS))
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.ruoyi.system.service.impl;
|
package org.ruoyi.system.service.impl;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
@@ -65,6 +66,10 @@ public class SysNoticeServiceImpl implements ISysNoticeService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysNotice getNotice(SysNoticeBo notice) {
|
public SysNotice getNotice(SysNoticeBo notice) {
|
||||||
|
if(!StpUtil.isLogin()){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<SysNoticeState> lqwState = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SysNoticeState> lqwState = Wrappers.lambdaQuery();
|
||||||
Long userId = LoginHelper.getLoginUser().getUserId();
|
Long userId = LoginHelper.getLoginUser().getUserId();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user