Skip to content

Commit

Permalink
Merge pull request #63 from PSR-Co/refactor/#55-list-response
Browse files Browse the repository at this point in the history
[refactor] 문의 목록 조회 response 형태 변경
  • Loading branch information
psyeon1120 authored Aug 5, 2023
2 parents 470f024 + c246e0f commit befa2cb
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,13 @@ class InquiryController(

// 문의하기 상세 조회
@GetMapping("/{inquiryId}")
fun getInquiryDetails (@AuthenticationPrincipal userAccount: UserAccount, @PathVariable inquiryId: Long
) : BaseResponse<InquiryRes> {
fun getInquiryDetails (@AuthenticationPrincipal userAccount: UserAccount, @PathVariable inquiryId: Long) : BaseResponse<InquiryRes> {
return BaseResponse(inquiryService.getInquiryDetails(userAccount.getUser(), inquiryId))
}

// 문의하기 목록 조회
@GetMapping
fun getInquiryList (@AuthenticationPrincipal userAccount: UserAccount, @RequestParam status: String) : BaseResponse<List<InquiryListRes>> {
fun getInquiryList (@AuthenticationPrincipal userAccount: UserAccount, @RequestParam status: String) : BaseResponse<InquiryListRes?> {
return BaseResponse(inquiryService.getInquiryList(userAccount.getUser(), status))
}

Expand Down
17 changes: 12 additions & 5 deletions src/main/kotlin/com/psr/psr/inquiry/dto/InquiryAssembler.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ class InquiryAssembler {
)
}

fun toListDto(inquiry: Inquiry): InquiryListRes {
return InquiryListRes(
inquiryId = inquiry.id!!,
title = inquiry.title!!
)
fun toListDto(inquiryList: List<InquiryRes>): InquiryListRes {
if (inquiryList.isEmpty()) return InquiryListRes(null)
return InquiryListRes(inquiryList)
}

fun toDto(inquiry: Inquiry): InquiryRes {
Expand All @@ -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
)
}
}
3 changes: 1 addition & 2 deletions src/main/kotlin/com/psr/psr/inquiry/dto/InquiryListRes.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.psr.psr.inquiry.dto

data class InquiryListRes (
val inquiryId: Long,
val title: String
val inquiries: List<InquiryRes>?
)
6 changes: 5 additions & 1 deletion src/main/kotlin/com/psr/psr/inquiry/dto/InquiryRes.kt
Original file line number Diff line number Diff line change
@@ -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?
)
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import org.springframework.stereotype.Repository

@Repository
interface InquiryRepository: JpaRepository<Inquiry, Long> {
fun findByUserAndInquiryStatusAndStatus(user: User, inquiryStatus: InquiryStatus, status: String): List<Inquiry>?
fun findByInquiryStatusAndStatus(inquiryStatus: InquiryStatus, status: String): List<Inquiry>?
fun findByUserAndInquiryStatusAndStatus(user: User, inquiryStatus: InquiryStatus, status: String): List<Inquiry>
fun findByInquiryStatusAndStatus(inquiryStatus: InquiryStatus, status: String): List<Inquiry>
fun findByIdAndStatus(inquiryId: Long, status: String): Inquiry?
}
13 changes: 6 additions & 7 deletions src/main/kotlin/com/psr/psr/inquiry/service/InquiryService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,16 @@ class InquiryService(
}

// 문의 목록 조회
fun getInquiryList(user: User, status: String): List<InquiryListRes> {
fun getInquiryList(user: User, status: String): InquiryListRes {
val inquiryStatus: InquiryStatus = InquiryStatus.findByName(status)
val inquiries: List<Inquiry> =
if (user.type == Type.MANAGER)
val inquiries: List<InquiryRes> =
(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)
}

// 문의 답변 등록
Expand Down

0 comments on commit befa2cb

Please sign in to comment.