作者 dong

日志管理界面修正

@@ -20,6 +20,7 @@ import org.jeecg.modules.airag.app.entity.AiragLog; @@ -20,6 +20,7 @@ import org.jeecg.modules.airag.app.entity.AiragLog;
20 import org.jeecg.modules.airag.app.entity.Embeddings; 20 import org.jeecg.modules.airag.app.entity.Embeddings;
21 import org.jeecg.modules.airag.app.entity.QuestionEmbedding; 21 import org.jeecg.modules.airag.app.entity.QuestionEmbedding;
22 import org.jeecg.modules.airag.app.mapper.AiragButtonMapper; 22 import org.jeecg.modules.airag.app.mapper.AiragButtonMapper;
  23 +import org.jeecg.modules.airag.app.service.IAiragButtonService;
23 import org.jeecg.modules.airag.app.service.IAiragLogService; 24 import org.jeecg.modules.airag.app.service.IAiragLogService;
24 import org.jeecg.modules.airag.app.service.IEmbeddingsService; 25 import org.jeecg.modules.airag.app.service.IEmbeddingsService;
25 import org.jeecg.modules.airag.app.service.IQuestionEmbeddingService; 26 import org.jeecg.modules.airag.app.service.IQuestionEmbeddingService;
@@ -67,7 +68,7 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi @@ -67,7 +68,7 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
67 private IEmbeddingsService embeddingsService; 68 private IEmbeddingsService embeddingsService;
68 69
69 @Autowired 70 @Autowired
70 - private AiragButtonMapper airagButtonMapper; 71 + private IAiragButtonService airagButtonService;
71 /** 72 /**
72 * 分页列表查询 73 * 分页列表查询
73 * 74 *
@@ -88,65 +89,24 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi @@ -88,65 +89,24 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
88 89
89 QueryWrapper<AiragLog> queryWrapper = QueryGenerator.initQueryWrapper(airagLog, req.getParameterMap()); 90 QueryWrapper<AiragLog> queryWrapper = QueryGenerator.initQueryWrapper(airagLog, req.getParameterMap());
90 Page<AiragLog> page = new Page<AiragLog>(pageNo, pageSize); 91 Page<AiragLog> page = new Page<AiragLog>(pageNo, pageSize);
91 -// IPage<AiragLog> pageList = airagLogService.page(page, queryWrapper);  
92 IPage<AiragLog> pageList = airagLogService.pageList(airagLog,page); 92 IPage<AiragLog> pageList = airagLogService.pageList(airagLog,page);
93 - /*if(airagLog != null && StringUtils.isNotBlank(airagLog.getName())) {  
94 - QueryWrapper<AiragModel> queryWrapper2 = new QueryWrapper<>();  
95 - queryWrapper2.eq("model_id", airagLog.getName());  
96 - IPage<AiragLog> page1 = airagLogService.list1(airagLog,page);  
97 - return Result.ok(page1);  
98 - }*/  
99 -  
100 - List<AiragModel> list = airagModelService.list();  
101 - Map<String,String> nameMap = new HashMap<String,String>();  
102 - for(AiragModel airagModel : list){  
103 - nameMap.put(airagModel.getId(), airagModel.getName());  
104 - }  
105 93
  94 + Map<String, String> nameMap = airagModelService.list().
  95 + stream().
  96 + collect(Collectors.toMap
  97 + (AiragModel::getId, AiragModel::getModelName));
  98 +
  99 + Map<String, String> buttonMap = airagButtonService.list().
  100 + stream().
  101 + collect(Collectors.toMap
  102 + (AiragButton::getCode, AiragButton::getButtonName));
106 103
107 - // 收集所有需要查询的按钮名称  
108 - Set<String> buttonNames = new HashSet<>();  
109 - for (AiragLog log : pageList.getRecords()) { 104 + List<AiragLog> records = pageList.getRecords();
  105 + for(AiragLog log : records){
110 String modelId = log.getModelId(); 106 String modelId = log.getModelId();
111 log.setName(nameMap.get(modelId)); 107 log.setName(nameMap.get(modelId));
112 -  
113 - // 收集快捷按钮提问的问题内容  
114 - if (log.getCodeType() == 1 && StringUtils.isNotBlank(log.getQuestion())) {  
115 - buttonNames.add(log.getQuestion());  
116 - }  
117 - }  
118 -  
119 - // 批量查询按钮code  
120 - Map<String, String> buttonCodeMap = new HashMap<>();  
121 - if (!buttonNames.isEmpty()) {  
122 - LambdaQueryWrapper<AiragButton> buttonWrapper = new LambdaQueryWrapper<>();  
123 - buttonWrapper.in(AiragButton::getButtonName, buttonNames);  
124 - List<AiragButton> buttons = airagButtonMapper.selectList(buttonWrapper);  
125 -  
126 - for (AiragButton button : buttons) {  
127 - buttonCodeMap.put(button.getButtonName(), button.getCode());  
128 - }  
129 - }  
130 -  
131 - // 设置按钮code  
132 - for (AiragLog log : pageList.getRecords()) {  
133 - if (log.getCodeType() == 0) {  
134 - // 输入框提问,按钮code为空  
135 - log.setCode("null");  
136 - } else if (log.getCodeType() == 1) {  
137 - // 快捷按钮提问  
138 - if (StringUtils.isNotBlank(log.getQuestion())) {  
139 - String code = buttonCodeMap.get(log.getQuestion());  
140 - if (StringUtils.isNotBlank(code)) {  
141 - log.setCode(code);  
142 - airagLogService.updateById(log);  
143 - } else {  
144 - // 未找到匹配按钮  
145 - log.setCode("INPUT_QUESTION");  
146 - }  
147 - } else {  
148 - log.setCode(null);  
149 - } 108 + if(StringUtils.isNotBlank(log.getCode()) && log.getCode().equals(buttonMap.get("code"))){
  109 + log.setButtonName(buttonMap.get("name"));
150 } 110 }
151 } 111 }
152 112
@@ -115,6 +115,9 @@ public class AiragLog implements Serializable { @@ -115,6 +115,9 @@ public class AiragLog implements Serializable {
115 // 新增:临时字段(非数据库字段) 115 // 新增:临时字段(非数据库字段)
116 @TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中 116 @TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中
117 private String name; 117 private String name;
  118 + // 新增:临时字段(非数据库字段)
  119 + @TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中
  120 + private String buttonName;
118 121
119 // 新增:临时字段(非数据库字段) 122 // 新增:临时字段(非数据库字段)
120 @TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中 123 @TableField(exist = false) // MyBatis-Plus 标记该字段不存在于数据库表中