From feaa690633fe68792ff0b35b05aeceff63ab5770 Mon Sep 17 00:00:00 2001 From: hoon7566 Date: Wed, 26 Jan 2022 13:32:26 +0900 Subject: [PATCH 1/2] add order-service jpa entity --- .../domain/order/entity/Order.java | 42 +++++++++++++++++++ .../domain/order/entity/OrderStatus.java | 8 ++++ .../domain/orderItem/entity/OrderItem.java | 35 ++++++++++++++++ .../entity/OrderItemOption.java | 26 ++++++++++++ .../transaction/entity/Transaction.java | 24 +++++++++++ .../global/entity/BaseEntity.java | 16 +++++++ 6 files changed, 151 insertions(+) create mode 100644 order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/entity/BaseEntity.java diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java new file mode 100644 index 0000000..7b3073f --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java @@ -0,0 +1,42 @@ +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.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import java.time.LocalDateTime; +import java.util.List; + +@Entity +@Table(name = "orders") +@Getter +@NoArgsConstructor +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 orderItems; + +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java new file mode 100644 index 0000000..c524418 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java @@ -0,0 +1,8 @@ +package com.justpickup.orderservice.domain.order.entity; + +public enum OrderStatus { + PLACED, + CANCELED, + SUCCESS, + FAILED +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java new file mode 100644 index 0000000..556b5c5 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java @@ -0,0 +1,35 @@ +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.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name = "order_item") +@Getter +@NoArgsConstructor +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 orderItemOptions; + + private Long price; + + private Long count; + +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java new file mode 100644 index 0000000..91dfa8e --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java @@ -0,0 +1,26 @@ +package com.justpickup.orderservice.domain.orderItemOption.entity; + +import com.justpickup.orderservice.domain.orderItem.entity.OrderItem; +import com.justpickup.orderservice.global.entity.BaseEntity; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@Table(name = "order_item") +@Getter +@NoArgsConstructor +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; + +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java b/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java new file mode 100644 index 0000000..6c7bad3 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java @@ -0,0 +1,24 @@ +package com.justpickup.orderservice.domain.transaction.entity; + +import com.justpickup.orderservice.domain.order.entity.Order; +import com.justpickup.orderservice.global.entity.BaseEntity; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@Table(name = "transaction") +@Getter +@NoArgsConstructor +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; + +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/entity/BaseEntity.java b/order-service/src/main/java/com/justpickup/orderservice/global/entity/BaseEntity.java new file mode 100644 index 0000000..3a58f29 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/entity/BaseEntity.java @@ -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; + +} From 998eb32deb2e534da22d4f3eed5f5721d4ea30c0 Mon Sep 17 00:00:00 2001 From: hoon7566 Date: Wed, 26 Jan 2022 14:34:46 +0900 Subject: [PATCH 2/2] update order-service jpa --- .../justpickup/orderservice/domain/order/entity/Order.java | 3 ++- .../orderservice/domain/order/entity/OrderStatus.java | 2 +- .../orderservice/domain/orderItem/entity/OrderItem.java | 3 ++- .../domain/orderItemOption/entity/OrderItemOption.java | 5 +++-- .../orderservice/domain/transaction/entity/Transaction.java | 3 ++- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java index 7b3073f..906b4b2 100644 --- a/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/Order.java @@ -3,6 +3,7 @@ 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; @@ -13,7 +14,7 @@ import java.util.List; @Entity @Table(name = "orders") @Getter -@NoArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) public class Order extends BaseEntity { @Id @GeneratedValue diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java index c524418..2ff4f7f 100644 --- a/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/order/entity/OrderStatus.java @@ -1,8 +1,8 @@ package com.justpickup.orderservice.domain.order.entity; public enum OrderStatus { + PENDING, PLACED, CANCELED, - SUCCESS, FAILED } diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java index 556b5c5..d9d21d2 100644 --- a/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItem/entity/OrderItem.java @@ -3,6 +3,7 @@ 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; @@ -12,7 +13,7 @@ import java.util.List; @Entity @Table(name = "order_item") @Getter -@NoArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) public class OrderItem extends BaseEntity { @Id @GeneratedValue diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java index 91dfa8e..28148bb 100644 --- a/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/orderItemOption/entity/OrderItemOption.java @@ -2,15 +2,16 @@ 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") +@Table(name = "order_item_option") @Getter -@NoArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) public class OrderItemOption extends BaseEntity { @Id @GeneratedValue diff --git a/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java b/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java index 6c7bad3..3f230df 100644 --- a/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java +++ b/order-service/src/main/java/com/justpickup/orderservice/domain/transaction/entity/Transaction.java @@ -2,6 +2,7 @@ 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; @@ -10,7 +11,7 @@ import javax.persistence.*; @Entity @Table(name = "transaction") @Getter -@NoArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) public class Transaction extends BaseEntity { @Id @GeneratedValue