Merge remote-tracking branch 'upstream/main' into feat_vectorStore

This commit is contained in:
Yzm
2025-09-28 16:51:16 +08:00
41 changed files with 243 additions and 125 deletions

View File

@@ -16,7 +16,7 @@
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-ai.version>1.0.0-M7</spring-ai.version>
<spring-ai.version>1.0.0</spring-ai.version>
</properties>
<dependencyManagement>

View File

@@ -36,7 +36,7 @@ public class ChatModelServiceImpl implements IChatModelService {
* 查询聊天模型
*/
@Override
public ChatModelVo queryById(Long id){
public ChatModelVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@@ -103,7 +103,7 @@ public class ChatModelServiceImpl implements IChatModelService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(ChatModel entity){
private void validEntityBeforeSave(ChatModel entity) {
// 判断是否包含*号
if (entity.getApiKey().contains("*")) {
// 重新设置key信息
@@ -116,7 +116,7 @@ public class ChatModelServiceImpl implements IChatModelService {
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
@@ -129,24 +129,25 @@ public class ChatModelServiceImpl implements IChatModelService {
public ChatModelVo selectModelByName(String modelName) {
return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getModelName, modelName));
}
/**
* 通过模型分类获取模型信息
*/
@Override
public ChatModelVo selectModelByCategory(String category) {
public ChatModelVo selectModelByCategory(String category) {
return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getCategory, category));
}
/**
* 通过模型分类获取优先级最高的模型信息
*/
@Override
public ChatModelVo selectModelByCategoryWithHighestPriority(String category) {
return baseMapper.selectVoOne(
Wrappers.<ChatModel>lambdaQuery()
.eq(ChatModel::getCategory, category)
.orderByDesc(ChatModel::getPriority)
.last("LIMIT 1")
Wrappers.<ChatModel>lambdaQuery()
.eq(ChatModel::getCategory, category)
.orderByDesc(ChatModel::getPriority),
false
);
}
@@ -156,11 +157,11 @@ public class ChatModelServiceImpl implements IChatModelService {
@Override
public ChatModelVo selectFallbackModelByCategoryAndLessPriority(String category, Integer currentPriority) {
return baseMapper.selectVoOne(
Wrappers.<ChatModel>lambdaQuery()
.eq(ChatModel::getCategory, category)
.lt(ChatModel::getPriority, currentPriority)
.orderByDesc(ChatModel::getPriority)
.last("LIMIT 1")
Wrappers.<ChatModel>lambdaQuery()
.eq(ChatModel::getCategory, category)
.lt(ChatModel::getPriority, currentPriority)
.orderByDesc(ChatModel::getPriority),
false
);
}

View File

@@ -23,10 +23,10 @@ public class ChatTokenServiceImpl implements IChatTokenService {
@Override
public ChatUsageToken queryByUserId(Long userId, String modelName) {
return baseMapper.selectOne(
new LambdaQueryWrapper<ChatUsageToken>()
.eq(ChatUsageToken::getUserId, userId)
.eq(ChatUsageToken::getModelName, modelName)
.last("limit 1")
new LambdaQueryWrapper<ChatUsageToken>()
.eq(ChatUsageToken::getUserId, userId)
.eq(ChatUsageToken::getModelName, modelName),
false
);
}
@@ -35,7 +35,7 @@ public class ChatTokenServiceImpl implements IChatTokenService {
*
*/
@Override
public void resetToken(Long userId,String modelName) {
public void resetToken(Long userId, String modelName) {
ChatUsageToken chatToken = queryByUserId(userId, modelName);
chatToken.setToken(0);
baseMapper.updateById(chatToken);
@@ -47,9 +47,9 @@ public class ChatTokenServiceImpl implements IChatTokenService {
*/
@Override
public void editToken(ChatUsageToken chatToken) {
if(chatToken.getId() == null){
if (chatToken.getId() == null) {
baseMapper.insert(chatToken);
}else {
} else {
baseMapper.updateById(chatToken);
}
}

View File

@@ -115,7 +115,6 @@ public class PromptTemplateServiceImpl implements IPromptTemplateService {
LambdaQueryWrapper<PromptTemplate> queryWrapper = Wrappers.lambdaQuery(PromptTemplate.class);
queryWrapper.eq(PromptTemplate::getCategory, category);
queryWrapper.orderByDesc(PromptTemplate::getUpdateTime);
queryWrapper.last("limit 1");
return baseMapper.selectVoOne(queryWrapper);
return baseMapper.selectVoOne(queryWrapper, false);
}
}

View File

@@ -2,6 +2,7 @@ package org.ruoyi.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.ruoyi.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.KnowledgeInfo;
import org.ruoyi.domain.vo.KnowledgeInfoVo;
@@ -15,4 +16,10 @@ import org.ruoyi.domain.vo.KnowledgeInfoVo;
@Mapper
public interface KnowledgeInfoMapper extends BaseMapperPlus<KnowledgeInfo, KnowledgeInfoVo> {
/**
* 根据kid查询知识库
* @param kid 知识库id
* @return KnowledgeInfo
*/
KnowledgeInfo selectByKid(@Param("kid") String kid);
}

View File

@@ -61,7 +61,7 @@ public interface IKnowledgeInfoService {
/**
* 删除知识库
*/
void removeKnowledge(String id);
void removeKnowledge(String kid);
/**
* 上传附件

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.ruoyi.mapper.KnowledgeInfoMapper">
<select id="selectByKid" resultType="org.ruoyi.domain.KnowledgeInfo">
SELECT * FROM knowledge_info WHERE kid = #{kid}
</select>
</mapper>