perf: 消息添加'未读标记'字段

This commit is contained in:
韦荣超
2022-03-08 13:09:12 +08:00
parent 0f6408d7f6
commit e0e3dd128e
4 changed files with 51 additions and 9 deletions

View File

@@ -105,7 +105,9 @@ class WebSocketDialog extends AbstractModel
$last_msg = WebSocketDialogMsg::whereDialogId($dialog->id)->orderByDesc('id')->first();
$dialog->last_msg = $last_msg;
// 未读信息
$dialog->unread = WebSocketDialogMsgRead::whereDialogId($dialog->id)->whereUserid($userid)->whereReadAt(null)->count();
$unread = WebSocketDialogMsgRead::whereDialogId($dialog->id)->whereUserid($userid)->whereReadAt(null)->count();
$isMarkUnread = WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($userid)->whereIsMarkUnread(1)->exists();
$dialog->unread = $unread > 0 ? $unread : ($isMarkUnread ? 1 : 0);
// 对话人数
$builder = WebSocketDialogUser::whereDialogId($dialog->id);
$dialog->people = $builder->count();