调整趋势图功能,加入了查询数据库,分析群聊聊天数量的功能
This commit is contained in:
+24
-1
@@ -84,4 +84,27 @@ class MessageStorageDB(BaseDBOperator):
|
||||
ON DUPLICATE KEY UPDATE count = VALUES(count)
|
||||
"""
|
||||
params = (group_id, wx_id, date, count)
|
||||
return self.execute_update(sql, params)
|
||||
return self.execute_update(sql, params)
|
||||
|
||||
|
||||
def get_message_trend(self, group_id: str, days: int = 7) -> List[Dict]:
|
||||
"""获取指定群组的消息趋势数据
|
||||
|
||||
Args:
|
||||
group_id: 群组ID
|
||||
days: 获取最近几天的数据,默认7天
|
||||
|
||||
Returns:
|
||||
包含日期和消息数量的列表
|
||||
"""
|
||||
sql = """
|
||||
SELECT
|
||||
DATE(timestamp) as date,
|
||||
COUNT(*) as message_count
|
||||
FROM messages
|
||||
WHERE group_id = %s
|
||||
AND timestamp >= DATE_SUB(CURDATE(), INTERVAL %s DAY)
|
||||
GROUP BY DATE(timestamp)
|
||||
ORDER BY date
|
||||
"""
|
||||
return self.execute_query(sql, (group_id, days)) or []
|
||||
Reference in New Issue
Block a user