Skip to content

Commit 89666eb

Browse files
authored
장바구니 코드 수정 (#381)
1 parent 79e74b6 commit 89666eb

File tree

21 files changed

+194
-101
lines changed

21 files changed

+194
-101
lines changed

src/main/java/com/back/domain/cart/controller/CartController.java

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.back.domain.cart.service.CartService;
77
import com.back.domain.user.entity.User;
88
import com.back.global.rsData.RsData;
9+
import com.back.global.security.auth.CustomUserDetails;
910
import io.swagger.v3.oas.annotations.Operation;
1011
import io.swagger.v3.oas.annotations.tags.Tag;
1112
import 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));

src/main/java/com/back/domain/order/exchange/controller/ExchangeController.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.back.domain.order.exchange.dto.response.ExchangeResponseDto;
55
import com.back.domain.order.exchange.service.ExchangeService;
66
import com.back.domain.user.entity.User;
7+
import com.back.global.security.auth.CustomUserDetails;
78
import io.swagger.v3.oas.annotations.Operation;
89
import io.swagger.v3.oas.annotations.tags.Tag;
910
import jakarta.validation.Valid;
@@ -33,8 +34,9 @@ public class ExchangeController {
3334
@Operation(summary = "교환 신청", description = "배송완료된 주문에 대해 교환을 신청합니다.")
3435
public ResponseEntity<ExchangeResponseDto> createExchange(
3536
@Valid @RequestBody ExchangeRequestDto requestDto,
36-
@AuthenticationPrincipal User user
37+
@AuthenticationPrincipal CustomUserDetails customUserDetails
3738
) {
39+
User user = customUserDetails.getUser();
3840
ExchangeResponseDto responseDto = exchangeService.createExchange(requestDto, user);
3941
return ResponseEntity.status(HttpStatus.CREATED).body(responseDto);
4042
}
@@ -50,8 +52,9 @@ public ResponseEntity<Page<ExchangeResponseDto>> getExchangeList(
5052
sort = "createDate",
5153
direction = Sort.Direction.DESC
5254
) Pageable pageable,
53-
@AuthenticationPrincipal User user
55+
@AuthenticationPrincipal CustomUserDetails customUserDetails
5456
) {
57+
User user = customUserDetails.getUser();
5558
Page<ExchangeResponseDto> result = exchangeService.getItemsByUser(user, pageable);
5659
return ResponseEntity.ok(result);
5760
}
@@ -63,8 +66,9 @@ public ResponseEntity<Page<ExchangeResponseDto>> getExchangeList(
6366
@Operation(summary = "교환 상세 조회", description = "특정 교환의 상세 정보를 조회합니다.")
6467
public ResponseEntity<ExchangeResponseDto> getExchangeDetail(
6568
@PathVariable Long exchangeId,
66-
@AuthenticationPrincipal User user
69+
@AuthenticationPrincipal CustomUserDetails customUserDetails
6770
) {
71+
User user = customUserDetails.getUser();
6872
ExchangeResponseDto result = exchangeService.getItem(exchangeId, user);
6973
return ResponseEntity.ok(result);
7074
}
@@ -77,8 +81,9 @@ public ResponseEntity<ExchangeResponseDto> getExchangeDetail(
7781
@Operation(summary = "교환 승인", description = "관리자가 교환을 승인합니다. (관리자 전용)")
7882
public ResponseEntity<ExchangeResponseDto> approveExchange(
7983
@PathVariable Long exchangeId,
80-
@AuthenticationPrincipal User admin
84+
@AuthenticationPrincipal CustomUserDetails customUserDetails
8185
) {
86+
User admin = customUserDetails.getUser();
8287
ExchangeResponseDto responseDto = exchangeService.approveItem(exchangeId, admin);
8388
return ResponseEntity.ok(responseDto);
8489
}

src/main/java/com/back/domain/order/order/controller/OrderController.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.back.domain.order.order.dto.response.OrderResponseDto;
99
import com.back.domain.order.order.service.OrderService;
1010
import com.back.domain.user.entity.User;
11+
import com.back.global.security.auth.CustomUserDetails;
1112
import io.swagger.v3.oas.annotations.Operation;
1213
import io.swagger.v3.oas.annotations.tags.Tag;
1314
import jakarta.validation.Valid;
@@ -37,8 +38,9 @@ public class OrderController {
3738
@Operation(summary = "주문 생성", description = "장바구니 상품을 주문으로 변환하여 주문을 생성합니다.")
3839
public ResponseEntity<OrderResponseDto> createOrder(
3940
@Valid @RequestBody OrderRequestDto requestDto,
40-
@AuthenticationPrincipal User user
41+
@AuthenticationPrincipal CustomUserDetails customUserDetails
4142
) {
43+
User user = customUserDetails.getUser();
4244
OrderResponseDto responseDto = orderService.createOrder(user, requestDto);
4345
return ResponseEntity.status(HttpStatus.CREATED).body(responseDto);
4446
}
@@ -54,8 +56,9 @@ public ResponseEntity<Page<OrderResponseDto>> getOrderList(
5456
sort = "orderDate",
5557
direction = Sort.Direction.DESC
5658
) Pageable pageable,
57-
@AuthenticationPrincipal User user
59+
@AuthenticationPrincipal CustomUserDetails customUserDetails
5860
) {
61+
User user = customUserDetails.getUser();
5962
Page<OrderResponseDto> result = orderService.getOrderList(user, pageable);
6063
return ResponseEntity.ok(result);
6164
}
@@ -67,8 +70,9 @@ public ResponseEntity<Page<OrderResponseDto>> getOrderList(
6770
@Operation(summary = "주문 상세 조회", description = "특정 주문의 상세 정보를 조회합니다.")
6871
public ResponseEntity<OrderResponseDto> getOrderDetail(
6972
@PathVariable Long orderId,
70-
@AuthenticationPrincipal User user
73+
@AuthenticationPrincipal CustomUserDetails customUserDetails
7174
) {
75+
User user = customUserDetails.getUser();
7276
OrderResponseDto result = orderService.getOrderDetail(orderId, user);
7377
return ResponseEntity.ok(result);
7478
}
@@ -81,8 +85,9 @@ public ResponseEntity<OrderResponseDto> getOrderDetail(
8185
public ResponseEntity<Void> cancelOrder(
8286
@PathVariable Long orderId,
8387
@Valid @RequestBody OrderCancelRequestDto requestDto,
84-
@AuthenticationPrincipal User user
88+
@AuthenticationPrincipal CustomUserDetails customUserDetails
8589
) {
90+
User user = customUserDetails.getUser();
8691
orderService.cancelOrder(orderId, user, requestDto);
8792
return ResponseEntity.ok().build();
8893
}
@@ -95,8 +100,9 @@ public ResponseEntity<Void> cancelOrder(
95100
public ResponseEntity<Void> requestRefund(
96101
@PathVariable Long orderId,
97102
@Valid @RequestBody OrderRefundRequestDto requestDto,
98-
@AuthenticationPrincipal User user
103+
@AuthenticationPrincipal CustomUserDetails customUserDetails
99104
) {
105+
User user = customUserDetails.getUser();
100106
orderService.requestRefund(orderId, user, requestDto);
101107
return ResponseEntity.ok().build();
102108
}
@@ -109,8 +115,9 @@ public ResponseEntity<Void> requestRefund(
109115
public ResponseEntity<Void> requestExchange(
110116
@PathVariable Long orderId,
111117
@Valid @RequestBody OrderExchangeRequestDto requestDto,
112-
@AuthenticationPrincipal User user
118+
@AuthenticationPrincipal CustomUserDetails customUserDetails
113119
) {
120+
User user = customUserDetails.getUser();
114121
orderService.requestExchange(orderId, user, requestDto);
115122
return ResponseEntity.ok().build();
116123
}
@@ -123,8 +130,9 @@ public ResponseEntity<Void> requestExchange(
123130
@Operation(summary = "주문 취소 승인", description = "관리자가 주문 취소를 승인합니다. (관리자 전용)")
124131
public ResponseEntity<Void> approveOrderCancellation(
125132
@PathVariable Long orderId,
126-
@AuthenticationPrincipal User admin
133+
@AuthenticationPrincipal CustomUserDetails customUserDetails
127134
) {
135+
User admin = customUserDetails.getUser();
128136
orderService.approveOrderCancellation(orderId, admin);
129137
return ResponseEntity.ok().build();
130138
}
@@ -138,8 +146,9 @@ public ResponseEntity<Void> approveOrderCancellation(
138146
public ResponseEntity<Void> changeOrderStatus(
139147
@PathVariable Long orderId,
140148
@Valid @RequestBody OrderStatusChangeRequestDto requestDto,
141-
@AuthenticationPrincipal User user
149+
@AuthenticationPrincipal CustomUserDetails customUserDetails
142150
) {
151+
User user = customUserDetails.getUser();
143152
orderService.changeOrderStatus(orderId, requestDto, user);
144153
return ResponseEntity.ok().build();
145154
}

src/main/java/com/back/domain/order/refund/controller/RefundController.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.back.domain.order.refund.dto.response.RefundResponseDto;
55
import com.back.domain.order.refund.service.RefundService;
66
import com.back.domain.user.entity.User;
7+
import com.back.global.security.auth.CustomUserDetails;
78
import io.swagger.v3.oas.annotations.Operation;
89
import io.swagger.v3.oas.annotations.tags.Tag;
910
import jakarta.validation.Valid;
@@ -33,8 +34,9 @@ public class RefundController {
3334
@Operation(summary = "환불 신청", description = "배송완료된 주문에 대해 환불을 신청합니다.")
3435
public ResponseEntity<RefundResponseDto> createRefund(
3536
@Valid @RequestBody RefundRequestDto requestDto,
36-
@AuthenticationPrincipal User user
37+
@AuthenticationPrincipal CustomUserDetails customUserDetails
3738
) {
39+
User user = customUserDetails.getUser();
3840
RefundResponseDto responseDto = refundService.createRefund(requestDto, user);
3941
return ResponseEntity.status(HttpStatus.CREATED).body(responseDto);
4042
}
@@ -50,8 +52,9 @@ public ResponseEntity<Page<RefundResponseDto>> getRefundList(
5052
sort = "createDate",
5153
direction = Sort.Direction.DESC
5254
) Pageable pageable,
53-
@AuthenticationPrincipal User user
55+
@AuthenticationPrincipal CustomUserDetails customUserDetails
5456
) {
57+
User user = customUserDetails.getUser();
5558
Page<RefundResponseDto> result = refundService.getItemsByUser(user, pageable);
5659
return ResponseEntity.ok(result);
5760
}
@@ -63,8 +66,9 @@ public ResponseEntity<Page<RefundResponseDto>> getRefundList(
6366
@Operation(summary = "환불 상세 조회", description = "특정 환불의 상세 정보를 조회합니다.")
6467
public ResponseEntity<RefundResponseDto> getRefundDetail(
6568
@PathVariable Long refundId,
66-
@AuthenticationPrincipal User user
69+
@AuthenticationPrincipal CustomUserDetails customUserDetails
6770
) {
71+
User user = customUserDetails.getUser();
6872
RefundResponseDto result = refundService.getItem(refundId, user);
6973
return ResponseEntity.ok(result);
7074
}
@@ -77,8 +81,9 @@ public ResponseEntity<RefundResponseDto> getRefundDetail(
7781
@Operation(summary = "환불 승인", description = "관리자가 환불을 승인합니다. (관리자 전용)")
7882
public ResponseEntity<RefundResponseDto> approveRefund(
7983
@PathVariable Long refundId,
80-
@AuthenticationPrincipal User admin
84+
@AuthenticationPrincipal CustomUserDetails customUserDetails
8185
) {
86+
User admin = customUserDetails.getUser();
8287
RefundResponseDto responseDto = refundService.approveItem(refundId, admin);
8388
return ResponseEntity.ok(responseDto);
8489
}

src/main/java/com/back/domain/payment/cash/controller/CashChargeController.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.back.domain.payment.cash.dto.response.CashChargeResponseDto;
55
import com.back.domain.payment.cash.service.CashChargeService;
66
import com.back.domain.user.entity.User;
7+
import com.back.global.security.auth.CustomUserDetails;
78
import io.swagger.v3.oas.annotations.tags.Tag;
89
import lombok.RequiredArgsConstructor;
910
import org.springframework.http.ResponseEntity;
@@ -27,8 +28,9 @@ public class CashChargeController {
2728
@PostMapping
2829
public ResponseEntity<CashChargeResponseDto> createChargeRequest(
2930
@RequestBody CashChargeRequestDto requestDto,
30-
@AuthenticationPrincipal User user) {
31+
@AuthenticationPrincipal CustomUserDetails customUserDetails) {
3132

33+
User user = customUserDetails.getUser();
3234
CashChargeResponseDto response = cashChargeService.createChargeRequest(requestDto, user);
3335
return ResponseEntity.ok(response);
3436
}

0 commit comments

Comments
 (0)