搜索大模型的历史问答记录

This commit is contained in:
2026-03-31 18:56:38 +08:00
parent 48cd1115f2
commit 4eeed5eb70
3 changed files with 7 additions and 41 deletions

View File

@@ -93,59 +93,20 @@ public class AiQaMainController {
public ResponseEntity<Map<String, Object>> list( public ResponseEntity<Map<String, Object>> list(
@RequestParam(defaultValue = "1") Integer current, @RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size, @RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String tenantId,
@RequestParam(required = false) String title,
@RequestParam(required = false) String qaType,
@RequestParam(required = false) String askContent,
@RequestParam(required = false) String salesId, @RequestParam(required = false) String salesId,
@RequestParam(required = false) String salesPhone, @RequestParam(required = false) String salesPhone,
@RequestParam(required = false) String salesName, @RequestParam(required = false) String salesName ) {
@RequestParam(required = false) String createStartTime,
@RequestParam(required = false) String createEndTime) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
try { try {
Page<AiQaMain> page = new Page<>(current, size); Page<AiQaMain> page = new Page<>(current, size);
LambdaQueryWrapper<AiQaMain> q = new LambdaQueryWrapper<>(); LambdaQueryWrapper<AiQaMain> q = new LambdaQueryWrapper<>();
if (tenantId != null && !tenantId.trim().isEmpty()) {
q.eq(AiQaMain::getTenantId, tenantId);
}
if (title != null && !title.trim().isEmpty()) {
q.like(AiQaMain::getTitle, title);
}
if (qaType != null && !qaType.trim().isEmpty()) {
q.eq(AiQaMain::getQaType, qaType);
}
if (askContent != null && !askContent.trim().isEmpty()) {
q.like(AiQaMain::getAskContent, askContent);
}
if (salesId != null && !salesId.trim().isEmpty()) {
q.eq(AiQaMain::getSalesId, salesId);
}
if (salesPhone != null && !salesPhone.trim().isEmpty()) { if (salesPhone != null && !salesPhone.trim().isEmpty()) {
q.like(AiQaMain::getSalesPhone, salesPhone); q.like(AiQaMain::getSalesPhone, salesPhone);
} }
if (salesName != null && !salesName.trim().isEmpty()) { if (salesName != null && !salesName.trim().isEmpty()) {
q.like(AiQaMain::getSalesName, salesName); q.eq(AiQaMain::getSalesName, salesName);
} }
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if (createStartTime != null && !createStartTime.trim().isEmpty()) {
try {
q.ge(AiQaMain::getCreateTime, LocalDateTime.parse(createStartTime, formatter));
} catch (Exception ex) {
result.put("success", false);
result.put("message", "创建开始时间格式错误请使用yyyy-MM-dd HH:mm:ss");
return ResponseEntity.badRequest().body(result);
}
}
if (createEndTime != null && !createEndTime.trim().isEmpty()) {
try {
q.le(AiQaMain::getCreateTime, LocalDateTime.parse(createEndTime, formatter));
} catch (Exception ex) {
result.put("success", false);
result.put("message", "创建结束时间格式错误请使用yyyy-MM-dd HH:mm:ss");
return ResponseEntity.badRequest().body(result);
}
}
q.orderByDesc(AiQaMain::getCreateTime); q.orderByDesc(AiQaMain::getCreateTime);
Page<AiQaMain> data = aiQaMainService.page(page, q); Page<AiQaMain> data = aiQaMainService.page(page, q);
result.put("success", true); result.put("success", true);

View File

@@ -22,6 +22,9 @@ public class AiQaCustomerAskRequestDto {
@Schema(description = "模型名,默认取配置 ai.qa.local.default-model如 Qwen2.5-7B-Instruct") @Schema(description = "模型名,默认取配置 ai.qa.local.default-model如 Qwen2.5-7B-Instruct")
private String model; private String model;
private String loginAccount;
private String userName;
@Schema(description = "可选系统提示词,不传则使用默认助手设定") @Schema(description = "可选系统提示词,不传则使用默认助手设定")
private String systemPrompt; private String systemPrompt;

View File

@@ -91,6 +91,8 @@ public class AiQaCustomerAskServiceImpl implements IAiQaCustomerAskService {
main.setTitle(truncate(questionContent, MAIN_TITLE_MAX_LEN)); main.setTitle(truncate(questionContent, MAIN_TITLE_MAX_LEN));
main.setQaType(questionType); main.setQaType(questionType);
main.setAskContent(questionContent); main.setAskContent(questionContent);
main.setSalesName(request.getUserName());
main.setSalesPhone(request.getLoginAccount());
main.setCreateTime(now); main.setCreateTime(now);
main.setUpdateTime(now); main.setUpdateTime(now);
aiQaMainService.save(main); aiQaMainService.save(main);