我们需要在基于 Spring MVC 的 Web 应用程序中创建一个聊天功能。
聊天会有一对一聊天和群聊两种。
对于群聊,我提出了以下架构。
Table = group_chat
User_id, message, message_on (datetime), group_id
不过,我不确定一对一的聊天。
一对一聊天可能发生在组外或组内两个组成员之间。
请帮忙
我们需要在基于 Spring MVC 的 Web 应用程序中创建一个聊天功能。
聊天会有一对一聊天和群聊两种。
对于群聊,我提出了以下架构。
Table = group_chat
User_id, message, message_on (datetime), group_id
不过,我不确定一对一的聊天。
一对一聊天可能发生在组外或组内两个组成员之间。
请帮忙
您的问题有点开放式,因为我们对您的架构或要求一无所知。但是,对于本质上相同类型的数据,拥有两个单独的表对我来说就像是代码异味。我可能会从这样的结构开始,并根据它的执行方式对其进行迭代。
USERS
user_id
username
password
GROUP
group_id
name
GROUP_MEMBERS
group_id
user_id
MESSAGE
message_id
timestamp
from_user_id
destination_type (enum - group, user)
destination_id
您对聊天功能所做的任何添加都会自动传播到点对点和群聊。当然,这也要求您的代码遵循将两种聊天类型组合到同一个类中的相同原则。