Compare commits
No commits in common. "97e80a85e0c3aed3d06408844017e64fda61860c" and "bc1db79430257a3d41a16a3acc73af34450b94d7" have entirely different histories.
97e80a85e0
...
bc1db79430
|
@ -13,8 +13,6 @@ interface AuthRepository : JpaRepository<Auth, Long>, AuthQueryRepository
|
||||||
interface AuthQueryRepository {
|
interface AuthQueryRepository {
|
||||||
fun getOldestCreatedAtByDi(di: String): LocalDateTime
|
fun getOldestCreatedAtByDi(di: String): LocalDateTime
|
||||||
fun getMemberIdsByDi(di: String): List<Long>
|
fun getMemberIdsByDi(di: String): List<Long>
|
||||||
fun getAuthIdByMemberId(memberId: Long): Long?
|
|
||||||
fun getActiveMemberIdsByDi(di: String): List<Long>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class AuthQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : AuthQueryRepository {
|
class AuthQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : AuthQueryRepository {
|
||||||
|
@ -35,25 +33,4 @@ class AuthQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : AuthQ
|
||||||
.where(auth.di.eq(di))
|
.where(auth.di.eq(di))
|
||||||
.fetch()
|
.fetch()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getAuthIdByMemberId(memberId: Long): Long? {
|
|
||||||
return queryFactory
|
|
||||||
.select(auth.id)
|
|
||||||
.from(auth)
|
|
||||||
.innerJoin(auth.member, member)
|
|
||||||
.where(auth.member.id.eq(memberId))
|
|
||||||
.fetchFirst()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getActiveMemberIdsByDi(di: String): List<Long> {
|
|
||||||
return queryFactory
|
|
||||||
.select(member.id)
|
|
||||||
.from(member)
|
|
||||||
.leftJoin(member.auth, auth)
|
|
||||||
.where(
|
|
||||||
auth.di.eq(di)
|
|
||||||
.and(member.isActive.isTrue)
|
|
||||||
)
|
|
||||||
.fetch()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,10 +23,6 @@ class AuthService(
|
||||||
@Transactional
|
@Transactional
|
||||||
fun verify(member: Member, request: AuthVerifyRequest) {
|
fun verify(member: Member, request: AuthVerifyRequest) {
|
||||||
val bootpay = Bootpay(bootpayApplicationId, bootpayPrivateKey)
|
val bootpay = Bootpay(bootpayApplicationId, bootpayPrivateKey)
|
||||||
|
|
||||||
val authId = repository.getAuthIdByMemberId(memberId = member.id!!)
|
|
||||||
if (authId != null) throw SodaException("이미 인증된 계정입니다.")
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val token = bootpay.accessToken
|
val token = bootpay.accessToken
|
||||||
if (token["error_code"] != null) throw SodaException("인증정보에 오류가 있습니다.\n다시 시도해 주세요.")
|
if (token["error_code"] != null) throw SodaException("인증정보에 오류가 있습니다.\n다시 시도해 주세요.")
|
||||||
|
@ -43,14 +39,6 @@ class AuthService(
|
||||||
val nowYear = LocalDate.now().year
|
val nowYear = LocalDate.now().year
|
||||||
val certificateYear = certificate.birth.substring(0, 4).toInt()
|
val certificateYear = certificate.birth.substring(0, 4).toInt()
|
||||||
if (nowYear - certificateYear >= 19) {
|
if (nowYear - certificateYear >= 19) {
|
||||||
val memberIds = repository.getActiveMemberIdsByDi(di = certificate.di)
|
|
||||||
if (memberIds.size >= 3) {
|
|
||||||
throw SodaException(
|
|
||||||
"이미 본인인증한 계정 ${memberIds.size}개 이용중입니다.\n" +
|
|
||||||
"소다라이브의 본인인증은 최대 3개의 계정만 이용할 수 있습니다."
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
val auth = Auth(
|
val auth = Auth(
|
||||||
name = certificate.name,
|
name = certificate.name,
|
||||||
birth = certificate.birth,
|
birth = certificate.birth,
|
||||||
|
@ -68,7 +56,7 @@ class AuthService(
|
||||||
throw SodaException("인증정보에 오류가 있습니다.\n다시 시도해 주세요.")
|
throw SodaException("인증정보에 오류가 있습니다.\n다시 시도해 주세요.")
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
throw SodaException(e.message ?: "인증정보에 오류가 있습니다.\n다시 시도해 주세요.")
|
throw SodaException("인증정보에 오류가 있습니다.\n다시 시도해 주세요.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue