fix 联系人搜索bug
This commit is contained in:
parent
f698e4d348
commit
0314cf4107
@ -90,7 +90,7 @@ def user_labels_dict():
|
||||
|
||||
@rs_api.post('/user_list')
|
||||
@error9999
|
||||
def user_list(word: str = "", wxids: List[str] = None, labels: List[str] = None):
|
||||
def user_list(word: str = Body("", embed=True), wxids: List[str] = Body(None), labels: List[str] = Body(None)):
|
||||
"""
|
||||
获取联系人列表,可用于搜索
|
||||
:return:
|
||||
@ -102,7 +102,7 @@ def user_list(word: str = "", wxids: List[str] = None, labels: List[str] = None)
|
||||
if not my_wxid: return ReJson(1001, body="my_wxid is required")
|
||||
db_config = gc.get_conf(my_wxid, "db_config")
|
||||
db = DBHandler(db_config, my_wxid=my_wxid)
|
||||
users = db.get_user(word, wxids, labels)
|
||||
users = db.get_user(word=word, wxids=wxids, labels=labels)
|
||||
return ReJson(0, users)
|
||||
|
||||
|
||||
|
@ -95,6 +95,8 @@ class MicroHandler(DatabaseBase):
|
||||
"WHERE S.strUsrName!='@publicUser' "
|
||||
"ORDER BY S.nTime DESC;"
|
||||
)
|
||||
|
||||
db_loger.info(f"get_session_list sql: {sql}")
|
||||
ret = self.execute(sql)
|
||||
if not ret:
|
||||
return sessions
|
||||
@ -139,6 +141,8 @@ class MicroHandler(DatabaseBase):
|
||||
"ON A.Username = SubQuery.Username AND LastReadedCreateTime = SubQuery.MaxLastReadedCreateTime "
|
||||
"ORDER BY A.LastReadedCreateTime DESC;"
|
||||
)
|
||||
|
||||
db_loger.info(f"get_recent_chat_wxid sql: {sql}")
|
||||
result = self.execute(sql)
|
||||
if not result:
|
||||
return []
|
||||
@ -194,6 +198,7 @@ class MicroHandler(DatabaseBase):
|
||||
sql_label = " OR ".join(sql_label)
|
||||
sql = sql.replace(";", f"AND ({sql_label}) ;")
|
||||
|
||||
db_loger.info(f"get_user_list word: {word} sql: {sql}")
|
||||
result = self.execute(sql)
|
||||
if not result:
|
||||
return users
|
||||
@ -214,7 +219,10 @@ class MicroHandler(DatabaseBase):
|
||||
"wxid": UserName, "nickname": NickName, "remark": Remark, "account": Alias,
|
||||
"describe": describe, "headImgUrl": bigHeadImgUrl if bigHeadImgUrl else "",
|
||||
"ExtraBuf": ExtraBuf, "LabelIDList": tuple(LabelIDList),
|
||||
"extra": self.get_room_list(roomwxids=[UserName]).get(UserName, None)}
|
||||
"extra": None}
|
||||
extras = self.get_room_list(roomwxids=filter(lambda x: "@" in x, users.keys()))
|
||||
for UserName in users:
|
||||
users[UserName]["extra"] = extras.get(UserName, None)
|
||||
return users
|
||||
|
||||
@db_error
|
||||
@ -244,6 +252,7 @@ class MicroHandler(DatabaseBase):
|
||||
if roomwxids:
|
||||
sql = sql.replace(";", f"AND A.ChatRoomName IN ('" + "','".join(roomwxids) + "') ;")
|
||||
|
||||
db_loger.info(f"get_room_list sql: {sql}")
|
||||
result = self.execute(sql)
|
||||
if not result:
|
||||
return rooms
|
||||
|
@ -114,7 +114,7 @@ class DatabaseBase(DatabaseSingletonBase):
|
||||
if isinstance(required_tables, str):
|
||||
required_tables = [required_tables]
|
||||
rbool = all(table.lower() in self.existed_tables for table in (required_tables or []))
|
||||
if not rbool: db_loger.warning(f"{required_tables=}\n{self.existed_tables=}\n{rbool=}\n")
|
||||
if not rbool: db_loger.warning(f"{required_tables=}\n{self.existed_tables=}\n{rbool=}")
|
||||
return rbool
|
||||
|
||||
def execute(self, sql, params=None):
|
||||
|
Loading…
Reference in New Issue
Block a user