Merge pull request #179 from violateer/featur/remove_limit1_compat

feature: 移除limit 1写法,兼容不同数据库
This commit is contained in:
evo
2025-09-27 19:06:48 +08:00
committed by GitHub
3 changed files with 23 additions and 23 deletions

View File

@@ -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
); );
} }

View File

@@ -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);
} }
} }

View File

@@ -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);
} }
} }