Skip to content

Commit db647bb

Browse files
authored
[TB-29] 영수증 상세 조회 API 응답 DTO 구조 변경 (#34)
1 parent 752494a commit db647bb

File tree

6 files changed

+20
-59
lines changed

6 files changed

+20
-59
lines changed

src/main/java/com/ClubAccount_BE/receipt/adapter/in/web/FindReceiptController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import com.ClubAccount_BE.core.response.PagingResponse;
44
import com.ClubAccount_BE.receipt.adapter.in.web.api.FindReceiptApi;
55
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptCategoryResponse;
6-
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptDetailResponse;
76
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptExpenseResponse;
7+
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptItemResponse;
88
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptResponse;
99
import com.ClubAccount_BE.receipt.application.port.in.FindReceiptUseCase;
1010
import jakarta.validation.constraints.Positive;
@@ -40,11 +40,11 @@ public PagingResponse<ReceiptResponse> getReceiptList(
4040
}
4141

4242
@GetMapping("/{link}/receipts/{receiptId}")
43-
public ReceiptDetailResponse getReceipt(
43+
public List<ReceiptItemResponse> getReceiptItem(
4444
@PathVariable(value = "link") UUID link,
4545
@PathVariable("receiptId") Long receiptId
4646
) {
47-
return findReceiptUseCase.getReceipt(link, receiptId);
47+
return findReceiptUseCase.getReceiptItem(link, receiptId);
4848
}
4949

5050
@GetMapping("/{link}/receipts/category")

src/main/java/com/ClubAccount_BE/receipt/adapter/in/web/api/FindReceiptApi.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import com.ClubAccount_BE.core.response.PagingResponse;
44
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptCategoryResponse;
5-
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptDetailResponse;
65
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptExpenseResponse;
6+
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptItemResponse;
77
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptResponse;
88
import io.swagger.v3.oas.annotations.Operation;
99
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -32,8 +32,8 @@ PagingResponse<ReceiptResponse> getReceiptList(
3232
@PageableDefault(page = 1, sort = "createdAt", direction = Sort.Direction.ASC) Pageable pageable
3333
);
3434

35-
@Operation(summary = "영수증 상세 목록 조회", description = "파싱된 영수증 정보를 조회한다.")
36-
ReceiptDetailResponse getReceipt(
35+
@Operation(summary = "영수증 상세 목록 조회", description = "파싱된 영수증 상세 아이템을 조회한다.")
36+
List<ReceiptItemResponse> getReceiptItem(
3737
@PathVariable(value = "link") UUID link,
3838
@PathVariable("receiptId") Long receiptId
3939
);

src/main/java/com/ClubAccount_BE/receipt/adapter/in/web/dto/response/ReceiptDetailResponse.java

Lines changed: 0 additions & 36 deletions
This file was deleted.
Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,25 @@
11
package com.ClubAccount_BE.receipt.adapter.in.web.dto.response;
22

33
import com.ClubAccount_BE.receipt.domain.ReceiptItem;
4-
import java.util.List;
4+
import java.math.BigDecimal;
55
import lombok.Builder;
66

77
@Builder
88
public record ReceiptItemResponse(
99
Long id,
1010
String name,
11-
String price,
12-
String totalPrice,
13-
int quantity
11+
int quantity,
12+
BigDecimal price,
13+
BigDecimal totalPrice
1414
) {
1515

1616
public static ReceiptItemResponse of(ReceiptItem receiptItem) {
1717
return ReceiptItemResponse.builder()
1818
.id(receiptItem.getId())
1919
.name(receiptItem.getName())
20-
.price(receiptItem.getPrice().toString())
21-
.totalPrice(receiptItem.getTotalPrice().toString())
2220
.quantity(receiptItem.getQuantity())
21+
.price(receiptItem.getPrice())
22+
.totalPrice(receiptItem.getTotalPrice())
2323
.build();
2424
}
25-
26-
public static List<ReceiptItemResponse> of(List<ReceiptItem> items) {
27-
return items.stream()
28-
.map(ReceiptItemResponse::of)
29-
.toList();
30-
}
3125
}

src/main/java/com/ClubAccount_BE/receipt/application/port/in/FindReceiptUseCase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import com.ClubAccount_BE.core.response.PagingResponse;
44
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptCategoryResponse;
5-
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptDetailResponse;
65
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptExpenseResponse;
6+
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptItemResponse;
77
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptResponse;
88
import java.time.LocalDate;
99
import java.util.List;
@@ -21,7 +21,7 @@ PagingResponse<ReceiptResponse> getReceiptList(
2121
Pageable pageable
2222
);
2323

24-
ReceiptDetailResponse getReceipt(UUID link, Long receiptId);
24+
List<ReceiptItemResponse> getReceiptItem(UUID link, Long receiptId);
2525

2626
List<ReceiptExpenseResponse> getReceiptExpenseList(UUID link, int year);
2727
}

src/main/java/com/ClubAccount_BE/receipt/application/service/FindReceiptService.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import com.ClubAccount_BE.core.exception.ApiException;
66
import com.ClubAccount_BE.core.response.PagingResponse;
77
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptCategoryResponse;
8-
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptDetailResponse;
98
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptExpenseResponse;
9+
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptItemResponse;
1010
import com.ClubAccount_BE.receipt.adapter.in.web.dto.response.ReceiptResponse;
1111
import com.ClubAccount_BE.receipt.application.port.in.FindReceiptUseCase;
1212
import com.ClubAccount_BE.receipt.application.port.out.FindReceiptPort;
@@ -35,11 +35,14 @@ public class FindReceiptService implements FindReceiptUseCase {
3535
private final ReceiptEditor receiptEditor;
3636

3737
@Override
38-
public ReceiptDetailResponse getReceipt(UUID link, Long receiptId) {
38+
public List<ReceiptItemResponse> getReceiptItem(UUID link, Long receiptId) {
3939

4040
User user = findUserPort.getUserByLink(link);
4141
Receipt receipt = findReceiptPort.getReceipt(user, receiptId);
42-
return ReceiptDetailResponse.of(receipt);
42+
return receipt.getReceiptItems()
43+
.stream()
44+
.map(ReceiptItemResponse::of)
45+
.toList();
4346
}
4447

4548
@Override

0 commit comments

Comments
 (0)