Skip to content

Commit

Permalink
refactor :: 비즈니스 예외 분리
Browse files Browse the repository at this point in the history
  • Loading branch information
HyunSu1768 committed Apr 10, 2024
1 parent 218a922 commit b624650
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ import hs.kr.equus.user.global.utils.sms.SMSUtil
import net.nurigo.sdk.message.model.Message
import net.nurigo.sdk.message.request.SingleMessageSendingRequest
import net.nurigo.sdk.message.service.DefaultMessageService
import org.apache.http.client.HttpResponseException
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.io.IOException

@Transactional
@Service
Expand All @@ -19,7 +21,15 @@ class SendCertificationNumberService(
private val certificationInfoRepository: CertificationInfoRepository
) {
fun execute(phoneNumber: String) {
val certificationNumber = smsUtil.sendCertificationMessage(phoneNumber)
val certificationNumber: Int

try {
certificationNumber = smsUtil.sendCertificationMessage(phoneNumber)
} catch (e: IOException) {
throw InvalidSMSConnectException
} catch (e: HttpResponseException) {
throw SMSBadRequestException
}

certificationInfoRepository.save(
CertificationInfo(
Expand Down
8 changes: 4 additions & 4 deletions src/main/kotlin/hs/kr/equus/user/global/utils/sms/SMSUtil.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package hs.kr.equus.user.global.utils.sms

import hs.kr.equus.user.domain.auth.exception.InvalidSMSConnectException
import hs.kr.equus.user.domain.auth.exception.SMSBadRequestException
import hs.kr.equus.user.global.property.SmsProperties
import net.nurigo.sdk.message.model.Message
import net.nurigo.sdk.message.request.SingleMessageSendingRequest
import net.nurigo.sdk.message.service.DefaultMessageService
import net.nurigo.sdk.message.service.MessageService
import org.apache.http.client.HttpResponseException
import org.springframework.stereotype.Component
import java.io.IOException
import kotlin.random.Random

@Component
Expand All @@ -25,10 +25,10 @@ class SMSUtil(
)

val response = messageService.sendOne(SingleMessageSendingRequest(message))
?: throw InvalidSMSConnectException
?: throw IOException("SMS 서비스 연결 실패")

if (response.statusCode.toInt() in 400..500) {
throw SMSBadRequestException
throw HttpResponseException(response.statusCode.toInt(), "잘못된 요청 또는 서버 오류")
}

return certificationNumber
Expand Down

0 comments on commit b624650

Please sign in to comment.