feat: 푸시 토큰(카카오, 구글 로그인) - 한 사람이 여러개의 디바이스로 로그인 해도 모든 푸시 토큰이 기록되어 있어서 모든 디바이스에 푸시가 가도록 수정

This commit is contained in:
Klaus 2025-04-28 21:58:50 +09:00
parent 8a924bd5be
commit fd510710d9
2 changed files with 20 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.creator.admin.member
import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SodaException import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.fcm.PushTokenService
import kr.co.vividnext.sodalive.jwt.TokenProvider import kr.co.vividnext.sodalive.jwt.TokenProvider
import kr.co.vividnext.sodalive.member.MemberRepository import kr.co.vividnext.sodalive.member.MemberRepository
import kr.co.vividnext.sodalive.member.MemberRole import kr.co.vividnext.sodalive.member.MemberRole
@ -25,6 +26,8 @@ class CreatorAdminMemberService(
private val tokenProvider: TokenProvider, private val tokenProvider: TokenProvider,
private val authenticationManagerBuilder: AuthenticationManagerBuilder, private val authenticationManagerBuilder: AuthenticationManagerBuilder,
private val pushTokenService: PushTokenService,
@Value("\${cloud.aws.cloud-front.host}") @Value("\${cloud.aws.cloud-front.host}")
private val cloudFrontHost: String private val cloudFrontHost: String
) { ) {
@ -44,6 +47,7 @@ class CreatorAdminMemberService(
?: throw SodaException("로그인 정보를 확인해주세요.") ?: throw SodaException("로그인 정보를 확인해주세요.")
member.pushToken = null member.pushToken = null
pushTokenService.logout(memberId = memberId)
val lock = getOrCreateLock(memberId = memberId) val lock = getOrCreateLock(memberId = memberId)
lock.write { lock.write {

View File

@ -830,7 +830,14 @@ class MemberService(
provider = MemberProvider.GOOGLE, provider = MemberProvider.GOOGLE,
container = container container = container
) )
member.pushToken = pushToken
if (pushToken != null) {
pushTokenService.registerToken(
memberId = member.id!!,
token = pushToken,
deviceType = container
)
}
if (!marketingPid.isNullOrBlank()) { if (!marketingPid.isNullOrBlank()) {
member.activePid = marketingPid member.activePid = marketingPid
@ -879,7 +886,14 @@ class MemberService(
provider = MemberProvider.KAKAO, provider = MemberProvider.KAKAO,
container = container container = container
) )
member.pushToken = pushToken
if (pushToken != null) {
pushTokenService.registerToken(
memberId = member.id!!,
token = pushToken,
deviceType = container
)
}
if (!marketingPid.isNullOrBlank()) { if (!marketingPid.isNullOrBlank()) {
member.activePid = marketingPid member.activePid = marketingPid