/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-101-042/main.java
42 строки
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
// Доменное событие public record OrderSubmittedEvent( OrderId orderId, CustomerId customerId, BigDecimal totalAmount, Instant occurredAt ) implements DomainEvent { } // Генерация события в агрегате public class Order { private final List<DomainEvent> events = new ArrayList<>(); public void submit() { // бизнес-логика events.add(new OrderSubmittedEvent(id, customerId, total, Instant.now())); } public List<DomainEvent> getUncommittedEvents() { return new ArrayList<>(events); } public void markEventsAsCommitted() { events.clear(); } } // Обработчик события @Component public class OrderNotificationHandler implements DomainEventHandler<OrderSubmittedEvent> { private final EmailService emailService; @Override public void handle(OrderSubmittedEvent event) { emailService.sendOrderConfirmation( event.customerId(), event.orderId(), event.totalAmount() ); } }