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:
appleg
2022-04-02 16:54:04 +09:00
3 changed files with 78 additions and 0 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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());
}
}