File tree Expand file tree Collapse file tree 6 files changed +112
-0
lines changed
src/main/java/com/back/domain/wishlist Expand file tree Collapse file tree 6 files changed +112
-0
lines changed Original file line number Diff line number Diff line change 3535
3636# ## VS Code ###
3737.vscode /
38+
39+ # ## Custom ###
40+ db_dev.mv.db
41+ db_dev.trace.db
Original file line number Diff line number Diff line change 1+ package com .back .domain .wishlist .dto ;
2+
3+ import com .back .domain .wishlist .enums .WishlistStatus ;
4+ import jakarta .validation .constraints .NotNull ;
5+ import lombok .AllArgsConstructor ;
6+ import lombok .Builder ;
7+ import lombok .Getter ;
8+ import lombok .NoArgsConstructor ;
9+
10+ @ Getter
11+ @ NoArgsConstructor
12+ @ AllArgsConstructor
13+ @ Builder
14+ public class WishlistRequestDto {
15+
16+ @ NotNull
17+ private Long userId ;
18+
19+ // 생성 시 기본값 ACTIVE, 필요시 상태 지정 업데이트용으로 재사용 가능
20+ private WishlistStatus status ;
21+ }
22+
Original file line number Diff line number Diff line change 1+ package com .back .domain .wishlist .dto ;
2+
3+ import com .back .domain .wishlist .entity .Wishlist ;
4+ import com .back .domain .wishlist .enums .WishlistStatus ;
5+ import lombok .AllArgsConstructor ;
6+ import lombok .Builder ;
7+ import lombok .Getter ;
8+ import lombok .NoArgsConstructor ;
9+
10+ import java .time .LocalDateTime ;
11+
12+ @ Getter
13+ @ NoArgsConstructor
14+ @ AllArgsConstructor
15+ @ Builder
16+ public class WishlistResponseDto {
17+ private Long id ;
18+ private Long userId ;
19+ private WishlistStatus status ;
20+ private LocalDateTime createdAt ;
21+
22+ public static WishlistResponseDto from (Wishlist wishlist ) {
23+ if (wishlist == null ) return null ;
24+ return WishlistResponseDto .builder ()
25+ .id (wishlist .getId ())
26+ .userId (wishlist .getUser () != null ? wishlist .getUser ().getId () : null )
27+ .status (wishlist .getStatus ())
28+ .createdAt (wishlist .getCreatedAt ())
29+ .build ();
30+ }
31+ }
32+
Original file line number Diff line number Diff line change 1+ package com .back .domain .wishlist .entity ;
2+
3+ import com .back .domain .user .entity .User ;
4+ import com .back .domain .wishlist .enums .WishlistStatus ;
5+ import jakarta .persistence .*;
6+ import lombok .Getter ;
7+ import lombok .NoArgsConstructor ;
8+ import lombok .Setter ;
9+
10+ import java .time .LocalDateTime ;
11+
12+ @ Entity
13+ @ Getter
14+ @ Setter
15+ @ NoArgsConstructor
16+ public class Wishlist {
17+
18+ @ Id
19+ @ GeneratedValue (strategy = GenerationType .IDENTITY )
20+ private Long id ;
21+
22+ private LocalDateTime createdAt ;
23+
24+ @ ManyToOne
25+ private User user ; // 찜한 사용자 (위시리스트의 주인)
26+
27+ // TODO: Cocktail 도메인 추가 후 활성화
28+ // @ManyToOne
29+ // private Cocktail cocktail;
30+
31+ @ Enumerated (EnumType .STRING )
32+ @ Column (nullable = false )
33+ // 위시리스트 상태 - 기본값은 ACTIVE (활성 상태)
34+ // ACTIVE: 찜한 상태, DELETED: 찜 해제한 상태 (Soft Delete)
35+ private WishlistStatus status = WishlistStatus .ACTIVE ;
36+ }
Original file line number Diff line number Diff line change 1+ package com .back .domain .wishlist .enums ;
2+
3+ import lombok .Getter ;
4+
5+ @ Getter
6+ public enum WishlistStatus {
7+ ACTIVE ,
8+ DELETED
9+ }
Original file line number Diff line number Diff line change 1+ package com .back .domain .wishlist .repository ;
2+
3+ import com .back .domain .wishlist .entity .Wishlist ;
4+ import org .springframework .data .jpa .repository .JpaRepository ;
5+ import org .springframework .stereotype .Repository ;
6+
7+ @ Repository
8+ public interface WishlistRepository extends JpaRepository <Wishlist , Long > {
9+ }
You can’t perform that action at this time.
0 commit comments