diff --git a/db_dev.mv.db b/db_dev.mv.db index 3d84ab35..9ca0f636 100644 Binary files a/db_dev.mv.db and b/db_dev.mv.db differ diff --git a/src/main/java/com/back/domain/cocktail/dto/CocktailRequestDto.java b/src/main/java/com/back/domain/cocktail/dto/CocktailRequestDto.java new file mode 100644 index 00000000..ad38cd89 --- /dev/null +++ b/src/main/java/com/back/domain/cocktail/dto/CocktailRequestDto.java @@ -0,0 +1,27 @@ +package com.back.domain.cocktail.dto; + +import com.back.domain.cocktail.entity.Cocktail; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class CocktailRequestDto { + + @NotBlank + private String cocktailName; + + @NotNull + private Cocktail.AlcoholStrength alcoholStrength; + + private String cocktailStory; + private Cocktail.CocktailType cocktailType; + private String ingredient; + private String recipe; + private String imageUrl; + +} diff --git a/src/main/java/com/back/domain/cocktail/dto/CocktailResponseDto.java b/src/main/java/com/back/domain/cocktail/dto/CocktailResponseDto.java new file mode 100644 index 00000000..db4712b5 --- /dev/null +++ b/src/main/java/com/back/domain/cocktail/dto/CocktailResponseDto.java @@ -0,0 +1,26 @@ +package com.back.domain.cocktail.dto; + +import com.back.domain.cocktail.entity.Cocktail; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class CocktailResponseDto { + + private long cocktailId; + private String cocktailName; + private Cocktail.AlcoholStrength alcoholStrength; + private String cocktailStory; + private Cocktail.CocktailType cocktailType; + private String ingredient; + private String recipe; + private String imageUrl; + private LocalDateTime createdAt; + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/src/main/java/com/back/domain/cocktail/entity/Cocktail.java b/src/main/java/com/back/domain/cocktail/entity/Cocktail.java new file mode 100644 index 00000000..8a7a5126 --- /dev/null +++ b/src/main/java/com/back/domain/cocktail/entity/Cocktail.java @@ -0,0 +1,77 @@ +package com.back.domain.cocktail.entity; + +import jakarta.persistence.*; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +import static jakarta.persistence.GenerationType.IDENTITY; + + +@Getter +@Setter +@NoArgsConstructor +@Entity +public class Cocktail { + @Id + @GeneratedValue(strategy = IDENTITY) + private long cocktailId; + + private String cocktailName; + + @Enumerated(EnumType.STRING) + private AlcoholStrength alcoholStrength; // 칵테일 알콜 도수 + + public enum AlcoholStrength { + NON_ALCOHOLIC("논알콜 (0%)"), + WEAK("약한 도수 (1~5%)"), + LIGHT("가벼운 도수 (6~15%)"), + MEDIUM("중간 도수 (16~25%)"), + STRONG("센 도수 (26~35%)"), + VERY_STRONG("매우 센 도수 (36%~)"); + + private final String description; + + AlcoholStrength(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + } + + private String cocktailStory; // 칵테일 유래 등 이야기 + + @Enumerated(EnumType.STRING) + private CocktailType cocktailType; // 칵테일 컵에 따른 분류 + + public enum CocktailType { + SHORT("숏"), + LONG("롱"), + SHOOTER("슈터"), + CLASSIC("클래식"); + + private final String description; + + CocktailType(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + } + + private String ingredient; + + private String recipe; + + private String imageUrl; + + private LocalDateTime createdAt; + + private LocalDateTime updatedAt; +} diff --git a/src/main/java/com/back/domain/cocktail/repository/CocktailRepository.java b/src/main/java/com/back/domain/cocktail/repository/CocktailRepository.java new file mode 100644 index 00000000..df7177a0 --- /dev/null +++ b/src/main/java/com/back/domain/cocktail/repository/CocktailRepository.java @@ -0,0 +1,9 @@ +package com.back.domain.cocktail.repository; + +import com.back.domain.cocktail.entity.Cocktail; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface CocktailRepository extends JpaRepository { +} diff --git a/src/main/java/com/back/domain/user/entity/User.java b/src/main/java/com/back/domain/user/entity/User.java index 5edbc08a..d08cc57e 100644 --- a/src/main/java/com/back/domain/user/entity/User.java +++ b/src/main/java/com/back/domain/user/entity/User.java @@ -35,4 +35,6 @@ public class User { @Builder.Default @Column(nullable = false, length = 20) private String role = "USER"; + + private String profileImgUrl; } \ No newline at end of file diff --git a/src/main/java/com/back/domain/wishlist/entity/Wishlist.java b/src/main/java/com/back/domain/wishlist/entity/Wishlist.java index d381ebfa..f48bc18a 100644 --- a/src/main/java/com/back/domain/wishlist/entity/Wishlist.java +++ b/src/main/java/com/back/domain/wishlist/entity/Wishlist.java @@ -1,5 +1,6 @@ package com.back.domain.wishlist.entity; +import com.back.domain.cocktail.entity.Cocktail; import com.back.domain.user.entity.User; import com.back.domain.wishlist.enums.WishlistStatus; import jakarta.persistence.*; @@ -25,8 +26,8 @@ public class Wishlist { private User user; // 찜한 사용자 (위시리스트의 주인) // TODO: Cocktail 도메인 추가 후 활성화 -// @ManyToOne -// private Cocktail cocktail; + @ManyToOne + private Cocktail cocktail; @Enumerated(EnumType.STRING) @Column(nullable = false)