2 php7.4 中开辟一个websocket 谈天 表操持

[复制链接]
发表于 2026-1-27 07:56:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
表操持:

  1. -- 聊天记录表
  2. CREATE TABLE chat (
  3.     id INT PRIMARY KEY AUTO_INCREMENT, -- 聊天记录ID,自增主键
  4.     from_userid INT NOT NULL, -- 发送消息的用户ID
  5.     to_user_id INT NOT NULL, -- 接收消息的用户ID
  6.     from_companyId INT, -- 发送消息的公司ID
  7.     to_companyId INT, -- 接收消息的公司ID
  8.     from_company_name VARCHAR(255), -- 发送消息公司的名称
  9.     to_company_name VARCHAR(255), -- 接收消息公司的名称
  10.     from_role VARCHAR(50) NOT NULL, -- 发送者角色(字符串类型)
  11.     to_role VARCHAR(50) NOT NULL, -- 接收者角色(字符串类型)
  12.     create_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  13.     type ENUM('text', 'image', 'file', 'audio', 'video') NOT NULL, -- 消息类型,文本、图片、文件、语音、视频
  14.     text TEXT, -- 消息内容(适用于文本消息)
  15.     withdraw BOOLEAN DEFAULT FALSE, -- 是否撤回消息
  16.     withdraw_at TIMESTAMP NULL, -- 消息撤回时间
  17.     view_flag BOOLEAN DEFAULT FALSE, -- 消息是否已读
  18.     from_user_avatar VARCHAR(255), -- 发送消息用户的头像URL
  19.     to_user_avatar VARCHAR(255), -- 接收消息用户的头像URL
  20.     from_company_avatar VARCHAR(255), -- 发送消息公司头像URL
  21.     to_company_avatar VARCHAR(255) -- 接收消息公司头像URL
  22. );
  23. -- 订单关联表
  24. CREATE TABLE chat_order (
  25.     id INT PRIMARY KEY AUTO_INCREMENT, -- 订单记录ID,自增主键
  26.     order_id VARCHAR(50) NOT NULL, -- 订单编号
  27.     chat_id INT NOT NULL, -- 关联的聊天记录ID
  28.     type ENUM('product', 'service') NOT NULL, -- 订单类型,商品或服务
  29.     price DECIMAL(10, 2) NOT NULL, -- 订单价格,最多10位数,两位小数
  30.     customer_phone VARCHAR(20), -- 客户的联系电话
  31.     status ENUM('pending', 'completed', 'cancelled', 'failed') NOT NULL, -- 订单状态,待处理、已完成、已取消、失败
  32.     create_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间
  33.     FOREIGN KEY (chat_id) REFERENCES chat(id) -- 外键,关联聊天记录表的ID
  34. );
  35. -- 添加索引以优化查询性能
  36. CREATE INDEX idx_from_userid ON chat(from_userid); -- 发送消息用户ID索引
  37. CREATE INDEX idx_to_user_id ON chat(to_user_id); -- 接收消息用户ID索引
  38. CREATE INDEX idx_create_at ON chat(create_at); -- 创建时间索引
  39. CREATE INDEX idx_order_id ON chat_order(order_id); -- 订单编号索引
  40. CREATE INDEX idx_chat_id ON chat_order(chat_id); -- 聊天记录ID索引
  41. CREATE INDEX idx_type ON chat_order(type); -- 订单类型索引
  42. CREATE INDEX idx_status ON chat_order(status); -- 订单状态索引
  43. --- 加入好友表,为了减少代码量 将头象一类的信息都保存在里面
  44. CREATE TABLE `friend_list`  (
  45.   `id` int(12) NOT NULL AUTO_INCREMENT,
  46.   `user_id` int(10) NULL DEFAULT NULL COMMENT '主id',
  47.   `friend_id` int(10) NULL DEFAULT NULL COMMENT '好友的id',
  48.   `friend_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '好友的名',
  49.   `friend_header` varchar
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表