日期:2014-05-18  浏览次数:20406 次

关于站内信,求一思路
公司项目站内信模块我已基本完成,但现在有一难点,不知道如何解决,请高手指导一下。
  站内信分为两种,一种系统站内信,一种用户间的站内信,当发送系统站内信时我的想法是就添加一条记录让所有用户都可以看到,未读信息的样式是字体加粗,如果就系统站内信一条的话该怎样控制每个用户是否已读的状态呢?

------解决方案--------------------
具体看你的用户数多与少咯,少的话加个字段表示已阅读的用户ID列表,不符合范式但挺方便。
多的话还是再做另外一个表吧,每读一个就插入一行记录。
------解决方案--------------------
设计时,无直接关联的东西不要硬往一块凑合。

“用户已读站内信”如果谁的一部分也不是,那么你就可以把直接把它作为一个的单独的用户读取站内信对象(对于关系数据库来说就是一个单独的表来记录什么时候哪个用户读了那条站内信)。当一个用户的工作网页需要显示一些站内信,它可以使用站内信对象与用户读取站内信对象的关系来过滤,例如对于关系数据库就是使用一个 not exists 子查询表述。