search_contacts方法添加模糊搜索参数

This commit is contained in:
evilbeast 2022-09-06 11:31:16 +08:00
parent 254123f640
commit 91d1257220

View File

@ -200,7 +200,8 @@ class WeChat:
wxid: Union[None, str] = None, wxid: Union[None, str] = None,
account: Union[None, str] = None, account: Union[None, str] = None,
nickname: Union[None, str] = None, nickname: Union[None, str] = None,
remark: Union[None, str] = None): remark: Union[None, str] = None,
fuzzy_search: bool = False):
""" """
根据wxid微信号昵称和备注模糊搜索联系人 根据wxid微信号昵称和备注模糊搜索联系人
""" """
@ -217,8 +218,9 @@ class WeChat:
return [] return []
cond_pairs = [] cond_pairs = []
tag = '%' if fuzzy_search else ''
for k, v in conds.items(): for k, v in conds.items():
cond_pairs.append(f"{k} like '%{v}%'") cond_pairs.append(f"{k} like '{tag}{v}{tag}'")
cond_str = " or ".join(cond_pairs) cond_str = " or ".join(cond_pairs)
sql = f"select username from contact where {cond_str}" sql = f"select username from contact where {cond_str}"