Skip to content
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 README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

## 캐치테이블 사이드 프로젝트


## 간단한 도메인 구성도
![img.png](etc/도메인구성도.png)
Binary file added etc/도메인구성도.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.yscp.catchtable.domain.amenity.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class Amenity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

private String code;

private String name;

private String imageUrl;

private LocalDateTime regDatetime;

private Long regIdx;

private LocalDateTime modDatetime;

private Long modIdx;

public Amenity(Long idx, String code, String name, String imageUrl, LocalDateTime regDatetime, Long regIdx, LocalDateTime modDatetime, Long modIdx) {
this.idx = idx;
this.code = code;
this.name = name;
this.imageUrl = imageUrl;
this.regDatetime = regDatetime;
this.regIdx = regIdx;
this.modDatetime = modDatetime;
this.modIdx = modIdx;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.yscp.catchtable.domain.amenity.entity;

import com.yscp.catchtable.domain.store.entity.Store;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class StoreAmenity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

@JoinColumn(name = "store_idx")
@ManyToOne(fetch = FetchType.LAZY)
private Store store;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "amenity_idx")
private Amenity amenity;

private LocalDateTime regDatetime;
private Long regIdx;
private LocalDateTime modDatetime;
private Long modIdx;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.yscp.catchtable.domain.category.entitry;


import com.yscp.catchtable.domain.store.entity.Store;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
@Table(name = "menu_category")
public class MenuCategory {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

@JoinColumn(name = "store_idx")
@ManyToOne(fetch = FetchType.LAZY)
@Comment("상점")
private Store store;

@Column(nullable = false)
private String name;
@Column(nullable = false)
private Integer ord;

private LocalDateTime regDatetime;

private Long regIdx;

private LocalDateTime modDatetime;

private Long modIdx;

public MenuCategory(Long idx, Store store, String name, Integer ord, LocalDateTime regDatetime, Long regIdx, LocalDateTime modDatetime, Long modIdx) {
this.idx = idx;
this.store = store;
this.name = name;
this.ord = ord;
this.regDatetime = regDatetime;
this.regIdx = regIdx;
this.modDatetime = modDatetime;
this.modIdx = modIdx;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.yscp.catchtable.domain.category.entitry;


import com.yscp.catchtable.domain.category.entitry.value.StoreCategoryCode;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class StoreCategory {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

@Enumerated(EnumType.STRING)
private StoreCategoryCode code;

@Column(nullable = false)
private String name;

private LocalDateTime regDatetime;

private LocalDateTime modDatetime;

@Builder
public StoreCategory(Long idx, StoreCategoryCode code, String name, LocalDateTime regDatetime, LocalDateTime modDatetime) {
this.idx = idx;
this.code = code;
this.name = name;
this.regDatetime = regDatetime;
this.modDatetime = modDatetime;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.yscp.catchtable.domain.category.entitry.value;

public enum StoreCategoryCode {
SUSHI,

}
41 changes: 41 additions & 0 deletions src/main/java/com/yscp/catchtable/domain/menu/entity/Menu.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.yscp.catchtable.domain.menu.entity;

import com.yscp.catchtable.domain.category.entitry.MenuCategory;
import com.yscp.catchtable.domain.store.entity.Store;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Comment;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class Menu {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

@JoinColumn(name = "store_idx")
@ManyToOne(fetch = FetchType.LAZY)
@Comment("상점")
private Store store;

@JoinColumn(name = "category_idx")
@OneToOne(fetch = FetchType.LAZY)
@Comment("상점 메뉴 카테고리")
private MenuCategory category;


private String price;
private String name;
private String imageUrl;
private Integer ord;
private LocalDateTime regDatetime;
private Long regIdx;
private LocalDateTime modDatetime;
private Long modIdx;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.yscp.catchtable.domain.reserve.entity;

import com.yscp.catchtable.domain.reserve.entity.value.StoreReserveDataStatus;
import com.yscp.catchtable.domain.store.entity.Store;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
@Table(name = "store_reserve_data")
public class ReserveData {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

@JoinColumn(name = "store_idx")
@ManyToOne(fetch = FetchType.LAZY)
private Store store;

private LocalDate reserveData;
private Integer reserveTime;
private Integer minUserCount;
private Integer maxUserCount;
private Integer reserveCount;
@Enumerated(EnumType.STRING)
private StoreReserveDataStatus reserveStatus;
private LocalDateTime regDatetime;
private Long regIdx;
private LocalDateTime modDatetime;
private Long modIdx;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.yscp.catchtable.domain.reserve.entity;

import com.yscp.catchtable.domain.reserve.entity.value.StoreReserveInformationType;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class StoreReserveInformation {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

private Integer reservePrice;

@Enumerated(EnumType.STRING)
private StoreReserveInformationType reserveType;

private Integer minUserCount;

private LocalDateTime regDatetime;
private Long regIdx;
private LocalDateTime modDatetime;
private Long modIdx;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.yscp.catchtable.domain.reserve.entity;

import com.yscp.catchtable.domain.reserve.entity.value.ReserveStatus;
import com.yscp.catchtable.domain.user.entity.User;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class UserReserveData {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idx;

@JoinColumn(name = "user_idx")
@ManyToOne(fetch = FetchType.LAZY)
private User user;

@JoinColumn(name = "reserve_data_idx")
@ManyToOne(fetch = FetchType.LAZY)
private ReserveData reserveData;

@Enumerated(EnumType.STRING)
private ReserveStatus reserveStatus;
private LocalDateTime regDatetime;
private Long regIdx;
private LocalDateTime modDatetime;
private Long modIdx;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.yscp.catchtable.domain.reserve.entity.value;

public enum ReserveStatus {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.yscp.catchtable.domain.reserve.entity.value;

public enum StoreReserveDataStatus {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.yscp.catchtable.domain.reserve.entity.value;

public enum StoreReserveInformationType {
}
Loading