diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanRepository.kt index 9ed5af7..76ea545 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanRepository.kt @@ -23,6 +23,7 @@ import org.springframework.stereotype.Repository interface CanRepository : JpaRepository, CanQueryRepository interface CanQueryRepository { + fun findAllByStatus(status: CanStatus): List fun findAllByStatusAndCurrency(status: CanStatus, currency: String): List fun getCanUseStatus(member: Member, pageable: Pageable): List fun getCanChargeStatus(member: Member, pageable: Pageable, container: String): List @@ -32,6 +33,25 @@ interface CanQueryRepository { @Repository class CanQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : CanQueryRepository { + override fun findAllByStatus(status: CanStatus): List { + return queryFactory + .select( + QCanResponse( + can1.id, + can1.title, + can1.can, + can1.rewardCan, + can1.price, + can1.currency, + can1.price.stringValue() + ) + ) + .from(can1) + .where(can1.status.eq(status)) + .orderBy(can1.currency.asc(), can1.can.asc()) + .fetch() + } + override fun findAllByStatusAndCurrency(status: CanStatus, currency: String): List { return queryFactory .select( diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanService.kt index 27ef531..9157f6d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanService.kt @@ -14,7 +14,7 @@ import java.time.format.DateTimeFormatter class CanService(private val repository: CanRepository) { fun getCans(geoCountry: GeoCountry): List { val currency = when (geoCountry) { - GeoCountry.KR -> "KRW" + GeoCountry.KR -> "USD" else -> "USD" } return repository.findAllByStatusAndCurrency(status = CanStatus.SALE, currency = currency)