mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-01 18:38:13 +00:00
no message
This commit is contained in:
parent
428d2eb795
commit
8df3611e7d
@ -48,7 +48,7 @@ class DialogController extends AbstractController
|
|||||||
->orderByDesc('web_socket_dialogs.last_at')
|
->orderByDesc('web_socket_dialogs.last_at')
|
||||||
->paginate(Base::getPaginate(200, 100));
|
->paginate(Base::getPaginate(200, 100));
|
||||||
$list->transform(function (WebSocketDialog $item) use ($user) {
|
$list->transform(function (WebSocketDialog $item) use ($user) {
|
||||||
return WebSocketDialog::formatData($item, $user->userid);
|
return $item->formatData($user->userid);
|
||||||
});
|
});
|
||||||
//
|
//
|
||||||
return Base::retSuccess('success', $list);
|
return Base::retSuccess('success', $list);
|
||||||
@ -80,7 +80,7 @@ class DialogController extends AbstractController
|
|||||||
->where('u.userid', $user->userid)
|
->where('u.userid', $user->userid)
|
||||||
->first();
|
->first();
|
||||||
if ($item) {
|
if ($item) {
|
||||||
$item = WebSocketDialog::formatData($item, $user->userid);
|
$item = $item->formatData($user->userid);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
return Base::retSuccess('success', $item);
|
return Base::retSuccess('success', $item);
|
||||||
@ -113,7 +113,7 @@ class DialogController extends AbstractController
|
|||||||
if (empty($dialog)) {
|
if (empty($dialog)) {
|
||||||
return Base::retError('打开会话失败');
|
return Base::retError('打开会话失败');
|
||||||
}
|
}
|
||||||
$data = WebSocketDialog::formatData(WebSocketDialog::find($dialog->id), $user->userid);
|
$data = WebSocketDialog::find($dialog->id)?->formatData($user->userid);
|
||||||
if (empty($data)) {
|
if (empty($data)) {
|
||||||
return Base::retError('打开会话错误');
|
return Base::retError('打开会话错误');
|
||||||
}
|
}
|
||||||
@ -164,7 +164,7 @@ class DialogController extends AbstractController
|
|||||||
//
|
//
|
||||||
$data = $list->toArray();
|
$data = $list->toArray();
|
||||||
if ($list->currentPage() === 1) {
|
if ($list->currentPage() === 1) {
|
||||||
$data['dialog'] = WebSocketDialog::formatData($dialog, $user->userid);
|
$data['dialog'] = $dialog->formatData($user->userid);
|
||||||
}
|
}
|
||||||
return Base::retSuccess('success', $data);
|
return Base::retSuccess('success', $data);
|
||||||
}
|
}
|
||||||
@ -597,7 +597,7 @@ class DialogController extends AbstractController
|
|||||||
if (empty($dialog)) {
|
if (empty($dialog)) {
|
||||||
return Base::retError('创建群组失败');
|
return Base::retError('创建群组失败');
|
||||||
}
|
}
|
||||||
$dialog->pushMsg("groupAdd", WebSocketDialog::formatData($dialog, $user->userid), $userids);
|
$dialog->pushMsg("groupAdd", $dialog->formatData($user->userid), $userids);
|
||||||
return Base::retSuccess('创建成功', $dialog);
|
return Base::retSuccess('创建成功', $dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -706,7 +706,7 @@ class DialogController extends AbstractController
|
|||||||
}
|
}
|
||||||
//
|
//
|
||||||
$dialog->joinGroup($userids);
|
$dialog->joinGroup($userids);
|
||||||
$dialog->pushMsg("groupJoin", WebSocketDialog::formatData($dialog, $user->userid), $userids);
|
$dialog->pushMsg("groupJoin", $dialog->formatData($user->userid), $userids);
|
||||||
return Base::retSuccess('添加成功');
|
return Base::retSuccess('添加成功');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -183,45 +183,41 @@ class WebSocketDialog extends AbstractModel
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 格式化对话
|
* 格式化对话
|
||||||
* @param WebSocketDialog $dialog
|
|
||||||
* @param int $userid 会员ID
|
* @param int $userid 会员ID
|
||||||
* @return self|null
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public static function formatData(WebSocketDialog $dialog, $userid)
|
public function formatData($userid)
|
||||||
{
|
{
|
||||||
if (empty($dialog)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
// 最后消息
|
// 最后消息
|
||||||
$last_msg = WebSocketDialogMsg::whereDialogId($dialog->id)->orderByDesc('id')->first();
|
$last_msg = WebSocketDialogMsg::whereDialogId($this->id)->orderByDesc('id')->first();
|
||||||
$dialog->last_msg = $last_msg;
|
$this->last_msg = $last_msg;
|
||||||
// 未读信息
|
// 未读信息
|
||||||
$dialog->unread = WebSocketDialogMsgRead::whereDialogId($dialog->id)->whereUserid($userid)->whereReadAt(null)->count();
|
$this->unread = WebSocketDialogMsgRead::whereDialogId($this->id)->whereUserid($userid)->whereReadAt(null)->count();
|
||||||
$dialog->mark_unread = $dialog->mark_unread ?? WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($userid)->value('mark_unread');
|
$this->mark_unread = $this->mark_unread ?? WebSocketDialogUser::whereDialogId($this->id)->whereUserid($userid)->value('mark_unread');
|
||||||
// 对话人数
|
// 对话人数
|
||||||
$builder = WebSocketDialogUser::whereDialogId($dialog->id);
|
$builder = WebSocketDialogUser::whereDialogId($this->id);
|
||||||
$dialog->people = $builder->count();
|
$this->people = $builder->count();
|
||||||
// 对方信息
|
// 对方信息
|
||||||
$dialog->dialog_user = null;
|
$this->dialog_user = null;
|
||||||
$dialog->group_info = null;
|
$this->group_info = null;
|
||||||
$dialog->top_at = $dialog->top_at ?? WebSocketDialogUser::whereDialogId($dialog->id)->whereUserid($userid)->value('top_at');
|
$this->top_at = $this->top_at ?? WebSocketDialogUser::whereDialogId($this->id)->whereUserid($userid)->value('top_at');
|
||||||
switch ($dialog->type) {
|
switch ($this->type) {
|
||||||
case "user":
|
case "user":
|
||||||
$dialog_user = $builder->where('userid', '!=', $userid)->first();
|
$dialog_user = $builder->where('userid', '!=', $userid)->first();
|
||||||
$dialog->name = User::userid2nickname($dialog_user->userid);
|
$this->name = User::userid2nickname($dialog_user->userid);
|
||||||
$dialog->dialog_user = $dialog_user;
|
$this->dialog_user = $dialog_user;
|
||||||
break;
|
break;
|
||||||
case "group":
|
case "group":
|
||||||
if ($dialog->group_type === 'project') {
|
if ($this->group_type === 'project') {
|
||||||
$dialog->group_info = Project::withTrashed()->select(['id', 'name', 'archived_at', 'deleted_at'])->whereDialogId($dialog->id)->first()?->cancelAppend()->cancelHidden();
|
$this->group_info = Project::withTrashed()->select(['id', 'name', 'archived_at', 'deleted_at'])->whereDialogId($this->id)->first()?->cancelAppend()->cancelHidden();
|
||||||
$dialog->name = $dialog->group_info ? $dialog->group_info->name : '';
|
$this->name = $this->group_info ? $this->group_info->name : '';
|
||||||
} elseif ($dialog->group_type === 'task') {
|
} elseif ($this->group_type === 'task') {
|
||||||
$dialog->group_info = ProjectTask::withTrashed()->select(['id', 'name', 'complete_at', 'archived_at', 'deleted_at'])->whereDialogId($dialog->id)->first()?->cancelAppend()->cancelHidden();
|
$this->group_info = ProjectTask::withTrashed()->select(['id', 'name', 'complete_at', 'archived_at', 'deleted_at'])->whereDialogId($this->id)->first()?->cancelAppend()->cancelHidden();
|
||||||
$dialog->name = $dialog->group_info ? $dialog->group_info->name : '';
|
$this->name = $this->group_info ? $this->group_info->name : '';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return $dialog;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user