当发送一条系统消息时,所有的用户都会出现一条未读消息,这个消息可以标记为已读或者删除,那么这如何进行数据库设计?
设计一张消息表,用来存储具体每条消息,不管是系统消息还是对私消息设计一张消息处理日志表,日志设计(1: 已读、-1:已删状态)当用户读取该消息时,在消息日志表中添加一条(用户id,消息id,消息状态已读的数据)当用户删除谋条消息时,在消息日志表中查询是否有该条用户已读日志,如果有就更新状态为-1:删除,如果没有记录则直接添加一条状态为-1:删除的记录读取消息列表的时候,级联查询对应用户id的消息表和消息日志表,并且限制查询条件为日志操作状态>0,就可以列表查询出未删除的同时标记已读和未读的数据列表
赞0
踩0