params = $params; } public function handle() { try { $userModel = new UserModel(); $fromUserInfo = $userModel->where('code', $this->params['from_uid'])->first(['nick', 'avatar']); $receiveUserInfo = $userModel->where('code', $this->params['receive_uid'])->first(['nick', 'avatar']); $date = date('Y-m-d H:i:s'); $chatData = [ 'subject' => '用户聊天', 'struct_type' => $this->params['msg_type'], 'receive_uid' => $this->params['receive_uid'], 'receive_nick' => $receiveUserInfo->nick, 'receive_avatar' => $receiveUserInfo->avatar, 'receive_type' => 'user', 'from_uid' => $this->params['from_uid'], 'from_nick' => $fromUserInfo->nick, 'from_avatar' => $fromUserInfo->avatar, 'from_type' => 'user', 'created_at' => toMongoIsoDate(Carbon::parse($date)), 'updated_at' => toMongoIsoDate(Carbon::parse($date)), 'read_at' => $this->params['read_at'], 'content' => json_encode(['message' => $this->params['message']], JSON_UNESCAPED_UNICODE), ]; make(MessageModel::class)->db()->insertOne($chatData); } catch (\Exception $exception) { logger('SaveChatRecordJob', [$exception->getMessage(), json_encode($this->params, JSON_UNESCAPED_UNICODE)]); } } }