Merge remote-tracking branch 'origin/main'
# Conflicts: # README.md # payment-command/src/main/java/com/example/payment/application/PaymentServiceImpl.java # payment-command/src/main/java/com/example/payment/domain/Payment.java # payment-command/src/main/java/com/example/payment/domain/PaymentRepository.java # payment-command/src/main/java/com/example/payment/domain/event/PaymentCreated.java # payment-command/src/main/java/com/example/payment/infra/http/PaymentController.java # payment-command/src/main/java/com/example/payment/infra/http/request/PaymentCompleteRequest.java # payment-command/src/main/java/com/example/payment/infra/persistence/PaymentRepositoryImpl.java # payment-command/src/main/java/com/example/purchase/domain/Purchase.java # payment-command/src/main/java/com/example/purchase/domain/PurchaseRepository.java # payment-command/src/main/java/com/example/purchase/infra/http/PurchaseController.java # payment-command/src/main/java/com/example/purchase/infra/persistence/PurchaseRepositoryImpl.java # payment-command/src/main/java/com/example/user/domain/User.java # payment-command/src/main/java/com/example/user/domain/UserRepository.java # payment-command/src/main/java/com/example/user/infra/persistence/UserRepositoryImpl.java # payment-command/src/main/resources/application.yaml # payment-command/src/test/java/com/example/payment/PaymentApplicationTests.java # payment-query/src/main/java/com/example/payment/domain/event/PaymentCreated.java
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package com.example.cash.domain;
|
||||
|
||||
import com.example.user.domain.User;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.UUID;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.data.annotation.CreatedDate;
|
||||
import org.springframework.data.annotation.LastModifiedDate;
|
||||
|
||||
@Entity
|
||||
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class Cash {
|
||||
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
private BigDecimal amount;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn
|
||||
private User user;
|
||||
|
||||
@CreatedDate
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
@LastModifiedDate
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public static Cash of(BigDecimal amount, User user) {
|
||||
return new Cash(UUID.fromString("cash").toString(), amount, user, null, null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.example.common;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
@Getter
|
||||
public class IdResponse<T> {
|
||||
|
||||
private T id;
|
||||
|
||||
private IdResponse(T id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public static <T> IdResponse<T> of(T id) {
|
||||
return new IdResponse<>(id);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.example;
|
||||
|
||||
import com.example.payment.domain.event.PaymentCreated;
|
||||
import org.springframework.kafka.annotation.KafkaListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PaymentCreatedListener {
|
||||
|
||||
@KafkaListener(topics = "PaymentCreated", groupId = "group1")
|
||||
public void consume(PaymentCreated message) {
|
||||
System.out.println("receive message : " + message.toString());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user