generated from pricelees/issue-pr-template
style: Reformat Code & Optimize Imports
This commit is contained in:
parent
57c890cc64
commit
957996baf6
@ -16,7 +16,8 @@ class SwaggerConfig {
|
||||
private fun apiInfo(): Info {
|
||||
return Info()
|
||||
.title("방탈출 예약 API 문서")
|
||||
.description("""
|
||||
.description(
|
||||
"""
|
||||
## API 테스트는 '1. 인증 / 인가 API' 의 '/login' 을 통해 로그인 후 사용해주세요.
|
||||
|
||||
### 테스트시 로그인 가능한 계정 정보
|
||||
@ -70,7 +71,8 @@ class SwaggerConfig {
|
||||
|
||||
- 8 ~ 10: 예약 대기 상태
|
||||
|
||||
""".trimIndent())
|
||||
""".trimIndent()
|
||||
)
|
||||
.version("1.0.0")
|
||||
}
|
||||
}
|
||||
|
||||
@ -64,7 +64,11 @@ interface ReservationAPI {
|
||||
responseCode = "201",
|
||||
description = "성공",
|
||||
useReturnTypeSchema = true,
|
||||
headers = [Header(name = HttpHeaders.LOCATION, description = "생성된 예약 정보 URL", schema = Schema(example = "/reservations/1"))]
|
||||
headers = [Header(
|
||||
name = HttpHeaders.LOCATION,
|
||||
description = "생성된 예약 정보 URL",
|
||||
schema = Schema(example = "/reservations/1")
|
||||
)]
|
||||
)
|
||||
)
|
||||
fun createReservationWithPayment(
|
||||
@ -79,7 +83,11 @@ interface ReservationAPI {
|
||||
responseCode = "201",
|
||||
description = "성공",
|
||||
useReturnTypeSchema = true,
|
||||
headers = [Header(name = HttpHeaders.LOCATION, description = "생성된 예약 정보 URL", schema = Schema(example = "/reservations/1"))],
|
||||
headers = [Header(
|
||||
name = HttpHeaders.LOCATION,
|
||||
description = "생성된 예약 정보 URL",
|
||||
schema = Schema(example = "/reservations/1")
|
||||
)],
|
||||
)
|
||||
)
|
||||
fun createReservationByAdmin(
|
||||
@ -98,7 +106,11 @@ interface ReservationAPI {
|
||||
responseCode = "201",
|
||||
description = "성공",
|
||||
useReturnTypeSchema = true,
|
||||
headers = [Header(name = HttpHeaders.LOCATION, description = "생성된 예약 정보 URL", schema = Schema(example = "/reservations/1"))]
|
||||
headers = [Header(
|
||||
name = HttpHeaders.LOCATION,
|
||||
description = "생성된 예약 정보 URL",
|
||||
schema = Schema(example = "/reservations/1")
|
||||
)]
|
||||
)
|
||||
)
|
||||
fun createWaiting(
|
||||
|
||||
@ -16,17 +16,20 @@ interface ReservationRepository
|
||||
fun findByDateAndThemeId(date: LocalDate, themeId: Long): List<ReservationEntity>
|
||||
|
||||
@Modifying
|
||||
@Query("""
|
||||
@Query(
|
||||
"""
|
||||
UPDATE ReservationEntity r
|
||||
SET r.reservationStatus = :status
|
||||
WHERE r.id = :id
|
||||
""")
|
||||
"""
|
||||
)
|
||||
fun updateStatusByReservationId(
|
||||
@Param(value = "id") reservationId: Long,
|
||||
@Param(value = "status") statusForChange: ReservationStatus
|
||||
): Int
|
||||
|
||||
@Query("""
|
||||
@Query(
|
||||
"""
|
||||
SELECT EXISTS (
|
||||
SELECT 1
|
||||
FROM ReservationEntity r2
|
||||
@ -39,10 +42,12 @@ interface ReservationRepository
|
||||
AND r.reservationStatus != 'WAITING'
|
||||
)
|
||||
)
|
||||
""")
|
||||
"""
|
||||
)
|
||||
fun isExistConfirmedReservation(@Param("id") reservationId: Long): Boolean
|
||||
|
||||
@Query("""
|
||||
@Query(
|
||||
"""
|
||||
SELECT new roomescape.reservation.web.MyReservationRetrieveResponse(
|
||||
r.id,
|
||||
t.name,
|
||||
@ -58,6 +63,7 @@ interface ReservationRepository
|
||||
LEFT JOIN PaymentEntity p
|
||||
ON p.reservation = r
|
||||
WHERE r.member.id = :memberId
|
||||
""")
|
||||
"""
|
||||
)
|
||||
fun findAllByMemberId(memberId: Long): List<MyReservationRetrieveResponse>
|
||||
}
|
||||
|
||||
@ -67,8 +67,10 @@ class ReservationController(
|
||||
|
||||
val paymentCancelRequest = reservationWithPaymentService.deleteReservationAndPayment(reservationId, memberId)
|
||||
val paymentCancelResponse = paymentClient.cancel(paymentCancelRequest)
|
||||
reservationWithPaymentService.updateCanceledTime(paymentCancelRequest.paymentKey,
|
||||
paymentCancelResponse.canceledAt)
|
||||
reservationWithPaymentService.updateCanceledTime(
|
||||
paymentCancelRequest.paymentKey,
|
||||
paymentCancelResponse.canceledAt
|
||||
)
|
||||
|
||||
return ResponseEntity.noContent().build()
|
||||
}
|
||||
@ -82,7 +84,8 @@ class ReservationController(
|
||||
val paymentResponse: PaymentApproveResponse = paymentClient.confirm(paymentRequest)
|
||||
|
||||
try {
|
||||
val reservationRetrieveResponse: ReservationRetrieveResponse = reservationWithPaymentService.createReservationAndPayment(
|
||||
val reservationRetrieveResponse: ReservationRetrieveResponse =
|
||||
reservationWithPaymentService.createReservationAndPayment(
|
||||
reservationCreateWithPaymentRequest,
|
||||
paymentResponse,
|
||||
memberId
|
||||
@ -90,11 +93,17 @@ class ReservationController(
|
||||
return ResponseEntity.created(URI.create("/reservations/${reservationRetrieveResponse.id}"))
|
||||
.body(CommonApiResponse(reservationRetrieveResponse))
|
||||
} catch (e: Exception) {
|
||||
val cancelRequest = PaymentCancelRequest(paymentRequest.paymentKey,
|
||||
paymentRequest.amount, e.message!!)
|
||||
val cancelRequest = PaymentCancelRequest(
|
||||
paymentRequest.paymentKey,
|
||||
paymentRequest.amount,
|
||||
e.message!!
|
||||
)
|
||||
val paymentCancelResponse = paymentClient.cancel(cancelRequest)
|
||||
reservationWithPaymentService.createCanceledPayment(paymentCancelResponse, paymentResponse.approvedAt,
|
||||
paymentRequest.paymentKey)
|
||||
reservationWithPaymentService.createCanceledPayment(
|
||||
paymentCancelResponse,
|
||||
paymentResponse.approvedAt,
|
||||
paymentRequest.paymentKey
|
||||
)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,8 @@ import java.time.LocalDate
|
||||
|
||||
interface ThemeRepository : JpaRepository<ThemeEntity, Long> {
|
||||
|
||||
@Query(value = """
|
||||
@Query(
|
||||
value = """
|
||||
SELECT t
|
||||
FROM ThemeEntity t
|
||||
RIGHT JOIN ReservationEntity r ON t.id = r.theme.id
|
||||
@ -20,12 +21,14 @@ interface ThemeRepository : JpaRepository<ThemeEntity, Long> {
|
||||
|
||||
fun existsByName(name: String): Boolean
|
||||
|
||||
@Query(value = """
|
||||
@Query(
|
||||
value = """
|
||||
SELECT EXISTS(
|
||||
SELECT 1
|
||||
FROM ReservationEntity r
|
||||
WHERE r.theme.id = :id
|
||||
)
|
||||
""")
|
||||
"""
|
||||
)
|
||||
fun isReservedTheme(id: Long): Boolean
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<conversionRule conversionWord="maskedMessage"
|
||||
class="roomescape.common.log.RoomescapeLogMaskingConverter" />
|
||||
class="roomescape.common.log.RoomescapeLogMaskingConverter"/>
|
||||
|
||||
<property name="CONSOLE_LOG_PATTERN"
|
||||
value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %green(${PID:- }) --- [%15.15thread] %cyan(%-40logger{36}) : %maskedMessage%n%throwable"/>
|
||||
|
||||
@ -27,9 +27,11 @@ class ReservationRepositoryTest(
|
||||
beforeTest {
|
||||
listOf(
|
||||
ReservationFixture.create(time = time),
|
||||
ReservationFixture.create(time = TimeFixture.create(
|
||||
ReservationFixture.create(
|
||||
time = TimeFixture.create(
|
||||
startAt = time.startAt.plusSeconds(1)
|
||||
))
|
||||
)
|
||||
)
|
||||
).forEach {
|
||||
persistReservation(it)
|
||||
}
|
||||
@ -124,7 +126,8 @@ class ReservationRepositoryTest(
|
||||
persistReservation(it)
|
||||
}
|
||||
|
||||
confirmedPaymentRequired = ReservationFixture.create(status = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED).also {
|
||||
confirmedPaymentRequired =
|
||||
ReservationFixture.create(status = ReservationStatus.CONFIRMED_PAYMENT_REQUIRED).also {
|
||||
persistReservation(it)
|
||||
}
|
||||
|
||||
@ -168,7 +171,8 @@ class ReservationRepositoryTest(
|
||||
entityManager.clear()
|
||||
}
|
||||
|
||||
val result: List<MyReservationRetrieveResponse> = reservationRepository.findAllByMemberId(reservation.member.id!!)
|
||||
val result: List<MyReservationRetrieveResponse> =
|
||||
reservationRepository.findAllByMemberId(reservation.member.id!!)
|
||||
|
||||
result shouldHaveSize 1
|
||||
assertSoftly(result.first()) {
|
||||
@ -179,7 +183,8 @@ class ReservationRepositoryTest(
|
||||
}
|
||||
|
||||
test("결제 정보가 없다면 paymentKey와 amount는 null로 반환한다.") {
|
||||
val result: List<MyReservationRetrieveResponse> = reservationRepository.findAllByMemberId(reservation.member.id!!)
|
||||
val result: List<MyReservationRetrieveResponse> =
|
||||
reservationRepository.findAllByMemberId(reservation.member.id!!)
|
||||
|
||||
result shouldHaveSize 1
|
||||
assertSoftly(result.first()) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user