欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求个站内信的设计思路

程序员文章站 2022-05-13 15:37:36
...
求个站内信的设计思路,要求类似于 微信,例如:

A给B发站内信,会创建一个对话,点开对话,就是A和B的聊天记录

难点:

1,A删除了聊天记录中的一条,但B的聊天记录不变

2,A删除了对话,但B的对话不变

求mysql表设计思路,多谢!!!


回复讨论(解决方案)

userid 用户id
conten 会话内容
del 删除标志 :1 删除

userid 用户id
conten 会话内容
del 删除标志 :1 删除



亲,能说详细点么?谢谢

表结构。
id, type, own_id, user_id, content, status, addtime, lastmodify

type: 1表示发出的 2表示收到的
own_id:表示自己的id
user_id:表示对方的id
content: 内容
status: 1显示 0删除
addtime:发布时间
lastmodify:最后修改时间(如没可以不用)


当id=1的人发信息给id=2的人。发送后,表记录如下

id type own_id user_id content addtime lastmodify
1 1 1 2 内容 发布时间 修改时间
2 2 2 1 内容 发布时间 修改时间

第一条记录表示 id=1发了一条信息给id=2
第二条记录表示id=2 收到id=1的一条信息。
当id=1的删了信息,对id=2的信息列表也不会影响,反之一样。

所以要看自己与某人发出与收到的记录。
select * from table where own_id=xxx and user_id=xxx and status=1就可以了。

所以要看自己与某人发出与收到的记录。
select * from table where own_id=xxx and user_id=xxx and status=1就可以了。



嗯,我已经实现了,用了4个表。