Merge pull request #4 from Development-team-1/order-service-jpa-design
Order service jpa design
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
package com.justpickup.orderservice.domain.order.entity;
|
||||||
|
|
||||||
|
import com.justpickup.orderservice.domain.orderItem.entity.OrderItem;
|
||||||
|
import com.justpickup.orderservice.domain.transaction.entity.Transaction;
|
||||||
|
import com.justpickup.orderservice.global.entity.BaseEntity;
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "orders")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||||
|
public class Order extends BaseEntity {
|
||||||
|
|
||||||
|
@Id @GeneratedValue
|
||||||
|
@Column(name = "order_id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
private Long userCouponId;
|
||||||
|
|
||||||
|
private Long orderPrice;
|
||||||
|
|
||||||
|
private LocalDateTime orderTime;
|
||||||
|
|
||||||
|
private Long usedPoint;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
private OrderStatus orderStatus;
|
||||||
|
|
||||||
|
@OneToOne(mappedBy = "order")
|
||||||
|
private Transaction transaction;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "order")
|
||||||
|
private List<OrderItem> orderItems;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.justpickup.orderservice.domain.order.entity;
|
||||||
|
|
||||||
|
public enum OrderStatus {
|
||||||
|
PENDING,
|
||||||
|
PLACED,
|
||||||
|
CANCELED,
|
||||||
|
FAILED
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.justpickup.orderservice.domain.orderItem.entity;
|
||||||
|
|
||||||
|
import com.justpickup.orderservice.domain.order.entity.Order;
|
||||||
|
import com.justpickup.orderservice.domain.orderItemOption.entity.OrderItemOption;
|
||||||
|
import com.justpickup.orderservice.global.entity.BaseEntity;
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "order_item")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||||
|
public class OrderItem extends BaseEntity {
|
||||||
|
|
||||||
|
@Id @GeneratedValue
|
||||||
|
@Column(name = "order_item_id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private Long itemId;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "order_id")
|
||||||
|
private Order order;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "orderItem")
|
||||||
|
private List<OrderItemOption> orderItemOptions;
|
||||||
|
|
||||||
|
private Long price;
|
||||||
|
|
||||||
|
private Long count;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.justpickup.orderservice.domain.orderItemOption.entity;
|
||||||
|
|
||||||
|
import com.justpickup.orderservice.domain.orderItem.entity.OrderItem;
|
||||||
|
import com.justpickup.orderservice.global.entity.BaseEntity;
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "order_item_option")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||||
|
public class OrderItemOption extends BaseEntity {
|
||||||
|
|
||||||
|
@Id @GeneratedValue
|
||||||
|
@Column(name = "order_item_option_id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "order_item_id")
|
||||||
|
private OrderItem orderItem;
|
||||||
|
|
||||||
|
private Long itemOptionId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.justpickup.orderservice.domain.transaction.entity;
|
||||||
|
|
||||||
|
import com.justpickup.orderservice.domain.order.entity.Order;
|
||||||
|
import com.justpickup.orderservice.global.entity.BaseEntity;
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "transaction")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor(access = AccessLevel.PROTECTED)
|
||||||
|
public class Transaction extends BaseEntity {
|
||||||
|
|
||||||
|
@Id @GeneratedValue
|
||||||
|
@Column(name = "transaction_id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@OneToOne(fetch = FetchType.LAZY)
|
||||||
|
@JoinColumn(name = "order_id")
|
||||||
|
private Order order;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.justpickup.orderservice.global.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.MappedSuperclass;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@MappedSuperclass
|
||||||
|
public abstract class BaseEntity {
|
||||||
|
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
private Long createdBy;
|
||||||
|
private LocalDateTime lastModifiedAt;
|
||||||
|
private Long lastModifiedBy;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user