powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Механизм прочитывания сообщений в чате.
15 сообщений из 15, страница 1 из 1
Механизм прочитывания сообщений в чате.
    #39645023
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть общий чат, где могут общаться люди.

Есть таблица для чата:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE IF NOT EXISTS `chat2help2`.`globalMessage` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `userId` INT NOT NULL,
  `type` VARCHAR(45) NULL,
  `message` LONGTEXT NULL,
  `fileId` INT NOT NULL,
  `time` VARCHAR(255) NULL,
  `date` VARCHAR(255) NULL,
  `status` TINYINT(1) NULL DEFAULT 0,
  `created` TIMESTAMP(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
  PRIMARY KEY (`id`, `siteId`, `userId`, `fileId`)
ENGINE = InnoDB;



есть поле status - индикатор того что сообщение прочитано. НО! оно актуально когда чат для двух человек. В данном же случае в чате может быть и 3 и 10 и смысл status теряется.

Подскажите пожалуйста как можно реализовать что бы юзеру показывалось что у него есть непрочитанные из общего чата?
запоминать дату последнего сообщения? какие еще варианты?
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645040
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,

вопрос лучше задать в ветке mysql.
а по сути - можно организовать и ещё таблицу с id юзера и фактом прочтения сообщения.
а не городить всё в одной таблице. количество таблиц не имеет смысла экономить.
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645043
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяTsyklop,

вопрос лучше задать в ветке mysql.
а по сути - можно организовать и ещё таблицу с id юзера и фактом прочтения сообщения.
а не городить всё в одной таблице. количество таблиц не имеет смысла экономить.

Дело еще в том что я не знаю точно какое количество будет участников.
Если один юзер добавил сообщение то мне в другую таблицу нужно сделать запись с каждым участником?
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645115
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
да, для каждого кому предназначается сообщение
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645124
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopЕсли один юзер добавил сообщение то мне в другую таблицу нужно сделать запись с каждым участником?
вадяда, для каждого кому предназначается сообщение
Нафига?

вадяфактом прочтения сообщения
Пусть тот кто читает, в новую таблицу и инсертед.

Нет записи - не прочитано, есть запись(и) - прочитано указанными пользователями
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645128
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevTsyklopЕсли один юзер добавил сообщение то мне в другую таблицу нужно сделать запись с каждым участником?
вадяда, для каждого кому предназначается сообщение
Нафига?

вадяфактом прочтения сообщения
Пусть тот кто читает, в новую таблицу и инсертед.

Нет записи - не прочитано, есть запись(и) - прочитано указанными пользователями
не оптимально
эта таблица еще и отвечает кому предназначены сообщения
в ней также может быть поле, которое отвечает за факт даставки сообщения
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645130
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как определять то собрались прочитано\не прочитано?
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645131
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя....
не оптимально
эта таблица еще и отвечает кому предназначены сообщения
в ней также может быть поле, которое отвечает за факт даставки сообщения

Огласите все ТЗ целиком пожалуйста !

)))
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645132
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ника как определять то собрались прочитано\не прочитано?
ну как-как....
на Java конечно
массив, цикл for.... делов-то!!!! )))
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645145
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevзабыл ника как определять то собрались прочитано\не прочитано?
ну как-как....
на Java конечно
массив, цикл for.... делов-то!!!! )))
циклы наше всё
то что на sql минимум затрат, мы будем на java циклами делать
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645147
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopзапоминать дату последнего сообщения? какие еще варианты?на sql ru как определяет?
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645160
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно поступить просто - создать дополнительную таблицу с полями user_id, chat_id, last_message_id.

По факту прочтения сообщения обновлять эту таблицу.
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645172
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняМожно поступить просто - создать дополнительную таблицу с полями user_id, chat_id, last_message_id.
я б так сделал:
таб1 - таблица предназначения сообщений юзерам
id
user_id
message_id
chat_id
delivery_time - наличие этого поля нужно уточнять по тз
time_reading

таб2 - список сообщений
id
message

таб3 список юзеров
id
user_name

таб4 - список чатов
id
chat - int/varchar номер/ имя чата
date_begin
date_end
comment

таб5 - юзеры в чатах
id
chat_id
user_id
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645181
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a что одно сообщение можно послать в разные чаты? зачем кроме message_id еще и chat_id в таблице уведомлений? message_id уже однозначно определяет какой чат.
...
Рейтинг: 0 / 0
Механизм прочитывания сообщений в чате.
    #39645193
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaa что одно сообщение можно послать в разные чаты? зачем кроме message_id еще и chat_id в таблице уведомлений? message_id уже однозначно определяет какой чат.согласен.
но стоимость одного поля ничтожна , а наличие этого поля позволит и упростить запрос и ускорить выборку
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Механизм прочитывания сообщений в чате.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]