Skip to content

Commit aaf9643

Browse files
committed
chore: inject and fire PaymentSuccessEvent and PaymentErrorEvent in PaymentProvider
1 parent b06d0b8 commit aaf9643

4 files changed

Lines changed: 42 additions & 54 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.acme.infraestructure;
2+
3+
import jakarta.json.bind.config.PropertyVisibilityStrategy;
4+
5+
import java.lang.reflect.Field;
6+
import java.lang.reflect.Method;
7+
8+
public class JsonFieldStrategy implements PropertyVisibilityStrategy {
9+
@Override
10+
public boolean isVisible(Field field) {
11+
return true;
12+
}
13+
14+
@Override
15+
public boolean isVisible(Method method) {
16+
return true;
17+
}
18+
}

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

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.acme.payment;
22

33
import com.acme.Product;
4+
import com.acme.infraestructure.JsonFieldStrategy;
5+
import jakarta.json.bind.annotation.JsonbVisibility;
46
import jakarta.nosql.Column;
57
import jakarta.nosql.Entity;
68
import jakarta.nosql.Id;
@@ -10,6 +12,7 @@
1012
import java.util.UUID;
1113

1214
@Entity
15+
@JsonbVisibility(JsonFieldStrategy.class)
1316
public class Payment {
1417

1518
@Id
@@ -24,10 +27,10 @@ public class Payment {
2427
@Column
2528
private Product product;
2629

27-
public Payment() {
30+
Payment() {
2831
}
2932

30-
public Payment(Product product, BigDecimal amount, PaymentStatus status) {
33+
Payment(Product product, BigDecimal amount, PaymentStatus status) {
3134
this.id = UUID.randomUUID().toString();
3235
this.amount = amount;
3336
this.status = status;
@@ -38,34 +41,6 @@ public String getId() {
3841
return id;
3942
}
4043

41-
public void setId(String id) {
42-
this.id = id;
43-
}
44-
45-
public BigDecimal getAmount() {
46-
return amount;
47-
}
48-
49-
public void setAmount(BigDecimal amount) {
50-
this.amount = amount;
51-
}
52-
53-
public PaymentStatus getStatus() {
54-
return status;
55-
}
56-
57-
public void setStatus(PaymentStatus status) {
58-
this.status = status;
59-
}
60-
61-
public Product getProduct() {
62-
return product;
63-
}
64-
65-
public void setProduct(Product product) {
66-
this.product = product;
67-
}
68-
6944
@Override
7045
public boolean equals(Object o) {
7146
if (!(o instanceof Payment payment)) {
Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.acme.stock;
22

33
import com.acme.Product;
4+
import com.acme.infraestructure.JsonFieldStrategy;
5+
import jakarta.json.bind.annotation.JsonbVisibility;
46
import jakarta.nosql.Column;
57
import jakarta.nosql.Entity;
68
import jakarta.nosql.Id;
79

810
@Entity
11+
@JsonbVisibility(JsonFieldStrategy.class)
912
public class PaymentCounter {
1013

1114
@Id
@@ -15,40 +18,24 @@ public class PaymentCounter {
1518
private Product product;
1619

1720
@Column
18-
private int available;
21+
private int successfulPayments;
22+
23+
@Column
24+
private int failedPayments;
1925

2026
public String getProductCode() {
2127
return productCode;
2228
}
2329

24-
public void setProductCode(String productCode) {
25-
this.productCode = productCode;
26-
}
27-
2830
public Product getProduct() {
2931
return product;
3032
}
3133

32-
public void setProduct(Product product) {
33-
this.product = product;
34-
}
35-
36-
public int getAvailable() {
37-
return available;
34+
public int getSuccessfulPayments() {
35+
return successfulPayments;
3836
}
3937

40-
public void setAvailable(int available) {
41-
this.available = available;
38+
public int getFailedPayments() {
39+
return failedPayments;
4240
}
43-
44-
public PaymentCounter() {
45-
}
46-
47-
public PaymentCounter(String productCode, Product product, int available) {
48-
this.productCode = productCode;
49-
this.product = product;
50-
this.available = available;
51-
}
52-
53-
5441
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.acme.stock;
2+
3+
import jakarta.data.repository.BasicRepository;
4+
import jakarta.data.repository.Repository;
5+
6+
@Repository
7+
public interface PaymentCounterRepository extends BasicRepository<PaymentCounter, String> {
8+
}

0 commit comments

Comments
 (0)