Я разрабатываю систему входящих сообщений, в которой используется потоковая компоновка сообщений. На данный момент я пытаюсь обновить статус сообщений. Возможно, у меня неправильная структура, поэтому я мог бы сделать некоторые рекомендации.Чтение статуса сообщений в папке «Входящие»
Вот что у меня есть:
Table messages ============== id thread_id from_user_id subject body sent_date Table message_threads ===================== id message_id owner_id member_id owner_read member_read
В таблице message_threads, «владелец» относится к пользователю, который начал нить, и «член» относится к другому участнику. Входящие пользователя будут содержать потоки, которые они создали сами (владелец), а также потоки, созданные другими пользователями, на которые они ответили (члену).
Логика для установки статуса чтения выглядит следующим образом:
если владелец отправляет ответ: поле «member_read» устанавливается равным 0 (непрочитанные), «owner_read» поле устанавливается равным 1 (чтение)
если член посылает ответ: «owner_read» поле установлено значение 0 (непрочитанных), поле «member_read» устанавливается равным 1 (чтение)
Сейчас я не думаю, что это полностью правильный подход , потому что предположим, что член хочет сортировать сообщения в своем почтовом ящике с помощью состояния чтения, однако пользователь может быть как владельцем, так и членом, и есть две поля чтения в таблице. Так что это не будет правильно.
Любые предложения о том, как я должен это делать?
EDIT: Вот exaple сценарий:
- Пользователь 1 посылает нитяным Пользователю 2
- Поток А появляется в Пользовательский 2 в почтовом ящике (статус 0: непрочитанные)
- Пользователь 2 открывает Thread A
- Thread Статус, устанавливается в 1 (чтение)
- пользователя 2 ответов в теме A
- Thread статус в пользователя 1 в почтовом ящике (статус 0: непрочитанные)
- Тема «А» в папке «Входящие» пользователя 2 (статус 1: прочитано)
- Пользователь 1 открывает Поток A
- Нитки статус устанавливается в 1 (чтение)
- пользователя 1 ответов в теме A
- Thread статус в пользователя 1 в почтовом ящике (состояние 1: чтение)
- Тема статуса в Пользовательский 2 в почтовом ящике (статус 0: непрочитанные)
так ... нить только читается двумя людьми? – Matt
Да, это так. Это разговор 1-1. – GSTAR