重大版本调整:gewechat兼容。
This commit is contained in:
@@ -3,10 +3,9 @@
|
||||
from datetime import datetime
|
||||
from typing import Dict, List, Optional
|
||||
|
||||
from wcferry import WxMsg
|
||||
|
||||
from db.base import BaseDBOperator
|
||||
from db.connection import DBConnectionManager
|
||||
from gewechat.call_back_message.message import WxMessage
|
||||
|
||||
|
||||
class MessageStorageDB(BaseDBOperator):
|
||||
@@ -15,14 +14,15 @@ class MessageStorageDB(BaseDBOperator):
|
||||
def __init__(self, db_manager: DBConnectionManager):
|
||||
super().__init__(db_manager)
|
||||
|
||||
def archive_message(self, msg: WxMsg) -> bool:
|
||||
def archive_message(self, msg: WxMessage) -> bool:
|
||||
"""存档消息"""
|
||||
now_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
sql = """
|
||||
INSERT INTO messages (group_id, timestamp, sender, content, message_type, attachment_url, message_id, message_xml, message_thumb)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
"""
|
||||
params = (msg.roomid, now_time, msg.sender, msg.content, msg.type, msg.extra, msg.id, msg.xml, msg.thumb)
|
||||
params = (
|
||||
msg.roomid, now_time, msg.sender, msg.content, msg.msg_type, msg.content, msg.msg_id, msg.msg_source, "")
|
||||
result = self.execute_update(sql, params)
|
||||
return result
|
||||
|
||||
@@ -51,7 +51,6 @@ class MessageStorageDB(BaseDBOperator):
|
||||
"""
|
||||
return self.execute_query(sql, (date,)) or []
|
||||
|
||||
|
||||
def get_speech_ranking(self, date: str, group_id: str, limit: int = 20) -> List[Dict]:
|
||||
"""获取指定日期和群组的发言排名"""
|
||||
sql = """
|
||||
@@ -87,7 +86,6 @@ class MessageStorageDB(BaseDBOperator):
|
||||
params = (group_id, wx_id, date, count)
|
||||
return self.execute_update(sql, params)
|
||||
|
||||
|
||||
def get_message_trend(self, group_id: str, days: int = 7) -> List[Dict]:
|
||||
"""获取指定群组的消息趋势数据
|
||||
|
||||
@@ -111,7 +109,7 @@ class MessageStorageDB(BaseDBOperator):
|
||||
return self.execute_query(sql, (group_id, days)) or []
|
||||
|
||||
def get_messages_by_filter(self, group_id=None, start_date=None, end_date=None,
|
||||
search_text=None, page=1, page_size=20) -> Dict:
|
||||
search_text=None, page=1, page_size=20) -> Dict:
|
||||
"""按条件筛选消息并支持分页和模糊搜索
|
||||
|
||||
Args:
|
||||
@@ -200,11 +198,11 @@ class MessageStorageDB(BaseDBOperator):
|
||||
WHERE message_id = %s
|
||||
"""
|
||||
params = (image_path, message_id)
|
||||
|
||||
|
||||
# 执行更新操作
|
||||
result = self.execute_update(sql, params)
|
||||
return result
|
||||
except Exception as e:
|
||||
# 使用已有的日志记录方式
|
||||
print(f"更新消息图片路径出错: {e}")
|
||||
return False
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user