SQL скрипт для отметки прочтения истории загруженных диалогов / старых сообщений

Последние изменения: 29.11.2018

В Sherlock Platform признак прочтения выставляется по дате просмотра диалога. Все сообщения с датой, позднее чем дата просмотра, считаются не прочитанными. Если пользователь на просматривал диалог, то все его сообщения считаются не прочитанными.

Поэтому в соответствии с логикой нам надо для всех пар диалогов и пользователей создать запись с датой просмотра (текущей или другой необходимой).

Ниже приведен пример для обновления даты просмотра по текущей дате:

INSERT tbl_RequestUser(RequestID,UserID,ViewDate)
SELECT r.ID, u.ID, GETUTCDATE()
FROM tbl_Request r LEFT JOIN tbl_User u ON r.ID<>u.ID
LEFT JOIN tbl_RequestUser ru ON ru.RequestID=r.ID AND ru.UserID=u.ID
WHERE ru.ID IS NULL AND u.IsBot=0

Помогла ли вам статья?