文本聊天已完成
This commit is contained in:
@@ -2,9 +2,11 @@
|
||||
|
||||
namespace App\Services\GatewayWorker;
|
||||
|
||||
use App\Models\im\ChatRoomUserModel;
|
||||
use App\Models\UserModel;
|
||||
use App\Services\Base\BaseService;
|
||||
|
||||
class UserService
|
||||
class UserService extends BaseService
|
||||
{
|
||||
public function login($username, $password)
|
||||
{
|
||||
@@ -23,10 +25,11 @@ class UserService
|
||||
}
|
||||
}
|
||||
|
||||
public function register($username, $password, $nickName)
|
||||
public function register($username, $password, $nickName, $avatar)
|
||||
{
|
||||
$userModel = UserModel::create([
|
||||
'username' => $username,
|
||||
'$avatar' => $$avatar,
|
||||
'password' => md5($password),
|
||||
'nick_name' => $nickName,
|
||||
'created_at' => time()
|
||||
@@ -37,4 +40,23 @@ class UserService
|
||||
'user_info' => $userModel
|
||||
];
|
||||
}
|
||||
|
||||
public function userList()
|
||||
{
|
||||
$userModel = UserModel::where('id', '<>', $this->userId)->get();
|
||||
if (empty($userModel)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$myRooms = ChatRoomUserModel::where('user_id', $this->userId)->pluck('chat_room_id');
|
||||
$allRooms = ChatRoomUserModel::where('user_id', '<>', $this->userId)->whereIn('chat_room_id', $myRooms)->get();
|
||||
$roomsMap = array_column($allRooms->toArray(), 'chat_room_id', 'user_id');
|
||||
$userModel = $userModel->toArray();
|
||||
$gatewayClient = GatewayClientService::getInstance()->init();
|
||||
foreach ($userModel as &$v) {
|
||||
$v['is_uid_online'] = $gatewayClient->isUidOnline($v['id']);
|
||||
$v['chat_room_id'] = !empty($roomsMap[$v['id']])? $roomsMap[$v['id']] : 0;
|
||||
}
|
||||
return $userModel;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user