作者 dong

日志管理界面修正

... ... @@ -20,6 +20,7 @@ import org.jeecg.modules.airag.app.entity.AiragLog;
import org.jeecg.modules.airag.app.entity.Embeddings;
import org.jeecg.modules.airag.app.entity.QuestionEmbedding;
import org.jeecg.modules.airag.app.mapper.AiragButtonMapper;
import org.jeecg.modules.airag.app.service.IAiragButtonService;
import org.jeecg.modules.airag.app.service.IAiragLogService;
import org.jeecg.modules.airag.app.service.IEmbeddingsService;
import org.jeecg.modules.airag.app.service.IQuestionEmbeddingService;
... ... @@ -67,7 +68,7 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
private IEmbeddingsService embeddingsService;
@Autowired
private AiragButtonMapper airagButtonMapper;
private IAiragButtonService airagButtonService;
/**
* 分页列表查询
*
... ... @@ -88,65 +89,24 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
QueryWrapper<AiragLog> queryWrapper = QueryGenerator.initQueryWrapper(airagLog, req.getParameterMap());
Page<AiragLog> page = new Page<AiragLog>(pageNo, pageSize);
// IPage<AiragLog> pageList = airagLogService.page(page, queryWrapper);
IPage<AiragLog> pageList = airagLogService.pageList(airagLog,page);
/*if(airagLog != null && StringUtils.isNotBlank(airagLog.getName())) {
QueryWrapper<AiragModel> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("model_id", airagLog.getName());
IPage<AiragLog> page1 = airagLogService.list1(airagLog,page);
return Result.ok(page1);
}*/
List<AiragModel> list = airagModelService.list();
Map<String,String> nameMap = new HashMap<String,String>();
for(AiragModel airagModel : list){
nameMap.put(airagModel.getId(), airagModel.getName());
}
Map<String, String> nameMap = airagModelService.list().
stream().
collect(Collectors.toMap
(AiragModel::getId, AiragModel::getModelName));
Map<String, String> buttonMap = airagButtonService.list().
stream().
collect(Collectors.toMap
(AiragButton::getCode, AiragButton::getButtonName));
// 收集所有需要查询的按钮名称
Set<String> buttonNames = new HashSet<>();
for (AiragLog log : pageList.getRecords()) {
List<AiragLog> records = pageList.getRecords();
for(AiragLog log : records){
String modelId = log.getModelId();
log.setName(nameMap.get(modelId));
// 收集快捷按钮提问的问题内容
if (log.getCodeType() == 1 && StringUtils.isNotBlank(log.getQuestion())) {
buttonNames.add(log.getQuestion());
}
}
// 批量查询按钮code
Map<String, String> buttonCodeMap = new HashMap<>();
if (!buttonNames.isEmpty()) {
LambdaQueryWrapper<AiragButton> buttonWrapper = new LambdaQueryWrapper<>();
buttonWrapper.in(AiragButton::getButtonName, buttonNames);
List<AiragButton> buttons = airagButtonMapper.selectList(buttonWrapper);
for (AiragButton button : buttons) {
buttonCodeMap.put(button.getButtonName(), button.getCode());
}
}
// 设置按钮code
for (AiragLog log : pageList.getRecords()) {
if (log.getCodeType() == 0) {
// 输入框提问,按钮code为空
log.setCode("null");
} else if (log.getCodeType() == 1) {
// 快捷按钮提问
if (StringUtils.isNotBlank(log.getQuestion())) {
String code = buttonCodeMap.get(log.getQuestion());
if (StringUtils.isNotBlank(code)) {
log.setCode(code);
airagLogService.updateById(log);
} else {
// 未找到匹配按钮
log.setCode("INPUT_QUESTION");
}
} else {
log.setCode(null);
}
if(StringUtils.isNotBlank(log.getCode()) && log.getCode().equals(buttonMap.get("code"))){
log.setButtonName(buttonMap.get("name"));
}
}
... ...
... ... @@ -115,6 +115,9 @@ public class AiragLog implements Serializable {
// 新增:临时字段(非数据库字段)
@TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中
private String name;
// 新增:临时字段(非数据库字段)
@TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中
private String buttonName;
// 新增:临时字段(非数据库字段)
@TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中
... ...