Как проверить, редактирует ли кто-то еще тот же объект - PullRequest
0 голосов
/ 25 ноября 2018

Допустим, в панели администратора один пользователь, редактирующий любую сущность, скажет, что продукт есть способ, если другой пользователь, который также попытается отредактировать ту же самую сущность / информацию о продукте, сможет получить уведомление или что-то, что «кто-то другой уже редактирует».так же, попросите его подождать и т. д. ".

1 Ответ

0 голосов
/ 25 ноября 2018

Вам нужен способ пометить сущность как занятую.

Хороший способ: добавить два столбца в таблицу сущности.

    busy_user   INT          either a user id or zero
    busy_until  TIMESTAMP    the time when the busy setting expires, in case the user goes away

Затем, когда пользователь пытается изменить элементвы делаете это:

  1. , если busy_user не равен нулю и не является текущим пользователем, а busy_until > NOW() отклоняет запрос на редактирование;элемент занят.
  2. Установите busy_user в качестве идентификатора текущего пользователя.Установите busy_until на NOW() + INTERVAL 5 MINUTE
  3. Выполните редактирование при необходимости.

Когда пользователь закончит редактирование, установите busy_user на ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...