Skip to content

Commit

Permalink
Merge pull request #6 from 1223v/cors
Browse files Browse the repository at this point in the history
Config: 엔티티 동기화
  • Loading branch information
1223v authored Nov 24, 2023
2 parents 14bc0dc + ed2a266 commit 0cb5811
Show file tree
Hide file tree
Showing 30 changed files with 604 additions and 32 deletions.
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

0 comments on commit 0cb5811

Please sign in to comment.