fix:1. 修改消息时@成员不会拉进群 2. @的时候,会话以外成员排序更改为前5名为最近联系的人 3. 审批中心时间后面加周几 4.审批拒绝不能输入表情的bug修复

This commit is contained in:
weifashi
2023-08-09 18:33:00 +08:00
parent 5b1fc8af84
commit 9944dc4693
6 changed files with 73 additions and 29 deletions

View File

@@ -91,33 +91,13 @@ class WebSocketDialogMsgTask extends AbstractTask
if (empty($dialog)) {
return;
}
$updateds = [];
$silences = [];
foreach ($dialog->dialogUser as $dialogUser) {
$updateds[$dialogUser->userid] = $dialogUser->updated_at;
$silences[$dialogUser->userid] = $dialogUser->silence;
}
$userids = array_keys($silences);
// 提及会员
$mentions = [];
if ($msg->type === 'text') {
preg_match_all("/<span class=\"mention user\" data-id=\"(\d+)\">/", $msg->msg['text'], $matchs);
if ($matchs) {
$mentions = array_values(array_filter(array_unique($matchs[1])));
}
}
// 将会话以外的成员加入会话内
$diffids = array_values(array_diff($mentions, $userids));
if ($diffids) {
// 仅(群聊)且(是群主或没有群主)才可以@成员以外的人
if ($dialog->type === 'group' && in_array($dialog->owner_id, [0, $msg->userid])) {
$dialog->joinGroup($diffids, $msg->userid);
$dialog->pushMsg("groupJoin", null, $diffids);
$userids = array_values(array_unique(array_merge($mentions, $userids)));
}
}
$msgJoinGroupResult = $msg->msgJoinGroup($dialog, $msg);
$updateds = $msgJoinGroupResult['updateds'];
$silences = $msgJoinGroupResult['silences'];
$userids = $msgJoinGroupResult['userids'];
$mentions = $msgJoinGroupResult['mentions'];
// 推送目标①:会话成员/群成员
$array = [];