회원 메시지 다국어 처리

회원/인증 API 응답 메시지를 다국어 키로 분리함.
This commit is contained in:
2025-12-23 13:26:15 +09:00
parent 4dcf9f6ed1
commit 67b909daed
12 changed files with 338 additions and 115 deletions

View File

@@ -2,6 +2,8 @@ package kr.co.vividnext.sodalive.member
import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.i18n.LangContext
import kr.co.vividnext.sodalive.i18n.SodaMessageSource
import kr.co.vividnext.sodalive.marketing.AdTrackingHistoryType
import kr.co.vividnext.sodalive.marketing.AdTrackingService
import kr.co.vividnext.sodalive.member.block.MemberBlockRequest
@@ -37,7 +39,9 @@ class MemberController(
private val kakaoAuthService: KakaoAuthService,
private val googleAuthService: GoogleAuthService,
private val trackingService: AdTrackingService,
private val userActionService: UserActionService
private val userActionService: UserActionService,
private val messageSource: SodaMessageSource,
private val langContext: LangContext
) {
@GetMapping("/check/email")
fun checkEmail(@RequestParam email: String) = service.duplicateCheckEmail(email)
@@ -69,7 +73,8 @@ class MemberController(
actionType = ActionType.SIGN_UP
)
return ApiResponse.ok(message = "회원가입을 축하드립니다.", data = response.loginResponse)
val message = messageSource.getMessage("member.signup.success", langContext.lang)
return ApiResponse.ok(message = message, data = response.loginResponse)
}
@PostMapping("/signup")
@@ -87,7 +92,8 @@ class MemberController(
)
}
return ApiResponse.ok(message = "회원가입을 축하드립니다.", data = response.loginResponse)
val message = messageSource.getMessage("member.signup.success", langContext.lang)
return ApiResponse.ok(message = message, data = response.loginResponse)
}
@PostMapping("/login")
@@ -230,7 +236,7 @@ class MemberController(
@RequestBody request: CreatorFollowRequest,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.creatorUnFollow(creatorId = request.creatorId, memberId = member.id!!))
}
@@ -240,7 +246,7 @@ class MemberController(
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
pageable: Pageable
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.getBlockedMemberIdList(member.id!!))
}
@@ -250,7 +256,7 @@ class MemberController(
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
pageable: Pageable
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(
service.getBlockedMemberList(
@@ -266,7 +272,7 @@ class MemberController(
@RequestBody request: MemberBlockRequest,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.memberBlock(request = request, memberId = member.id!!))
}
@@ -276,7 +282,7 @@ class MemberController(
@RequestBody request: MemberBlockRequest,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.memberUnBlock(request = request, memberId = member.id!!))
}
@@ -286,7 +292,7 @@ class MemberController(
@RequestParam nickname: String,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.searchMember(nickname = nickname, member = member))
}
@@ -295,13 +301,16 @@ class MemberController(
fun signOut(
@RequestBody signOutRequest: SignOutRequest,
@AuthenticationPrincipal user: User
) = ApiResponse.ok(service.signOut(signOutRequest, user), "정상적으로 탈퇴 처리되었습니다.")
) = ApiResponse.ok(
service.signOut(signOutRequest, user),
messageSource.getMessage("member.signout.success", langContext.lang)
)
@GetMapping("/change/nickname/price")
fun getChangeNicknamePrice(
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.getChangeNicknamePrice(memberId = member.id!!))
}
@@ -327,7 +336,7 @@ class MemberController(
@PathVariable id: Long,
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
) = run {
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
if (member == null) throw SodaException(messageKey = "common.error.bad_credentials")
ApiResponse.ok(service.getMemberProfile(memberId = id, myMemberId = member.id!!))
}
@@ -337,7 +346,7 @@ class MemberController(
@RequestBody request: SocialLoginRequest
): ApiResponse<LoginResponse> {
if (!authHeader.startsWith("Bearer ")) {
throw SodaException("구글 로그인을 하지 못했습니다. 다시 시도해 주세요")
throw SodaException(messageKey = "member.social.google_login_failed")
}
val token = authHeader.substring(7)
@@ -359,7 +368,8 @@ class MemberController(
)
}
return ApiResponse.ok(message = "회원가입을 축하드립니다.", data = response.loginResponse)
val message = messageSource.getMessage("member.signup.success", langContext.lang)
return ApiResponse.ok(message = message, data = response.loginResponse)
}
@PostMapping("/login/kakao")
@@ -368,7 +378,7 @@ class MemberController(
@RequestBody request: SocialLoginRequest
): ApiResponse<LoginResponse> {
if (!authHeader.startsWith("Bearer ")) {
throw SodaException("카카오 로그인을 하지 못했습니다. 다시 시도해 주세요")
throw SodaException(messageKey = "member.social.kakao_login_failed")
}
val token = authHeader.substring(7)
@@ -390,6 +400,7 @@ class MemberController(
)
}
return ApiResponse.ok(message = "회원가입을 축하드립니다.", data = response.loginResponse)
val message = messageSource.getMessage("member.signup.success", langContext.lang)
return ApiResponse.ok(message = message, data = response.loginResponse)
}
}