From c246e0f1f7c6ec872ab87563986115041fde9158 Mon Sep 17 00:00:00 2001 From: psyeon1120 Date: Sun, 6 Aug 2023 01:07:56 +0900 Subject: [PATCH] =?UTF-8?q?#55=20refactor:=20=EB=AC=B8=EC=9D=98=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20response=20=ED=98=95?= =?UTF-8?q?=ED=83=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../psr/inquiry/controller/InquiryController.kt | 5 ++--- .../com/psr/psr/inquiry/dto/InquiryAssembler.kt | 17 ++++++++++++----- .../com/psr/psr/inquiry/dto/InquiryListRes.kt | 3 +-- .../com/psr/psr/inquiry/dto/InquiryRes.kt | 6 +++++- .../psr/inquiry/repository/InquiryRepository.kt | 4 ++-- .../psr/psr/inquiry/service/InquiryService.kt | 13 ++++++------- 6 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/main/kotlin/com/psr/psr/inquiry/controller/InquiryController.kt b/src/main/kotlin/com/psr/psr/inquiry/controller/InquiryController.kt index c9b902f..53e0d9a 100644 --- a/src/main/kotlin/com/psr/psr/inquiry/controller/InquiryController.kt +++ b/src/main/kotlin/com/psr/psr/inquiry/controller/InquiryController.kt @@ -24,14 +24,13 @@ class InquiryController( // 문의하기 상세 조회 @GetMapping("/{inquiryId}") - fun getInquiryDetails (@AuthenticationPrincipal userAccount: UserAccount, @PathVariable inquiryId: Long - ) : BaseResponse { + fun getInquiryDetails (@AuthenticationPrincipal userAccount: UserAccount, @PathVariable inquiryId: Long) : BaseResponse { return BaseResponse(inquiryService.getInquiryDetails(userAccount.getUser(), inquiryId)) } // 문의하기 목록 조회 @GetMapping - fun getInquiryList (@AuthenticationPrincipal userAccount: UserAccount, @RequestParam status: String) : BaseResponse> { + fun getInquiryList (@AuthenticationPrincipal userAccount: UserAccount, @RequestParam status: String) : BaseResponse { return BaseResponse(inquiryService.getInquiryList(userAccount.getUser(), status)) } diff --git a/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryAssembler.kt b/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryAssembler.kt index aa8d73e..d20c6dd 100644 --- a/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryAssembler.kt +++ b/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryAssembler.kt @@ -14,11 +14,9 @@ class InquiryAssembler { ) } - fun toListDto(inquiry: Inquiry): InquiryListRes { - return InquiryListRes( - inquiryId = inquiry.id!!, - title = inquiry.title!! - ) + fun toListDto(inquiryList: List): InquiryListRes { + if (inquiryList.isEmpty()) return InquiryListRes(null) + return InquiryListRes(inquiryList) } fun toDto(inquiry: Inquiry): InquiryRes { @@ -29,4 +27,13 @@ class InquiryAssembler { answer = inquiry.answer ) } + + fun toPrepareListDto(inquiry: Inquiry): InquiryRes { + return InquiryRes( + inquiryId = inquiry.id!!, + title = inquiry.title!!, + content = null, + answer = null + ) + } } \ No newline at end of file diff --git a/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryListRes.kt b/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryListRes.kt index ab6ab34..09c86a1 100644 --- a/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryListRes.kt +++ b/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryListRes.kt @@ -1,6 +1,5 @@ package com.psr.psr.inquiry.dto data class InquiryListRes ( - val inquiryId: Long, - val title: String + val inquiries: List? ) diff --git a/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryRes.kt b/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryRes.kt index 0a29999..5177c89 100644 --- a/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryRes.kt +++ b/src/main/kotlin/com/psr/psr/inquiry/dto/InquiryRes.kt @@ -1,8 +1,12 @@ package com.psr.psr.inquiry.dto +import com.fasterxml.jackson.annotation.JsonInclude + data class InquiryRes ( val inquiryId: Long, val title: String, - val content: String, + @JsonInclude(JsonInclude.Include.NON_NULL) + val content: String?, + @JsonInclude(JsonInclude.Include.NON_NULL) val answer: String? ) diff --git a/src/main/kotlin/com/psr/psr/inquiry/repository/InquiryRepository.kt b/src/main/kotlin/com/psr/psr/inquiry/repository/InquiryRepository.kt index cb6e209..bc21276 100644 --- a/src/main/kotlin/com/psr/psr/inquiry/repository/InquiryRepository.kt +++ b/src/main/kotlin/com/psr/psr/inquiry/repository/InquiryRepository.kt @@ -8,7 +8,7 @@ import org.springframework.stereotype.Repository @Repository interface InquiryRepository: JpaRepository { - fun findByUserAndInquiryStatusAndStatus(user: User, inquiryStatus: InquiryStatus, status: String): List? - fun findByInquiryStatusAndStatus(inquiryStatus: InquiryStatus, status: String): List? + fun findByUserAndInquiryStatusAndStatus(user: User, inquiryStatus: InquiryStatus, status: String): List + fun findByInquiryStatusAndStatus(inquiryStatus: InquiryStatus, status: String): List fun findByIdAndStatus(inquiryId: Long, status: String): Inquiry? } \ No newline at end of file diff --git a/src/main/kotlin/com/psr/psr/inquiry/service/InquiryService.kt b/src/main/kotlin/com/psr/psr/inquiry/service/InquiryService.kt index bc3aec7..e30298c 100644 --- a/src/main/kotlin/com/psr/psr/inquiry/service/InquiryService.kt +++ b/src/main/kotlin/com/psr/psr/inquiry/service/InquiryService.kt @@ -29,17 +29,16 @@ class InquiryService( } // 문의 목록 조회 - fun getInquiryList(user: User, status: String): List { + fun getInquiryList(user: User, status: String): InquiryListRes { val inquiryStatus: InquiryStatus = InquiryStatus.findByName(status) - val inquiries: List = - if (user.type == Type.MANAGER) + val inquiries: List = + (if (user.type == Type.MANAGER) inquiryRepository.findByInquiryStatusAndStatus(inquiryStatus, ACTIVE_STATUS) - ?: throw BaseException(BaseResponseCode.NOT_FOUND_INQUIRY) else - inquiryRepository.findByUserAndInquiryStatusAndStatus(user, inquiryStatus, ACTIVE_STATUS) - ?: throw BaseException(BaseResponseCode.NOT_FOUND_INQUIRY) + inquiryRepository.findByUserAndInquiryStatusAndStatus(user, inquiryStatus, ACTIVE_STATUS)) + .map { inquiry: Inquiry -> inquiryAssembler.toPrepareListDto(inquiry) } - return inquiries.map { inquiry: Inquiry -> inquiryAssembler.toListDto(inquiry) } + return inquiryAssembler.toListDto(inquiries) } // 문의 답변 등록