mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-15 12:53:42 +00:00
Merge pull request #179 from violateer/featur/remove_limit1_compat
feature: 移除limit 1写法,兼容不同数据库
This commit is contained in:
@@ -36,7 +36,7 @@ public class ChatModelServiceImpl implements IChatModelService {
|
|||||||
* 查询聊天模型
|
* 查询聊天模型
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ChatModelVo queryById(Long id){
|
public ChatModelVo queryById(Long id) {
|
||||||
return baseMapper.selectVoById(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("*")) {
|
if (entity.getApiKey().contains("*")) {
|
||||||
// 重新设置key信息
|
// 重新设置key信息
|
||||||
@@ -116,7 +116,7 @@ public class ChatModelServiceImpl implements IChatModelService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
@@ -129,24 +129,25 @@ public class ChatModelServiceImpl implements IChatModelService {
|
|||||||
public ChatModelVo selectModelByName(String modelName) {
|
public ChatModelVo selectModelByName(String modelName) {
|
||||||
return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getModelName, modelName));
|
return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getModelName, modelName));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过模型分类获取模型信息
|
* 通过模型分类获取模型信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ChatModelVo selectModelByCategory(String category) {
|
public ChatModelVo selectModelByCategory(String category) {
|
||||||
return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getCategory, category));
|
return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getCategory, category));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过模型分类获取优先级最高的模型信息
|
* 通过模型分类获取优先级最高的模型信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ChatModelVo selectModelByCategoryWithHighestPriority(String category) {
|
public ChatModelVo selectModelByCategoryWithHighestPriority(String category) {
|
||||||
return baseMapper.selectVoOne(
|
return baseMapper.selectVoOne(
|
||||||
Wrappers.<ChatModel>lambdaQuery()
|
Wrappers.<ChatModel>lambdaQuery()
|
||||||
.eq(ChatModel::getCategory, category)
|
.eq(ChatModel::getCategory, category)
|
||||||
.orderByDesc(ChatModel::getPriority)
|
.orderByDesc(ChatModel::getPriority),
|
||||||
.last("LIMIT 1")
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,11 +157,11 @@ public class ChatModelServiceImpl implements IChatModelService {
|
|||||||
@Override
|
@Override
|
||||||
public ChatModelVo selectFallbackModelByCategoryAndLessPriority(String category, Integer currentPriority) {
|
public ChatModelVo selectFallbackModelByCategoryAndLessPriority(String category, Integer currentPriority) {
|
||||||
return baseMapper.selectVoOne(
|
return baseMapper.selectVoOne(
|
||||||
Wrappers.<ChatModel>lambdaQuery()
|
Wrappers.<ChatModel>lambdaQuery()
|
||||||
.eq(ChatModel::getCategory, category)
|
.eq(ChatModel::getCategory, category)
|
||||||
.lt(ChatModel::getPriority, currentPriority)
|
.lt(ChatModel::getPriority, currentPriority)
|
||||||
.orderByDesc(ChatModel::getPriority)
|
.orderByDesc(ChatModel::getPriority),
|
||||||
.last("LIMIT 1")
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,10 +23,10 @@ public class ChatTokenServiceImpl implements IChatTokenService {
|
|||||||
@Override
|
@Override
|
||||||
public ChatUsageToken queryByUserId(Long userId, String modelName) {
|
public ChatUsageToken queryByUserId(Long userId, String modelName) {
|
||||||
return baseMapper.selectOne(
|
return baseMapper.selectOne(
|
||||||
new LambdaQueryWrapper<ChatUsageToken>()
|
new LambdaQueryWrapper<ChatUsageToken>()
|
||||||
.eq(ChatUsageToken::getUserId, userId)
|
.eq(ChatUsageToken::getUserId, userId)
|
||||||
.eq(ChatUsageToken::getModelName, modelName)
|
.eq(ChatUsageToken::getModelName, modelName),
|
||||||
.last("limit 1")
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ public class ChatTokenServiceImpl implements IChatTokenService {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void resetToken(Long userId,String modelName) {
|
public void resetToken(Long userId, String modelName) {
|
||||||
ChatUsageToken chatToken = queryByUserId(userId, modelName);
|
ChatUsageToken chatToken = queryByUserId(userId, modelName);
|
||||||
chatToken.setToken(0);
|
chatToken.setToken(0);
|
||||||
baseMapper.updateById(chatToken);
|
baseMapper.updateById(chatToken);
|
||||||
@@ -47,9 +47,9 @@ public class ChatTokenServiceImpl implements IChatTokenService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void editToken(ChatUsageToken chatToken) {
|
public void editToken(ChatUsageToken chatToken) {
|
||||||
if(chatToken.getId() == null){
|
if (chatToken.getId() == null) {
|
||||||
baseMapper.insert(chatToken);
|
baseMapper.insert(chatToken);
|
||||||
}else {
|
} else {
|
||||||
baseMapper.updateById(chatToken);
|
baseMapper.updateById(chatToken);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,7 +115,6 @@ public class PromptTemplateServiceImpl implements IPromptTemplateService {
|
|||||||
LambdaQueryWrapper<PromptTemplate> queryWrapper = Wrappers.lambdaQuery(PromptTemplate.class);
|
LambdaQueryWrapper<PromptTemplate> queryWrapper = Wrappers.lambdaQuery(PromptTemplate.class);
|
||||||
queryWrapper.eq(PromptTemplate::getCategory, category);
|
queryWrapper.eq(PromptTemplate::getCategory, category);
|
||||||
queryWrapper.orderByDesc(PromptTemplate::getUpdateTime);
|
queryWrapper.orderByDesc(PromptTemplate::getUpdateTime);
|
||||||
queryWrapper.last("limit 1");
|
return baseMapper.selectVoOne(queryWrapper, false);
|
||||||
return baseMapper.selectVoOne(queryWrapper);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user