개발 기록/도서관 관리 시스템

[Library Management System] 25.09.08 (41일)

dev.jelee 2025. 9. 8. 23:03

[ 작업한 내용 ]

▶ 도서 대출 상세 내역 조회

1. AdminLoanDetailResDTO

- 도서 대출 상세 내역 조회 시 응답 DTO

- id, userId, bookId, loanDate, dueDate, returnDate, extended, status 필드

- Loan 엔티티를 파라미터로 받는 AdminLoanDetailResDTO() 생성자 함수 정의


2. messages.properteis

- 도서 대출 상세 내역 조회 성공 메시지 정의.

- success.loan.deatil=도서 대출 상세 정보가 성공적으로 조회되었습니다.


3. LoanSuccessCode

- 도서 대출 상세 내역 조회 성공했을 경우 성공 응답 코드 정의.

- LOAN_DETAIL_FETCHED_SUCCESS(HttpStatus.OK, "LOAN_206", "success.loan.deatil");


4. AdminLoanController

- GET /api/v1/admin/loans/{loanId} 요청을 처리하며, @PathVariable("loanId")를 통해 loanId값을 파라미터로 받는다.

- 전달받은 loanId를 Service 레이어로 넘겨, 해당 도서 대출 상세 정보를 조회하고 AdminLoanDetailResDTO타입으로 결과를 반환한다.

- 클라이언트 측으로 응답시 ApiResponse형식으로 감싸져 성공 코드, 성공 메시지, 응답 DTO를 반환한다.


5. AdminLoanService

- Controller에서 전달받은 loanId를 기반으로, loanRepository.findById()메서드를 사용해 DB에서 해당 도서 대출 상세 정보를 조회하여 Loan 엔티티 형태로 저장하고, 만약에 데이터가 없다면 LoanErrorCode.LOAN_NOT_FOUND 예외를 던진다.

- 조회된 Loan 엔티티를 기반으로 AdminLoanDetailResDTO형태로 객체를 생성하여 Controller로 반환한다.


commit.
도서 상세내역 조회 성공(좌), 도서 상세내역 조회 데이터 없음(우)