- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/ViewedService.php
- Класс: BitrixImV2MessageViewedService
- Вызов: ViewedService::getLastMessageIdsBetween
private function getLastMessageIdsBetween(Message $message, int $lowerBound, bool $includeBound): array
{
$operator = $includeBound ? '>=' : '>';
$query = MessageTable::query()
->setSelect(['ID'])
->where('CHAT_ID', $message->getChatId())
->where('ID', '<=', $message->getMessageId())
->where('ID', $operator, $lowerBound)
->setOrder(['ID' => 'DESC'])
->setLimit(100)
;
if ($message->getChat()->getType() !== IM_MESSAGE_SYSTEM)
{
$query->whereNot('AUTHOR_ID', $this->getContext()->getUserId());
}
return $query->fetchCollection()->getIdList();
}