время от времени я разрабатываю небольшой проект с использованием шаблона CQRS и Event Sourcing. У меня есть структурная проблема, и я не знаю, какое решение решить ее.
Представьте следующий пример: Команда отправляется с информацией о том, что клиент банка заработал определенную сумму денег (DepositCommand). В обработчике команд /Entity/Aggregate (не важно для обсуждения) должно применяться бизнес-правило; Если клиент является одним из лучших 10%, при этом больше денег на счет выигрывает какой-то приз.
Вопрос заключается в том, как я могу получить последние, последовательные данные, чтобы узнать, находится ли клиент после его депозита в топ-10%.
- Я не могу использовать хранилище событий, потому что невозможно сделать такой запрос;
- Я не уверен, могу ли я использовать модель чтения, потому что не 100% убедитесь, что это актуально.
Как вы это делаете, когда вам нужны данные из базы данных для применения бизнес-правила? Если я не обращу внимание на современные данные, я сталкиваюсь с возможностями предоставить приз двум различным клиентам
С нетерпением ждем вашего мнения.