add order-service jpa entity

This commit is contained in:
hoon7566
2022-01-26 13:32:26 +09:00
parent 47f8fd913f
commit feaa690633
6 changed files with 151 additions and 0 deletions

View File

@@ -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<OrderItem> orderItems;
}

View File

@@ -0,0 +1,8 @@
package com.justpickup.orderservice.domain.order.entity;
public enum OrderStatus {
PLACED,
CANCELED,
SUCCESS,
FAILED
}

View File

@@ -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<OrderItemOption> orderItemOptions;
private Long price;
private Long count;
}

View File

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

View File

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

View File

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