728x90
@Entity
@Table(name = "Order_table")
@Data
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String productId;
private String customId;
private Integer qty;
private Integer price;
private String address;
private String status;
@PostPersist
public void onPostPersist() {
OrderPlaced orderPlaced = new OrderPlaced(this);
orderPlaced.publishAfterCommit();
OrderCancel orderCancel = new OrderCancel(this);
orderCancel.publishAfterCommit();
}
public static OrderRepository repository() {
OrderRepository orderRepository = OrderApplication.applicationContext.getBean(
OrderRepository.class
);
return orderRepository;
}
//<<< Clean Arch / Port Method
public static void sendMail(InventoryIncrease inventoryIncrease) {
//implement business logic here:
/** Example 1: new item
Order order = new Order();
repository().save(order);
*/
/** Example 2: finding and process
repository().findById(inventoryIncrease.get???()).ifPresent(order->{
order // do something
repository().save(order);
});
*/
}
}
'교육 > [온라인] KOSTA EDU' 카테고리의 다른 글
Prometheus + Grafana + OpenTelemetry를 이용한 Kubernetes 모니터링 (0) | 2024.10.18 |
---|---|
[KOSTA] Spring-boot를 활용한 MSA 아키텍처 적용하기 (0) | 2024.08.24 |
[KOSTA] Kafka를 이용한 서비스와 데이터 통합 - 1편 (0) | 2024.07.19 |
[KOSTA] KAFKA with Spring - 2편 (0) | 2024.07.12 |
[KOSTA] Kafka with Spring Boot - 1편 (0) | 2024.07.12 |