feat: 统一列表模糊搜索行为

- 统一管理端和用户中心搜索参数及多字段包含匹配

- 修复聊天搜索竞态并优化部门重名路径展示

- 补充部门展开、模型空白词和聊天查询回归测试
This commit is contained in:
2026-08-13 22:29:59 +08:00
parent 765006747a
commit 64a85c6a5b
83 changed files with 1134 additions and 208 deletions

View File

@@ -0,0 +1,35 @@
package tech.easyflow.common.util;
/**
* 搜索关键词处理工具。
*/
public final class SearchKeywordUtil {
private SearchKeywordUtil() {
}
/**
* 去除搜索关键词首尾空格,空值统一为空字符串。
*
* @param keyword 原始搜索关键词
* @return 规范化后的关键词
*/
public static String normalize(String keyword) {
return keyword == null ? "" : keyword.trim();
}
/**
* 构造将 LIKE 通配符按普通字符处理的包含匹配模式。
*
* @param keyword 搜索关键词
* @return 可参数化传入 LIKE 的匹配模式
*/
public static String literalContainsPattern(String keyword) {
String normalizedKeyword = normalize(keyword);
String escapedKeyword = normalizedKeyword
.replace("\\", "\\\\")
.replace("%", "\\%")
.replace("_", "\\_");
return "%" + escapedKeyword + "%";
}
}