Обработка одновременных действий - PullRequest
1 голос
/ 02 февраля 2020

У меня есть GUI экран, который состоит из 2 кнопок, Check Balance и Create Saving . После того, как любой пользователь введет идентификатор клиента и нажмет «Проверить баланс», будут отображены сведения о клиенте, включая их баланс, и одновременно будет включена кнопка «Создать сохранение» (после нажатия кнопки «Проверить баланс», как изначально, она будет отключена). ).

У меня есть сценарий, который я попытаюсь объяснить на примере:

Есть 2 пользователя X & Y, которые одновременно вошли в систему и нажали кнопку " «Проверить баланс» для клиента с идентификатором 12345. Оба видят баланс клиента, включая некоторые дополнительные сведения о клиенте, и кнопка «Создать сохранение» включена для них обоих.

  • Пользователь Х принимает решение сделать перерыв и не создает сохранение, но пользователь Y создает сохранение.
  • Пользователь X возвращается и нажимает кнопку «Создать сохранение». ** Теперь вопрос заключается в том, как X должно быть разрешено видеть обновленное значение? (ИЛИ) Чек Баланс должен быть принудительно установлен в Х (ИЛИ) должно быть показано предупреждающее сообщение для Х, чтобы проверить Баланс? **

каждый раз, когда создается экономия, технически всегда выполняется «Проверка баланса», поэтому всегда учитываются обновленные значения перед созданием сохранения в бэкэнде. В приведенном выше сценарии, хотя пользователь X видит устаревшее значение на экране, сохранение всегда создается с учетом экономии, созданной пользователем Y.

Любое предложение будет высоко оценено. Спасибо.

1 Ответ

1 голос
/ 03 февраля 2020

когда вы нажимаете «Создать сохранение», вы можете отправить устаревшую сумму или отметку времени, указывающую, когда она была получена. Затем на стороне сервера, когда вызывается «Проверить баланс», вы можете проверить, изменилась ли фактическая сумма, и если это так, вы можете перенаправить пользователя на промежуточную страницу, сообщая ему / ей и спрашивая, следует ли прервать операцию сохранения или нет.

Надеюсь, это поможет.

...