diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanController.kt index 6418cd14..f97698c2 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanController.kt @@ -1,7 +1,6 @@ package kr.co.vividnext.sodalive.can import kr.co.vividnext.sodalive.common.ApiResponse -import kr.co.vividnext.sodalive.common.GeoCountry import kr.co.vividnext.sodalive.common.SodaException import kr.co.vividnext.sodalive.member.Member import org.springframework.data.domain.Pageable @@ -10,15 +9,13 @@ import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController -import javax.servlet.http.HttpServletRequest @RestController @RequestMapping("/can") class CanController(private val service: CanService) { @GetMapping - fun getCans(request: HttpServletRequest): ApiResponse> { - val geoCountry = request.getAttribute("geoCountry") as? GeoCountry ?: GeoCountry.OTHER - return ApiResponse.ok(service.getCans(geoCountry)) + fun getCans(): ApiResponse> { + return ApiResponse.ok(service.getCans()) } @GetMapping("/status") 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 5e4a493d..24994f33 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/CanService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/CanService.kt @@ -3,7 +3,7 @@ package kr.co.vividnext.sodalive.can import kr.co.vividnext.sodalive.can.charge.ChargeStatus import kr.co.vividnext.sodalive.can.payment.PaymentGateway import kr.co.vividnext.sodalive.can.use.CanUsage -import kr.co.vividnext.sodalive.common.GeoCountry +import kr.co.vividnext.sodalive.common.CountryContext import kr.co.vividnext.sodalive.member.Member import org.springframework.data.domain.Pageable import org.springframework.stereotype.Service @@ -11,10 +11,13 @@ import java.time.ZoneId import java.time.format.DateTimeFormatter @Service -class CanService(private val repository: CanRepository) { - fun getCans(geoCountry: GeoCountry): List { - val currency = when (geoCountry) { - GeoCountry.KR -> "KRW" +class CanService( + private val repository: CanRepository, + private val countryContext: CountryContext +) { + fun getCans(): List { + val currency = when (countryContext.countryCode) { + "KR" -> "KRW" else -> "USD" } return repository.findAllByStatusAndCurrency(status = CanStatus.SALE, currency = currency) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/common/GeoCountry.kt b/src/main/kotlin/kr/co/vividnext/sodalive/common/GeoCountry.kt deleted file mode 100644 index be44f326..00000000 --- a/src/main/kotlin/kr/co/vividnext/sodalive/common/GeoCountry.kt +++ /dev/null @@ -1,8 +0,0 @@ -package kr.co.vividnext.sodalive.common - -const val WAF_GEO_HEADER = "x-amzn-waf-geo-country" - -enum class GeoCountry { KR, OTHER } - -fun parseGeo(headerValue: String?): GeoCountry = - if (headerValue?.trim()?.uppercase() == "KR") GeoCountry.KR else GeoCountry.OTHER diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/common/GeoCountryFilter.kt b/src/main/kotlin/kr/co/vividnext/sodalive/common/GeoCountryFilter.kt deleted file mode 100644 index 1981f60c..00000000 --- a/src/main/kotlin/kr/co/vividnext/sodalive/common/GeoCountryFilter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package kr.co.vividnext.sodalive.common - -import org.springframework.stereotype.Component -import org.springframework.web.filter.OncePerRequestFilter -import javax.servlet.FilterChain -import javax.servlet.http.HttpServletRequest -import javax.servlet.http.HttpServletResponse - -@Component -class GeoCountryFilter : OncePerRequestFilter() { - override fun doFilterInternal( - request: HttpServletRequest, - response: HttpServletResponse, - filterChain: FilterChain - ) { - val country = parseGeo(request.getHeader(WAF_GEO_HEADER)) - request.setAttribute("geoCountry", country) - filterChain.doFilter(request, response) - } -}