Skip to content

Commit 548470d

Browse files
committed
chore: move payment status event handling to PaymentStatusService
1 parent d863ac2 commit 548470d

2 files changed

Lines changed: 38 additions & 15 deletions

File tree

src/main/java/com/acme/payment/PaymentService.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import jakarta.data.page.PageRequest;
88
import jakarta.enterprise.context.ApplicationScoped;
99
import jakarta.enterprise.event.Event;
10-
import jakarta.enterprise.event.Observes;
1110
import jakarta.inject.Inject;
1211

1312
import java.math.BigDecimal;
@@ -49,20 +48,6 @@ public Payment create(PaymentRequest request) {
4948
return payment;
5049
}
5150

52-
void payed(@Observes PaymentSuccessEvent event) {
53-
LOGGER.info("Payment " + event.payment() + " was payed");
54-
Payment payment = repository.findById(event.payment().getId()).orElseThrow();
55-
payment.confirmed();
56-
repository.save(payment);
57-
}
58-
59-
void errorOnPayment(@Observes PaymentErrorEvent event) {
60-
LOGGER.info("Payment " + event.payment() + " failed");
61-
Payment payment = repository.findById(event.payment().getId()).orElseThrow();
62-
payment.failed();
63-
repository.save(payment);
64-
}
65-
6651
public List<Payment> findAll(PageRequest pageRequest) {
6752
LOGGER.info("Finding all payments, page: " + pageRequest.page());
6853
Page<Payment> payments = repository.findAll(pageRequest, PAYMENT_ORDER);
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.acme.payment;
2+
3+
import jakarta.enterprise.context.ApplicationScoped;
4+
import jakarta.enterprise.event.Observes;
5+
import jakarta.inject.Inject;
6+
7+
import java.util.logging.Logger;
8+
9+
@ApplicationScoped
10+
class PaymentStatusService {
11+
12+
private static final Logger LOGGER = Logger.getLogger(PaymentStatusService.class.getName());
13+
14+
private final PaymentRepository repository;
15+
16+
@Inject
17+
PaymentStatusService(PaymentRepository repository) {
18+
this.repository = repository;
19+
}
20+
21+
PaymentStatusService() {
22+
this.repository = null;
23+
}
24+
25+
void payed(@Observes PaymentSuccessEvent event) {
26+
LOGGER.info("Payment " + event.payment() + " was payed");
27+
var payment = repository.findById(event.payment().getId()).orElseThrow();
28+
payment.confirmed();
29+
repository.save(payment);
30+
}
31+
32+
void errorOnPayment(@Observes PaymentErrorEvent event) {
33+
LOGGER.info("Payment " + event.payment() + " failed");
34+
var payment = repository.findById(event.payment().getId()).orElseThrow();
35+
payment.failed();
36+
repository.save(payment);
37+
}
38+
}

0 commit comments

Comments
 (0)