-- 企业微信聊天记录 (CRM 绑定版) - SQLite 建表参考 -- 实际使用时脚本已自动创建, 此文件仅供查看/迁移 -- 企业微信聊天记录 (CRM 绑定版) - SQLite 建表 -- zyt_wx_chat_messages 消息表: sender_unionid 为外部联系人的微信 unionid, 可直接与 CRM 客户表关联 CREATE TABLE IF NOT EXISTS zyt_wx_chat_messages ( id INTEGER PRIMARY KEY AUTOINCREMENT, account TEXT, -- 企微账号 (用户目录ID) conversation_id TEXT, -- 会话ID (M:单聊 / S:群聊 / R:命名群 / Y:应用) conversation_name TEXT, -- 会话名称 sender_id TEXT, -- 发送者企微用户ID sender_name TEXT, -- 发送者名称 sender_unionid TEXT, -- 发送者微信 unionid (外部联系人, CRM 绑定键) sender_userid TEXT, -- 发送者企微 userid (内部成员) sender_mobile TEXT, -- 发送者手机号 msg_type INTEGER, -- 原始消息类型码 msg_type_name TEXT, -- 消息类型名称 content TEXT, -- 消息内容 send_time TEXT, -- 发送时间 (YYYY-MM-DD HH:MM:SS) message_seq INTEGER, -- 消息序号 message_id INTEGER, -- 本地消息ID server_id INTEGER, -- 服务器消息ID client_id TEXT, -- 客户端消息ID media_file_path TEXT, -- 媒体文件本地路径 (图片/语音/视频/文件) media_url TEXT -- CDN URL (本地无缓存时记录) ); CREATE INDEX IF NOT EXISTS idx_msg_time ON zyt_wx_chat_messages(send_time); CREATE INDEX IF NOT EXISTS idx_msg_unionid ON zyt_wx_chat_messages(sender_unionid); CREATE INDEX IF NOT EXISTS idx_msg_userid ON zyt_wx_chat_messages(sender_userid); CREATE INDEX IF NOT EXISTS idx_msg_conv ON zyt_wx_chat_messages(conversation_id); CREATE INDEX IF NOT EXISTS idx_msg_account ON zyt_wx_chat_messages(account); -- zyt_wx_chat_users 联系人表 (CRM 绑定依据) CREATE TABLE IF NOT EXISTS zyt_wx_chat_users ( id INTEGER PRIMARY KEY, -- 企微用户ID name TEXT, -- 昵称 real_name TEXT, -- 真实姓名 account TEXT, -- 企微 userid (内部成员) unionid TEXT, -- 微信 unionid (外部联系人) mobile TEXT, -- 手机号 email TEXT, -- 邮箱 position TEXT, -- 职位 gender INTEGER, -- 性别 external_corp_name TEXT, -- 外部企业名 external_job TEXT, -- 外部职位 corp_id INTEGER -- 企业ID ); CREATE INDEX IF NOT EXISTS idx_user_unionid ON zyt_wx_chat_users(unionid); CREATE INDEX IF NOT EXISTS idx_user_account ON zyt_wx_chat_users(account); -- zyt_wx_chat_conversations 会话表 CREATE TABLE IF NOT EXISTS zyt_wx_chat_conversations ( id TEXT PRIMARY KEY, -- 会话ID account TEXT, -- 企微账号 name TEXT, -- 会话名称 roomname_remark TEXT, -- 群备注 session_id TEXT, -- 内部会话ID create_time TEXT, last_message_time TEXT, is_sticked INTEGER, is_marked INTEGER, is_blocked INTEGER, customer_room_type INTEGER );