添加系统提示消息

main
gzydong 2021-07-23 22:48:25 +08:00
parent 4620dbc52d
commit 057371d9a1
3 changed files with 26 additions and 9 deletions

View File

@ -9,13 +9,14 @@ namespace App\Constants;
*/
class TalkMessageType
{
const TEXT_MESSAGE = 1;//文本消息
const FILE_MESSAGE = 2;//文件消息
const FORWARD_MESSAGE = 3;//会话消息
const CODE_MESSAGE = 4;//代码消息
const VOTE_MESSAGE = 5;//投票消息
const GROUP_NOTICE_MESSAGE = 6;//群组公告
const FRIEND_APPLY_MESSAGE = 7;//好友申请
const USER_LOGIN_MESSAGE = 8;//登录通知
const GROUP_INVITE_MESSAGE = 9;//入群退群消息
const SYSTEM_TEXT_MESSAGE = 0; //系统文本消息
const TEXT_MESSAGE = 1; //文本消息
const FILE_MESSAGE = 2; //文件消息
const FORWARD_MESSAGE = 3; //会话消息
const CODE_MESSAGE = 4; //代码消息
const VOTE_MESSAGE = 5; //投票消息
const GROUP_NOTICE_MESSAGE = 6; //群组公告
const FRIEND_APPLY_MESSAGE = 7; //好友申请
const USER_LOGIN_MESSAGE = 8; //登录通知
const GROUP_INVITE_MESSAGE = 9; //入群退群消息
}

View File

@ -81,6 +81,21 @@ class TalkService extends BaseService
});
$rows = $rowsSqlObj->orderBy('talk_records.id', 'desc')->limit($limit)->get()->toArray();
if ($record_id === 0 && $talk_type == TalkModeConstant::PRIVATE_CHAT) {
if (!di()->get(UserFriendService::class)->isFriend($user_id, $receiver_id, true)) {
array_unshift($rows, [
'id' => ($rows[0]['id'] ?? 0) + 1,
'talk_type' => TalkModeConstant::PRIVATE_CHAT,
'msg_type' => TalkMessageType::SYSTEM_TEXT_MESSAGE,
'user_id' => 0,
'receiver_id' => $user_id,
'content' => '你与对方已解除好友关系,系统已禁止发送消息!',
'created_at' => date('Y-m-d H:i:s'),
]);
}
}
return di()->get(FormatMessageService::class)->handleChatRecords($rows);
}

View File

@ -36,6 +36,7 @@ class UserFriendService
public function isFriend(int $user_id, int $friend_id, $is_mutual = false)
{
$isTrue1 = UsersFriend::where('user_id', $user_id)->where('friend_id', $friend_id)->where('status', 1)->exists();
if ($is_mutual === false) {
return $isTrue1;
}