generated from pricelees/issue-pr-template
feat: 다른 서비스에서 사용할 지역 정보 조회 서비스 로직 추가
This commit is contained in:
parent
7c967defcc
commit
7a6afc7282
@ -7,11 +7,7 @@ import org.springframework.transaction.annotation.Transactional
|
|||||||
import roomescape.region.exception.RegionErrorCode
|
import roomescape.region.exception.RegionErrorCode
|
||||||
import roomescape.region.exception.RegionException
|
import roomescape.region.exception.RegionException
|
||||||
import roomescape.region.infrastructure.persistence.RegionRepository
|
import roomescape.region.infrastructure.persistence.RegionRepository
|
||||||
import roomescape.region.web.RegionCodeResponse
|
import roomescape.region.web.*
|
||||||
import roomescape.region.web.SidoListResponse
|
|
||||||
import roomescape.region.web.SidoResponse
|
|
||||||
import roomescape.region.web.SigunguListResponse
|
|
||||||
import roomescape.region.web.SigunguResponse
|
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
|
|
||||||
@ -61,4 +57,17 @@ class RegionService(
|
|||||||
throw RegionException(RegionErrorCode.REGION_CODE_NOT_FOUND)
|
throw RegionException(RegionErrorCode.REGION_CODE_NOT_FOUND)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(readOnly = true)
|
||||||
|
fun findRegionInfo(regionCode: String): RegionInfoResponse {
|
||||||
|
log.info { "[RegionService.findRegionInfo] 지역 정보 조회 시작: regionCode=${regionCode}" }
|
||||||
|
|
||||||
|
return regionRepository.findByCode(regionCode)?.let {
|
||||||
|
log.info { "[RegionService.findRegionInfo] 지역 정보 조회 완료: code=${it} regionCode=${regionCode}" }
|
||||||
|
RegionInfoResponse(it.code, it.sidoName, it.sigunguName)
|
||||||
|
} ?: run {
|
||||||
|
log.warn { "[RegionService.findRegionInfo] 지역 정보 조회 실패: regionCode=${regionCode}" }
|
||||||
|
throw RegionException(RegionErrorCode.REGION_CODE_NOT_FOUND)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,8 @@ import org.springframework.data.repository.query.Param
|
|||||||
|
|
||||||
interface RegionRepository : JpaRepository<RegionEntity, String> {
|
interface RegionRepository : JpaRepository<RegionEntity, String> {
|
||||||
|
|
||||||
@Query("""
|
@Query(
|
||||||
|
"""
|
||||||
SELECT
|
SELECT
|
||||||
new kotlin.Pair(r.sidoCode, r.sidoName)
|
new kotlin.Pair(r.sidoCode, r.sidoName)
|
||||||
FROM
|
FROM
|
||||||
@ -15,10 +16,12 @@ interface RegionRepository : JpaRepository<RegionEntity, String> {
|
|||||||
r.sidoCode
|
r.sidoCode
|
||||||
ORDER BY
|
ORDER BY
|
||||||
r.sidoName
|
r.sidoName
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
fun readAllSido(): List<Pair<String, String>>
|
fun readAllSido(): List<Pair<String, String>>
|
||||||
|
|
||||||
@Query("""
|
@Query(
|
||||||
|
"""
|
||||||
SELECT
|
SELECT
|
||||||
new kotlin.Pair(r.sigunguCode, r.sigunguName)
|
new kotlin.Pair(r.sigunguCode, r.sigunguName)
|
||||||
FROM
|
FROM
|
||||||
@ -29,12 +32,14 @@ interface RegionRepository : JpaRepository<RegionEntity, String> {
|
|||||||
r.sigunguCode
|
r.sigunguCode
|
||||||
ORDER BY
|
ORDER BY
|
||||||
r.sigunguName
|
r.sigunguName
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
fun findAllSigunguBySido(
|
fun findAllSigunguBySido(
|
||||||
@Param("sidoCode") sidoCode: String
|
@Param("sidoCode") sidoCode: String
|
||||||
): List<Pair<String, String>>
|
): List<Pair<String, String>>
|
||||||
|
|
||||||
@Query("""
|
@Query(
|
||||||
|
"""
|
||||||
SELECT
|
SELECT
|
||||||
r.code
|
r.code
|
||||||
FROM
|
FROM
|
||||||
@ -42,9 +47,12 @@ interface RegionRepository : JpaRepository<RegionEntity, String> {
|
|||||||
WHERE
|
WHERE
|
||||||
r.sidoCode = :sidoCode
|
r.sidoCode = :sidoCode
|
||||||
AND r.sigunguCode = :sigunguCode
|
AND r.sigunguCode = :sigunguCode
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
fun findRegionCode(
|
fun findRegionCode(
|
||||||
@Param("sidoCode") sidoCode: String,
|
@Param("sidoCode") sidoCode: String,
|
||||||
@Param("sigunguCode") sigunguCode: String,
|
@Param("sigunguCode") sigunguCode: String,
|
||||||
): String?
|
): String?
|
||||||
|
|
||||||
|
fun findByCode(regionCode: String): RegionEntity?
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user