优化更新的逻辑,减少数据变更项
This commit is contained in:
@@ -52,16 +52,17 @@ class ChatroomMemberMonitor:
|
||||
removed_wxids = [m['wxid'] for m in changes['removed']]
|
||||
self._remove_members_from_db(group_id, removed_wxids)
|
||||
|
||||
# 5.2 保存新增的成员
|
||||
# 5.2 保存新增的成员(使用原始API数据以正确映射字段)
|
||||
if changes['added']:
|
||||
self.db.save_chatroom_member_simple(group_id, changes['added'])
|
||||
added_raw = [m.get('raw_data', m) for m in changes['added']]
|
||||
self.db.save_chatroom_member_simple(group_id, added_raw)
|
||||
self.logger.info(f"群 {group_id} 新增 {len(changes['added'])} 名成员缓存")
|
||||
|
||||
# 5.3 更新修改的成员
|
||||
# 5.3 更新修改的成员(同样使用原始API数据)
|
||||
if changes['modified']:
|
||||
modified_members = [m['member'] for m in changes['modified']]
|
||||
self.db.save_chatroom_member_simple(group_id, modified_members)
|
||||
self.logger.info(f"群 {group_id} 更新 {len(modified_members)} 名成员缓存")
|
||||
modified_raw = [m['member'].get('raw_data', m['member']) for m in changes['modified']]
|
||||
self.db.save_chatroom_member_simple(group_id, modified_raw)
|
||||
self.logger.info(f"群 {group_id} 更新 {len(modified_raw)} 名成员缓存")
|
||||
|
||||
else:
|
||||
self.logger.info(f"群 {group_id} 成员无变化")
|
||||
|
||||
Reference in New Issue
Block a user