mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 11:19:56 +00:00
fix: 全员群禁言仅管理员可发言无效的问题
This commit is contained in:
parent
13560616c8
commit
0adbdbdf1b
@ -389,7 +389,7 @@ class WebSocketDialog extends AbstractModel
|
|||||||
case 'all':
|
case 'all':
|
||||||
throw new ApiException('当前会话全员禁言');
|
throw new ApiException('当前会话全员禁言');
|
||||||
case 'user':
|
case 'user':
|
||||||
if (!User::find($userid)?->checkAdmin()) {
|
if (!User::find($userid)?->isAdmin()) {
|
||||||
throw new ApiException('当前会话禁言');
|
throw new ApiException('当前会话禁言');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -774,14 +774,14 @@ class WebSocketDialogMsg extends AbstractModel
|
|||||||
* @param int $dialog_id 会话ID(即 聊天室ID)
|
* @param int $dialog_id 会话ID(即 聊天室ID)
|
||||||
* @param string $type 消息类型
|
* @param string $type 消息类型
|
||||||
* @param array $msg 发送的消息
|
* @param array $msg 发送的消息
|
||||||
* @param int $sender 发送的会员ID(默认自己,0为系统)
|
* @param int|null $sender 发送的会员ID(默认自己,0为系统)
|
||||||
* @param bool $push_self 推送-是否推给自己
|
* @param bool $push_self 推送-是否推给自己
|
||||||
* @param bool $push_retry 推送-失败后重试1次(有时候在事务里执行,数据还没生成时会出现找不到消息的情况)
|
* @param bool $push_retry 推送-失败后重试1次(有时候在事务里执行,数据还没生成时会出现找不到消息的情况)
|
||||||
* @param bool|null $push_silence 推送-静默
|
* @param bool|null $push_silence 推送-静默
|
||||||
* - type = [text|file|record|meeting] 默认为:false
|
* - type = [text|file|record|meeting] 默认为:false
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function sendMsg($action, $dialog_id, $type, $msg, $sender = 0, $push_self = false, $push_retry = false, $push_silence = null)
|
public static function sendMsg($action, $dialog_id, $type, $msg, $sender = null, $push_self = false, $push_retry = false, $push_silence = null)
|
||||||
{
|
{
|
||||||
$link = 0;
|
$link = 0;
|
||||||
$mtype = $type;
|
$mtype = $type;
|
||||||
@ -810,13 +810,15 @@ class WebSocketDialogMsg extends AbstractModel
|
|||||||
//
|
//
|
||||||
$update_id = preg_match("/^update-(\d+)$/", $action, $match) ? $match[1] : 0;
|
$update_id = preg_match("/^update-(\d+)$/", $action, $match) ? $match[1] : 0;
|
||||||
$reply_id = preg_match("/^reply-(\d+)$/", $action, $match) ? $match[1] : 0;
|
$reply_id = preg_match("/^reply-(\d+)$/", $action, $match) ? $match[1] : 0;
|
||||||
$sender = $sender ?: User::userid();
|
$sender = $sender === null ? User::userid() : $sender;
|
||||||
//
|
//
|
||||||
$dialog = WebSocketDialog::find($dialog_id);
|
$dialog = WebSocketDialog::find($dialog_id);
|
||||||
if (empty($dialog)) {
|
if (empty($dialog)) {
|
||||||
throw new ApiException('获取会话失败');
|
throw new ApiException('获取会话失败');
|
||||||
}
|
}
|
||||||
$dialog->checkMute($sender);
|
if ($sender > 0) {
|
||||||
|
$dialog->checkMute($sender);
|
||||||
|
}
|
||||||
//
|
//
|
||||||
if ($update_id) {
|
if ($update_id) {
|
||||||
// 修改
|
// 修改
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user