mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-28 04:40:37 +00:00
no message
This commit is contained in:
parent
8eb956f831
commit
ef2b1dd321
@ -1185,7 +1185,7 @@ class ProjectTask extends AbstractModel
|
||||
public function completeTask($complete_at)
|
||||
{
|
||||
AbstractModel::transaction(function () use ($complete_at) {
|
||||
$addMsg = empty($this->parent_id) && $this->dialog_id > 0;
|
||||
$addMsg = $this->parent_id == 0 && $this->dialog_id > 0;
|
||||
if ($complete_at === null) {
|
||||
// 标记未完成
|
||||
$this->complete_at = null;
|
||||
@ -1193,7 +1193,7 @@ class ProjectTask extends AbstractModel
|
||||
if ($addMsg) {
|
||||
WebSocketDialogMsg::sendMsg(null, $this->dialog_id, 'notice', [
|
||||
'notice' => '标记任务未完成'
|
||||
], 0, true);
|
||||
], 0, true, true);
|
||||
}
|
||||
} else {
|
||||
// 标记已完成
|
||||
@ -1210,7 +1210,7 @@ class ProjectTask extends AbstractModel
|
||||
if ($addMsg) {
|
||||
WebSocketDialogMsg::sendMsg(null, $this->dialog_id, 'notice', [
|
||||
'notice' => '标记任务已完成'
|
||||
], 0, true);
|
||||
], 0, true, true);
|
||||
}
|
||||
}
|
||||
$this->save();
|
||||
|
||||
@ -152,7 +152,7 @@ class WebSocketDialog extends AbstractModel
|
||||
]);
|
||||
WebSocketDialogMsg::sendMsg(null, $this->id, 'notice', [
|
||||
'notice' => User::userid2nickname($value) . " 已加入群组"
|
||||
], $inviter, true);
|
||||
], $inviter, true, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -197,7 +197,9 @@ class WebSocketDialog extends AbstractModel
|
||||
} else {
|
||||
$notice = User::userid2nickname($item->userid) . " 退出群组";
|
||||
}
|
||||
WebSocketDialogMsg::sendMsg(null, $this->id, 'notice', ['notice' => $notice], User::userid(), true);
|
||||
WebSocketDialogMsg::sendMsg(null, $this->id, 'notice', [
|
||||
'notice' => $notice
|
||||
], User::userid(), true, true);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@ -526,9 +526,10 @@ class WebSocketDialogMsg extends AbstractModel
|
||||
* @param array $msg 发送的消息
|
||||
* @param int $sender 发送的会员ID(默认自己,0为系统)
|
||||
* @param bool $push_self 是否推送给自己
|
||||
* @param bool $push_retry 推送失败后重试1次(有时候在事务里执行,数据还没生成时会出现找不到消息的情况)
|
||||
* @return array
|
||||
*/
|
||||
public static function sendMsg($action, $dialog_id, $type, $msg, $sender = 0, $push_self = false)
|
||||
public static function sendMsg($action, $dialog_id, $type, $msg, $sender = 0, $push_self = false, $push_retry = false)
|
||||
{
|
||||
$link = 0;
|
||||
$mtype = $type;
|
||||
@ -612,6 +613,9 @@ class WebSocketDialogMsg extends AbstractModel
|
||||
if ($push_self) {
|
||||
$task->setIgnoreFd(null);
|
||||
}
|
||||
if ($push_retry) {
|
||||
$task->setMsgNotExistRetry(true);
|
||||
}
|
||||
Task::deliver($task);
|
||||
//
|
||||
return Base::retSuccess('发送成功', $dialogMsg);
|
||||
|
||||
@ -21,15 +21,17 @@ class WebSocketDialogMsgTask extends AbstractTask
|
||||
{
|
||||
protected $id;
|
||||
protected $ignoreFd;
|
||||
protected $msgNotExistRetry = false;
|
||||
|
||||
/**
|
||||
* WebSocketDialogMsgTask constructor.
|
||||
* @param int $id 消息ID
|
||||
* @param mixed $ignoreFd
|
||||
*/
|
||||
public function __construct($id)
|
||||
public function __construct($id, $ignoreFd = null)
|
||||
{
|
||||
$this->id = $id;
|
||||
$this->ignoreFd = Request::header('fd');
|
||||
$this->ignoreFd = $ignoreFd === null ? Request::header('fd') : $ignoreFd;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -40,6 +42,14 @@ class WebSocketDialogMsgTask extends AbstractTask
|
||||
$this->ignoreFd = $ignoreFd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $msgNotExistRetry
|
||||
*/
|
||||
public function setMsgNotExistRetry(bool $msgNotExistRetry): void
|
||||
{
|
||||
$this->msgNotExistRetry = $msgNotExistRetry;
|
||||
}
|
||||
|
||||
public function start()
|
||||
{
|
||||
global $_A;
|
||||
@ -50,6 +60,11 @@ class WebSocketDialogMsgTask extends AbstractTask
|
||||
//
|
||||
$msg = WebSocketDialogMsg::find($this->id);
|
||||
if (empty($msg)) {
|
||||
if ($this->msgNotExistRetry) {
|
||||
$task = new WebSocketDialogMsgTask($this->id, $this->ignoreFd || '');
|
||||
$task->delay(1);
|
||||
$this->addTask($task);
|
||||
}
|
||||
return;
|
||||
}
|
||||
$dialog = WebSocketDialog::find($msg->dialog_id);
|
||||
|
||||
@ -682,7 +682,7 @@ export default {
|
||||
this.msgNew += tmpList.length
|
||||
} else {
|
||||
if (!this.preventToBottom) {
|
||||
requestAnimationFrame(this.onToBottom)
|
||||
this.$nextTick(this.onToBottom)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user