perf: 优化聊天发送会员、任务、文件支持搜索ID

This commit is contained in:
kuaifan 2025-07-07 18:08:54 +08:00
parent 46dd449b2f
commit 44baa743c0
3 changed files with 14 additions and 3 deletions

View File

@ -134,7 +134,11 @@ class FileController extends AbstractController
$builder->where("id", $id);
}
if ($key) {
$builder->where("name", "like", "%{$key}%");
if (!$id && Base::isNumber($key)) {
$builder->where("id", $key);
} else {
$builder->where("name", "like", "%{$key}%");
}
}
$array = $builder->take($take)->get()->toArray();
// 搜索共享的

View File

@ -494,7 +494,7 @@ class UsersController extends AbstractController
* @apiName searchinfo
*
* @apiParam {Object} keys 搜索条件
* - keys.key 昵称、拼音、邮箱关键字
* - keys.key 会员ID、昵称、拼音、邮箱关键字
* - keys.disable 0-排除离职默认1-仅离职2-含离职
* - keys.bot 0-排除机器人默认1-仅机器人2-含机器人
* - keys.project_id 在指定项目ID
@ -534,6 +534,8 @@ class UsersController extends AbstractController
if ($keys['key']) {
if (str_contains($keys['key'], "@")) {
$builder->where("email", "like", "%{$keys['key']}%");
} elseif (Base::isNumber($keys['key'])) {
$builder->where("userid", intval($keys['key']));
} else {
$builder->where(function($query) use ($keys) {
$query->where("nickname", "like", "%{$keys['key']}%")

View File

@ -1179,7 +1179,12 @@ export default {
array.some(item => {
let list = item.list;
if (searchTerm) {
list = list.filter(({value, key}) => $A.strExists(key || value, searchTerm));
list = list.filter(({id, value, key}) => {
if (/^\d+$/.test(searchTerm) && id && id == searchTerm) {
return true;
}
return $A.strExists(key || value, searchTerm)
});
}
if (list.length > 0) {
item.label && values.push(...item.label)