这类似于“小纸条”的处理吧,或者视为系统信息。当你订阅了(或系统默认订阅)好友的结交信息(或其他信息),每次发生此事件,系统创建记录写入数据库某张用户消息表(你的用户Id与当前消息正文等),下次你登陆的时候系统为你取出。或许我理解的过于简单,你找找类似成功案例学习一下最好。
也就是个数据库嘛
create table Event (
From int not null, --出发者
To int not null, --接受者
EventType int not null, --事件类型,前台做枚举
Message not null, --消息,可以用{0}{1}之类的,到时候String.Format
)
使用SQL
select * from Event where From = @CurrentUser and To = @CurrentUser
如果是我的话
每次A登录后
SQL
select ... from [发帖、留言、送礼等] where [user_id] in (
(select [user_a_id] from [好友关系映射表] where [user_b_id]=A的id)
Union
(select [user_b_id] from [好友关系映射表] where [user_a_id]=A的id)
)
大概这么是这个思路吧
同类型的定期再做个合并...