Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config: 엔티티 동기화 #6

Merged
merged 2 commits into from
Nov 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/main/java/com/readyvery/readyverydemo/domain/Cart.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

@Getter
Expand All @@ -28,6 +29,7 @@
@AllArgsConstructor
@Slf4j
@Builder
@Setter
public class Cart extends BaseTimeEntity {

@Id
Expand All @@ -54,6 +56,10 @@ public class Cart extends BaseTimeEntity {
@Builder.Default
private Boolean isDeleted = false;

@Builder.Default
@OneToMany(mappedBy = "cart")
private List<Order> orders = new ArrayList<Order>();

// 장바구니 장바구니 아이템 연관관계 매핑
@Builder.Default
@OneToMany(mappedBy = "cart", cascade = CascadeType.ALL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ public class CartItem extends BaseTimeEntity {
@JoinColumn(name = "cart_idx")
private Cart cart;

// 장바구니 아이템 삭제 여부
@Column(columnDefinition = "BOOLEAN default true")
@Builder.Default
private Boolean isDeleted = false;

// 장바구니 아이템 - 장바구니 옵션 연관관계 매핑
@Builder.Default
@OneToMany(mappedBy = "cartItem", cascade = CascadeType.ALL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ public class CartOption extends BaseTimeEntity {
private FoodieOptionCategory foodieOptionCategory;

}

7 changes: 3 additions & 4 deletions src/main/java/com/readyvery/readyverydemo/domain/Coupon.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.readyvery.readyverydemo.domain;


import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
Expand All @@ -9,6 +8,7 @@
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
Expand Down Expand Up @@ -46,8 +46,7 @@ public class Coupon extends BaseTimeEntity {
@JoinColumn(name = "store_idx")
private Store store;

// @OneToOne(mappedBy = "coupon", fetch = LAZY)
// private Order order;
@OneToOne(mappedBy = "coupon", fetch = FetchType.LAZY)
private Order order;

}

16 changes: 12 additions & 4 deletions src/main/java/com/readyvery/readyverydemo/domain/CouponDetail.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,25 @@ public class CouponDetail extends BaseTimeEntity {
@Column
private LocalDateTime expire;

// 발행처 레디베리 발행(0) / 사장님 발행(ceo_idx)
// 쿠폰 코드
@Column(name = "coupon_code")
private String couponCode;

// 발급 갯수
@Column(name = "coupon_count")
private Long couponCount;

// 발행처 레디베리 발행(0) / 사장님 발행(store_idx)
@Column
private Long publisher;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "event_idx")
private Event event;

@Builder.Default
@OneToMany(mappedBy = "couponDetail", cascade = CascadeType.ALL)
private List<CouponMenu> couponMenus = new ArrayList<CouponMenu>();
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "foodie_idx")
private Foodie foodie;

@Builder.Default
@OneToMany(mappedBy = "couponDetail", cascade = CascadeType.ALL)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.readyvery.readyverydemo.domain;


import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -45,3 +44,4 @@ public class Event extends BaseTimeEntity {
private List<CouponDetail> coupons = new ArrayList<CouponDetail>();

}

9 changes: 8 additions & 1 deletion src/main/java/com/readyvery/readyverydemo/domain/Foodie.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ public class Foodie extends BaseTimeEntity {
@Column(nullable = false, columnDefinition = "BOOLEAN default false")
private boolean hit;

//메뉴 - 가게 연관관계 매핑
// @ManyToOne(fetch = FetchType.LAZY)
// @JoinColumn(name = "store_idx")
// private Store store;

//메뉴 - 메뉴 카테고리 연관관계 매핑
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "foodie_category_idx")
Expand All @@ -71,6 +76,8 @@ public class Foodie extends BaseTimeEntity {
private List<CartItem> cartItems = new ArrayList<CartItem>();

@OneToMany(mappedBy = "foodie", cascade = CascadeType.ALL)
private List<CouponMenu> couponMenus = new ArrayList<CouponMenu>();
private List<CouponDetail> couponDetails = new ArrayList<CouponDetail>();

@OneToMany(mappedBy = "foodie", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<OrderItem>();
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.readyvery.readyverydemo.domain;


import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -44,4 +43,3 @@ public class FoodieCategory {
@OneToMany(mappedBy = "foodieCategory", cascade = CascadeType.ALL)
private List<Foodie> foodies = new ArrayList<>();
}

Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,9 @@ public class FoodieOption extends BaseTimeEntity {
@OneToMany(mappedBy = "foodieOption", cascade = CascadeType.ALL)
private List<CartOption> cartOptions = new ArrayList<CartOption>();

// order item option 연관 관계 매핑
@OneToMany(mappedBy = "foodieOption", cascade = CascadeType.ALL)
private List<OrderItemOption> orderItemOptions = new ArrayList<OrderItemOption>();
}


Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,7 @@ public class FoodieOptionCategory extends BaseTimeEntity {
@OneToMany(mappedBy = "foodieOptionCategory", cascade = CascadeType.ALL)
private List<CartOption> cartOptions = new ArrayList<CartOption>();

// order item option 연관 관계 매핑
@OneToMany(mappedBy = "foodieOptionCategory", cascade = CascadeType.ALL)
private List<OrderItemOption> orderItemOptions = new ArrayList<OrderItemOption>();
}
15 changes: 15 additions & 0 deletions src/main/java/com/readyvery/readyverydemo/domain/ImgSize.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.readyvery.readyverydemo.domain;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum ImgSize {
EVENT_BANNER(), // 이벤트 배너
VERY_PICK_CAFE_BANNER(), // 카페 리스트 배너
CAFE_LOGO(), // 카페 로고
PICKUP_PROMOTION(), // 픽업 홍보 포스터
CAFE_BANNER(), // 카페 상세 배너
FOODY(), // 음료 사진
}
106 changes: 106 additions & 0 deletions src/main/java/com/readyvery/readyverydemo/domain/Order.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
package com.readyvery.readyverydemo.domain;

import java.time.LocalDateTime;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Index;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;

@Getter
@Entity
@Builder
@Table(name = "ORDERS", indexes = {@Index(name = "idx_order_id", columnList = "orderId", unique = true)})
@AllArgsConstructor
@NoArgsConstructor
@Setter
@Slf4j
public class Order extends BaseTimeEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_idx")
private Long id;

// 총 결제 가격
@Column
private Long amount;

// 결제 키 값
@Column
private String paymentKey;

// 주문 id
@Column
private String orderId;

// 주문 명
@Column
private String orderName;

// 토스 결제 가격
@Column
private Long totalAmount;

// 결제 방법
@Column
private String method;

// 주문 번호
@Column
private String orderNumber;

// 주문 상태
@Column
@Enumerated(EnumType.STRING)
private Progress progress;

@Column
private Boolean payStatus; // 결제 성공 실패 여부

@Column
private LocalDateTime estimatedTime;

@Column
private Long inOut;

// 가게 아이템 연관 관계
// @OneToMany(mappedBy = "order")
// @Builder.Default
// private List<OrderItem> orderItems = new ArrayList<OrderItem>();

// 가게 연관 관계
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "store_idx")
private Store store;

// 유저 연관 관계
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_idx")
private UserInfo userInfo;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "cart_idx")
private Cart cart;

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "coupon_idx")
private Coupon coupon;

@OneToOne(mappedBy = "order", fetch = FetchType.LAZY)
private Receipt receipt;
}
51 changes: 51 additions & 0 deletions src/main/java/com/readyvery/readyverydemo/domain/OrderItem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.readyvery.readyverydemo.domain;

import java.util.ArrayList;
import java.util.List;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@Getter
@Entity
@Builder
@Table(name = "ORDER_ITEM")
@AllArgsConstructor
@NoArgsConstructor
@Slf4j
public class OrderItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_item_idx")
private Long id;

@Column
private Long count;

// @ManyToOne(fetch = FetchType.LAZY)
// @JoinColumn(name = "order_idx")
// private Order order;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "foodie_idx")
private Foodie foodie;

@OneToMany(mappedBy = "orderItem")
@Builder.Default
private List<OrderItemOption> orderItemOptions = new ArrayList<OrderItemOption>();

}

Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.readyvery.readyverydemo.domain;


import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
Expand All @@ -19,23 +18,25 @@
@Getter
@Entity
@Builder
@Table(name = "COUPONMENU")
@Table(name = "ORDER_ITEM_OPTION")
@AllArgsConstructor
@NoArgsConstructor
@Slf4j
public class CouponMenu extends BaseTimeEntity {
public class OrderItemOption {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "coupon_menu_idx")
@Column(name = "order_item_option_idx")
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "coupon_detail_idx")
private CouponDetail couponDetail;
@JoinColumn(name = "order_item_idx")
private OrderItem orderItem;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "foodie_idx")
private Foodie foodie;
@JoinColumn(name = "foodie_option_idx")
private FoodieOption foodieOption;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "foodie_option_category_idx")
private FoodieOptionCategory foodieOptionCategory;
}

Loading