优化更新的逻辑,减少数据变更项

This commit is contained in:
liuwei
2026-01-19 15:54:46 +08:00
parent b62fc929f8
commit 94aaa1aae5

View File

@@ -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} 成员无变化")