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))
|
||||
return users
|
||||
|
||||
def get_msgs(self, wxid="", start_index=0, page_size=500, msg_type: str = "", msg_sub_type: str = "",
|
||||
start_createtime=None, end_createtime=None):
|
||||
def get_msgs(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
|
||||
msg_sub_type: str = "", start_createtime=None, end_createtime=None):
|
||||
"""
|
||||
获取聊天记录列表
|
||||
:param wxid: wxid
|
||||
:param wxids:[ wxid]
|
||||
:param start_index: 起始索引
|
||||
:param page_size: 页大小
|
||||
:param msg_type: 消息类型
|
||||
@ -59,11 +59,11 @@ class DBHandler(MicroHandler, MediaHandler, OpenIMContactHandler, PublicMsgHandl
|
||||
"talker": talker, "room_name": StrTalker, "msg": msg, "src": src, "extra": {},
|
||||
"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_sub_type=msg_sub_type, start_createtime=start_createtime,
|
||||
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_sub_type=msg_sub_type, start_createtime=start_createtime,
|
||||
end_createtime=end_createtime, my_talker=self.my_wxid)
|
||||
|
@ -62,11 +62,11 @@ class MsgHandler(DatabaseBase):
|
||||
return msg_count
|
||||
|
||||
@db_error
|
||||
def get_msg_list(self, wxid="", start_index=0, page_size=500, msg_type: str = "", msg_sub_type: str = "",
|
||||
start_createtime=None, end_createtime=None, my_talker="我"):
|
||||
def get_msg_list(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
|
||||
msg_sub_type: str = "", start_createtime=None, end_createtime=None, my_talker="我"):
|
||||
"""
|
||||
获取聊天记录列表
|
||||
:param wxid: wxid
|
||||
:param wxids: [wxid]
|
||||
:param start_index: 起始索引
|
||||
:param page_size: 页大小
|
||||
:param msg_type: 消息类型
|
||||
@ -81,8 +81,11 @@ class MsgHandler(DatabaseBase):
|
||||
if not self.tables_exist("MSG"):
|
||||
return [], []
|
||||
|
||||
if isinstance(wxids, str) and wxids:
|
||||
wxids = [wxids]
|
||||
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_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 (
|
||||
|
@ -59,11 +59,11 @@ class PublicMsgHandler(MsgHandler):
|
||||
return msg_count
|
||||
|
||||
@db_error
|
||||
def get_plc_msg_list(self, wxid="", start_index=0, page_size=500, msg_type: str = "", msg_sub_type: str = "",
|
||||
start_createtime=None, end_createtime=None, my_talker="我"):
|
||||
def get_plc_msg_list(self, wxids: list or str = "", start_index=0, page_size=500, msg_type: str = "",
|
||||
msg_sub_type: str = "", start_createtime=None, end_createtime=None, my_talker="我"):
|
||||
"""
|
||||
获取聊天记录列表
|
||||
:param wxid: wxid
|
||||
:param wxids: [wxid]
|
||||
:param start_index: 起始索引
|
||||
:param page_size: 页大小
|
||||
:param msg_type: 消息类型
|
||||
@ -77,8 +77,11 @@ class PublicMsgHandler(MsgHandler):
|
||||
if not self.tables_exist("PublicMsg"):
|
||||
return [], []
|
||||
|
||||
if isinstance(wxids, str) and wxids:
|
||||
wxids = [wxids]
|
||||
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_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 (
|
||||
|
Loading…
Reference in New Issue
Block a user