66import com .back .domain .cart .service .CartService ;
77import com .back .domain .user .entity .User ;
88import com .back .global .rsData .RsData ;
9+ import com .back .global .security .auth .CustomUserDetails ;
910import io .swagger .v3 .oas .annotations .Operation ;
1011import io .swagger .v3 .oas .annotations .tags .Tag ;
1112import jakarta .validation .Valid ;
@@ -29,66 +30,73 @@ public class CartController {
2930 @ PostMapping
3031 @ Operation (summary = "장바구니에 상품 추가" , description = "새로운 상품을 장바구니에 추가합니다." )
3132 public ResponseEntity <RsData <CartResponseDto >> addToCart (
32- @ AuthenticationPrincipal User user ,
33+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
3334 @ Valid @ RequestBody CartRequestDto requestDto ) {
3435
36+ User user = customUserDetails .getUser ();
3537 CartResponseDto responseDto = cartService .addToCart (user , requestDto );
3638 return ResponseEntity .ok (RsData .of ("200" , "장바구니에 상품이 추가되었습니다." , responseDto ));
3739 }
3840
3941 @ GetMapping
4042 @ Operation (summary = "장바구니 목록 조회" , description = "사용자의 장바구니 목록을 조회합니다." )
41- public ResponseEntity <RsData <CartListResponseDto >> getCartItems (@ AuthenticationPrincipal User user ) {
43+ public ResponseEntity <RsData <CartListResponseDto >> getCartItems (@ AuthenticationPrincipal CustomUserDetails customUserDetails ) {
4244
45+ User user = customUserDetails .getUser ();
4346 CartListResponseDto responseDto = cartService .getCartItems (user );
4447 return ResponseEntity .ok (RsData .of ("200" , "장바구니 목록을 조회했습니다." , responseDto ));
4548 }
4649
4750 @ PutMapping ("/{cartId}/quantity" )
4851 @ Operation (summary = "장바구니 수량 수정" , description = "장바구니 상품의 수량을 수정합니다." )
4952 public ResponseEntity <RsData <CartResponseDto >> updateQuantity (
50- @ AuthenticationPrincipal User user ,
53+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
5154 @ PathVariable Long cartId ,
5255 @ RequestParam Integer quantity ) {
5356
57+ User user = customUserDetails .getUser ();
5458 CartResponseDto responseDto = cartService .updateQuantity (user , cartId , quantity );
5559 return ResponseEntity .ok (RsData .of ("200" , "수량이 수정되었습니다." , responseDto ));
5660 }
5761
5862 @ DeleteMapping ("/{cartId}" )
5963 @ Operation (summary = "장바구니에서 상품 삭제" , description = "장바구니에서 특정 상품을 삭제합니다." )
6064 public ResponseEntity <RsData <Void >> removeFromCart (
61- @ AuthenticationPrincipal User user ,
65+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
6266 @ PathVariable Long cartId ) {
6367
68+ User user = customUserDetails .getUser ();
6469 cartService .removeFromCart (user , cartId );
6570 return ResponseEntity .ok (RsData .of ("200" , "장바구니에서 상품이 삭제되었습니다." ));
6671 }
6772
6873 @ DeleteMapping
6974 @ Operation (summary = "장바구니 전체 삭제" , description = "사용자의 모든 장바구니 아이템을 삭제합니다." )
70- public ResponseEntity <RsData <Void >> clearCart (@ AuthenticationPrincipal User user ) {
75+ public ResponseEntity <RsData <Void >> clearCart (@ AuthenticationPrincipal CustomUserDetails customUserDetails ) {
7176
77+ User user = customUserDetails .getUser ();
7278 cartService .clearCart (user );
7379 return ResponseEntity .ok (RsData .of ("200" , "장바구니가 비워졌습니다." ));
7480 }
7581
7682 @ DeleteMapping ("/type/{cartType}" )
7783 @ Operation (summary = "타입별 장바구니 삭제" , description = "일반 또는 펀딩 장바구니만 삭제합니다." )
7884 public ResponseEntity <RsData <Void >> clearCartByType (
79- @ AuthenticationPrincipal User user ,
85+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
8086 @ PathVariable String cartType ) {
8187
88+ User user = customUserDetails .getUser ();
8289 cartService .clearCartByType (user , cartType );
8390 return ResponseEntity .ok (RsData .of ("200" , cartType + " 장바구니가 비워졌습니다." ));
8491 }
8592
8693 @ PutMapping ("/{cartId}/toggle-selection" )
8794 @ Operation (summary = "장바구니 선택 상태 토글" , description = "장바구니 상품의 선택 상태를 변경합니다." )
8895 public ResponseEntity <RsData <CartResponseDto >> toggleSelection (
89- @ AuthenticationPrincipal User user ,
96+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
9097 @ PathVariable Long cartId ) {
9198
99+ User user = customUserDetails .getUser ();
92100 CartResponseDto responseDto = cartService .toggleSelection (user , cartId );
93101 return ResponseEntity .ok (RsData .of ("200" , "선택 상태가 변경되었습니다." , responseDto ));
94102 }
@@ -99,9 +107,10 @@ public ResponseEntity<RsData<CartResponseDto>> toggleSelection(
99107 description = "선택된 장바구니 아이템들을 조회합니다. validateForOrder=true 시 유효한 아이템만 반환합니다."
100108 )
101109 public ResponseEntity <RsData <List <CartResponseDto >>> getSelectedCartItems (
102- @ AuthenticationPrincipal User user ,
110+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
103111 @ RequestParam (defaultValue = "false" ) boolean validateForOrder ) {
104112
113+ User user = customUserDetails .getUser ();
105114 List <CartResponseDto > responseDtos = cartService .getSelectedCartItems (user , validateForOrder );
106115 String message = validateForOrder ?
107116 "선택 주문 가능한 장바구니 아이템을 조회했습니다." :
@@ -115,9 +124,10 @@ public ResponseEntity<RsData<List<CartResponseDto>>> getSelectedCartItems(
115124 description = "모든 장바구니 아이템을 조회합니다. validateForOrder=true 시 유효한 아이템만 반환합니다."
116125 )
117126 public ResponseEntity <RsData <List <CartResponseDto >>> getAllCartItems (
118- @ AuthenticationPrincipal User user ,
127+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
119128 @ RequestParam (defaultValue = "false" ) boolean validateForOrder ) {
120129
130+ User user = customUserDetails .getUser ();
121131 List <CartResponseDto > responseDtos = cartService .getAllCartItems (user , validateForOrder );
122132 String message = validateForOrder ?
123133 "전체 주문 가능한 장바구니 아이템을 조회했습니다." :
@@ -128,9 +138,10 @@ public ResponseEntity<RsData<List<CartResponseDto>>> getAllCartItems(
128138 @ PostMapping ("/validate" )
129139 @ Operation (summary = "장바구니 주문 가능 여부 검증" , description = "전체 또는 선택된 장바구니 아이템들의 주문 가능 여부를 검증합니다." )
130140 public ResponseEntity <RsData <Void >> validateCartItemsForOrder (
131- @ AuthenticationPrincipal User user ,
141+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
132142 @ RequestParam (defaultValue = "false" ) boolean isFullOrder ) {
133143
144+ User user = customUserDetails .getUser ();
134145 cartService .validateCartItemsForOrder (user , isFullOrder );
135146 String message = isFullOrder ? "전체 주문 가능합니다." : "선택 주문 가능합니다." ;
136147 return ResponseEntity .ok (RsData .of ("200" , message ));
@@ -139,9 +150,10 @@ public ResponseEntity<RsData<Void>> validateCartItemsForOrder(
139150 @ GetMapping ("/total-amount" )
140151 @ Operation (summary = "장바구니 총 금액 계산" , description = "전체 또는 선택된 장바구니 아이템들의 총 금액을 계산합니다." )
141152 public ResponseEntity <RsData <Integer >> calculateTotalAmount (
142- @ AuthenticationPrincipal User user ,
153+ @ AuthenticationPrincipal CustomUserDetails customUserDetails ,
143154 @ RequestParam (defaultValue = "false" ) boolean isFullOrder ) {
144155
156+ User user = customUserDetails .getUser ();
145157 Integer totalAmount = cartService .calculateTotalAmount (user , isFullOrder );
146158 String message = isFullOrder ? "전체 장바구니 총 금액" : "선택된 장바구니 총 금액" ;
147159 return ResponseEntity .ok (RsData .of ("200" , message , totalAmount ));
0 commit comments