[220402] 나머지 개발 완료
- purchase 도메인 command, query 개발 - payment 도메인 command, query 개발 - readme update
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package com.example.purchase.domain;
|
||||
|
||||
import com.example.payment.domain.Payment;
|
||||
import com.example.user.domain.User;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EntityListeners;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
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;
|
||||
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
||||
|
||||
@Entity
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
@EntityListeners(AuditingEntityListener.class)
|
||||
public class Purchase {
|
||||
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn
|
||||
private User user;
|
||||
|
||||
private PurchaseType type;
|
||||
|
||||
private BigDecimal amount;
|
||||
|
||||
@CreatedDate
|
||||
private ZonedDateTime createdAt;
|
||||
|
||||
@LastModifiedDate
|
||||
private ZonedDateTime updatedAt;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public ZonedDateTime getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public static Purchase of(User user, PurchaseType type, BigDecimal amount, ZonedDateTime createdAt, ZonedDateTime updatedAt) {
|
||||
return new Purchase(UUID.randomUUID().toString(), user, type, amount, createdAt, updatedAt);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user