get_msgs 允许多个wxid
This commit is contained in:
parent
82363ef384
commit
b3dd6a0715
@ -44,11 +44,11 @@ class DBHandler(MicroHandler, MediaHandler, OpenIMContactHandler, PublicMsgHandl
|
|||||||
users.update(self.get_im_user_list(word=word, wxids=wxids))
|
users.update(self.get_im_user_list(word=word, wxids=wxids))
|
||||||
return users
|
return users
|
||||||
|
|
||||||
def get_msgs(self, wxid="", start_index=0, page_size=500, msg_type: str = "", msg_sub_type: str = "",
|
def get_msgs(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
|
||||||
start_createtime=None, end_createtime=None):
|
msg_sub_type: str = "", start_createtime=None, end_createtime=None):
|
||||||
"""
|
"""
|
||||||
获取聊天记录列表
|
获取聊天记录列表
|
||||||
:param wxid: wxid
|
:param wxids:[ wxid]
|
||||||
:param start_index: 起始索引
|
:param start_index: 起始索引
|
||||||
:param page_size: 页大小
|
:param page_size: 页大小
|
||||||
:param msg_type: 消息类型
|
:param msg_type: 消息类型
|
||||||
@ -59,11 +59,11 @@ class DBHandler(MicroHandler, MediaHandler, OpenIMContactHandler, PublicMsgHandl
|
|||||||
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": {},
|
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": {},
|
||||||
"CreateTime": CreateTime, }
|
"CreateTime": CreateTime, }
|
||||||
"""
|
"""
|
||||||
msgs0, wxid_list0 = self.get_msg_list(wxid=wxid, start_index=start_index, page_size=page_size,
|
msgs0, wxid_list0 = self.get_msg_list(wxids=wxids, start_index=start_index, page_size=page_size,
|
||||||
msg_type=msg_type,
|
msg_type=msg_type,
|
||||||
msg_sub_type=msg_sub_type, start_createtime=start_createtime,
|
msg_sub_type=msg_sub_type, start_createtime=start_createtime,
|
||||||
end_createtime=end_createtime, my_talker=self.my_wxid)
|
end_createtime=end_createtime, my_talker=self.my_wxid)
|
||||||
msgs1, wxid_list1 = self.get_plc_msg_list(wxid=wxid, start_index=start_index, page_size=page_size,
|
msgs1, wxid_list1 = self.get_plc_msg_list(wxids=wxids, start_index=start_index, page_size=page_size,
|
||||||
msg_type=msg_type,
|
msg_type=msg_type,
|
||||||
msg_sub_type=msg_sub_type, start_createtime=start_createtime,
|
msg_sub_type=msg_sub_type, start_createtime=start_createtime,
|
||||||
end_createtime=end_createtime, my_talker=self.my_wxid)
|
end_createtime=end_createtime, my_talker=self.my_wxid)
|
||||||
|
@ -62,11 +62,11 @@ class MsgHandler(DatabaseBase):
|
|||||||
return msg_count
|
return msg_count
|
||||||
|
|
||||||
@db_error
|
@db_error
|
||||||
def get_msg_list(self, wxid="", start_index=0, page_size=500, msg_type: str = "", msg_sub_type: str = "",
|
def get_msg_list(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
|
||||||
start_createtime=None, end_createtime=None, my_talker="我"):
|
msg_sub_type: str = "", start_createtime=None, end_createtime=None, my_talker="我"):
|
||||||
"""
|
"""
|
||||||
获取聊天记录列表
|
获取聊天记录列表
|
||||||
:param wxid: wxid
|
:param wxids: [wxid]
|
||||||
:param start_index: 起始索引
|
:param start_index: 起始索引
|
||||||
:param page_size: 页大小
|
:param page_size: 页大小
|
||||||
:param msg_type: 消息类型
|
:param msg_type: 消息类型
|
||||||
@ -81,8 +81,11 @@ class MsgHandler(DatabaseBase):
|
|||||||
if not self.tables_exist("MSG"):
|
if not self.tables_exist("MSG"):
|
||||||
return [], []
|
return [], []
|
||||||
|
|
||||||
|
if isinstance(wxids, str) and wxids:
|
||||||
|
wxids = [wxids]
|
||||||
param = ()
|
param = ()
|
||||||
sql_wxid, param = ("AND StrTalker=? ", param + (wxid,)) if wxid else ("", param)
|
sql_wxid, param = (f"AND StrTalker in ({', '.join('?' for _ in wxids)}) ",
|
||||||
|
param + tuple(wxids)) if wxids else ("", param)
|
||||||
sql_type, param = ("AND Type=? ", param + (msg_type,)) if msg_type else ("", param)
|
sql_type, param = ("AND Type=? ", param + (msg_type,)) if msg_type else ("", param)
|
||||||
sql_sub_type, param = ("AND SubType=? ", param + (msg_sub_type,)) if msg_type and msg_sub_type else ("", param)
|
sql_sub_type, param = ("AND SubType=? ", param + (msg_sub_type,)) if msg_type and msg_sub_type else ("", param)
|
||||||
sql_start_createtime, param = ("AND CreateTime>=? ", param + (start_createtime,)) if start_createtime else (
|
sql_start_createtime, param = ("AND CreateTime>=? ", param + (start_createtime,)) if start_createtime else (
|
||||||
|
@ -59,11 +59,11 @@ class PublicMsgHandler(MsgHandler):
|
|||||||
return msg_count
|
return msg_count
|
||||||
|
|
||||||
@db_error
|
@db_error
|
||||||
def get_plc_msg_list(self, wxid="", start_index=0, page_size=500, msg_type: str = "", msg_sub_type: str = "",
|
def get_plc_msg_list(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
|
||||||
start_createtime=None, end_createtime=None, my_talker="我"):
|
msg_sub_type: str = "", start_createtime=None, end_createtime=None, my_talker="我"):
|
||||||
"""
|
"""
|
||||||
获取聊天记录列表
|
获取聊天记录列表
|
||||||
:param wxid: wxid
|
:param wxids: [wxid]
|
||||||
:param start_index: 起始索引
|
:param start_index: 起始索引
|
||||||
:param page_size: 页大小
|
:param page_size: 页大小
|
||||||
:param msg_type: 消息类型
|
:param msg_type: 消息类型
|
||||||
@ -77,8 +77,11 @@ class PublicMsgHandler(MsgHandler):
|
|||||||
if not self.tables_exist("PublicMsg"):
|
if not self.tables_exist("PublicMsg"):
|
||||||
return [], []
|
return [], []
|
||||||
|
|
||||||
|
if isinstance(wxids, str) and wxids:
|
||||||
|
wxids = [wxids]
|
||||||
param = ()
|
param = ()
|
||||||
sql_wxid, param = ("AND StrTalker=? ", param + (wxid,)) if wxid else ("", param)
|
sql_wxid, param = (f"AND StrTalker in ({', '.join('?' for _ in wxids)}) ",
|
||||||
|
param + tuple(wxids)) if wxids else ("", param)
|
||||||
sql_type, param = ("AND Type=? ", param + (msg_type,)) if msg_type else ("", param)
|
sql_type, param = ("AND Type=? ", param + (msg_type,)) if msg_type else ("", param)
|
||||||
sql_sub_type, param = ("AND SubType=? ", param + (msg_sub_type,)) if msg_type and msg_sub_type else ("", param)
|
sql_sub_type, param = ("AND SubType=? ", param + (msg_sub_type,)) if msg_type and msg_sub_type else ("", param)
|
||||||
sql_start_createtime, param = ("AND CreateTime>=? ", param + (start_createtime,)) if start_createtime else (
|
sql_start_createtime, param = ("AND CreateTime>=? ", param + (start_createtime,)) if start_createtime else (
|
||||||
|
Loading…
Reference in New Issue
Block a user