generated from pricelees/issue-pr-template
refactor: common.persistence 모듈 분리로 인한 기존 서비스 코드 수정
This commit is contained in:
parent
5b31672ebb
commit
07869020be
@ -1,23 +1,22 @@
|
|||||||
package com.sangdol.roomescape.auth.business
|
package com.sangdol.roomescape.auth.business
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
|
import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryEntity
|
||||||
|
import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryRepository
|
||||||
|
import com.sangdol.roomescape.auth.web.LoginContext
|
||||||
|
import com.sangdol.roomescape.common.dto.PrincipalType
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
import org.springframework.stereotype.Service
|
import org.springframework.stereotype.Service
|
||||||
import org.springframework.transaction.annotation.Propagation
|
import org.springframework.transaction.annotation.Propagation
|
||||||
import org.springframework.transaction.annotation.Transactional
|
import org.springframework.transaction.annotation.Transactional
|
||||||
import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryEntity
|
|
||||||
import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryRepository
|
|
||||||
import com.sangdol.roomescape.auth.web.LoginContext
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.dto.PrincipalType
|
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
class LoginHistoryService(
|
class LoginHistoryService(
|
||||||
private val loginHistoryRepository: LoginHistoryRepository,
|
private val loginHistoryRepository: LoginHistoryRepository,
|
||||||
private val tsidFactory: TsidFactory,
|
private val idGenerator: IDGenerator,
|
||||||
) {
|
) {
|
||||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||||
fun createSuccessHistory(
|
fun createSuccessHistory(
|
||||||
@ -47,7 +46,7 @@ class LoginHistoryService(
|
|||||||
|
|
||||||
runCatching {
|
runCatching {
|
||||||
LoginHistoryEntity(
|
LoginHistoryEntity(
|
||||||
id = tsidFactory.next(),
|
id = idGenerator.create(),
|
||||||
principalId = principalId,
|
principalId = principalId,
|
||||||
principalType = principalType,
|
principalType = principalType,
|
||||||
success = success,
|
success = success,
|
||||||
|
|||||||
@ -1,16 +1,15 @@
|
|||||||
package com.sangdol.roomescape.payment.business
|
package com.sangdol.roomescape.payment.business
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
||||||
import org.springframework.stereotype.Component
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
|
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
|
||||||
import com.sangdol.roomescape.payment.exception.PaymentException
|
import com.sangdol.roomescape.payment.exception.PaymentException
|
||||||
import com.sangdol.roomescape.payment.infrastructure.client.*
|
import com.sangdol.roomescape.payment.infrastructure.client.*
|
||||||
import com.sangdol.roomescape.payment.infrastructure.common.PaymentMethod
|
import com.sangdol.roomescape.payment.infrastructure.common.PaymentMethod
|
||||||
import com.sangdol.roomescape.payment.infrastructure.common.PaymentType
|
import com.sangdol.roomescape.payment.infrastructure.common.PaymentType
|
||||||
import com.sangdol.roomescape.payment.infrastructure.persistence.*
|
import com.sangdol.roomescape.payment.infrastructure.persistence.*
|
||||||
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import org.springframework.stereotype.Component
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
@ -20,7 +19,7 @@ class PaymentWriter(
|
|||||||
private val paymentRepository: PaymentRepository,
|
private val paymentRepository: PaymentRepository,
|
||||||
private val paymentDetailRepository: PaymentDetailRepository,
|
private val paymentDetailRepository: PaymentDetailRepository,
|
||||||
private val canceledPaymentRepository: CanceledPaymentRepository,
|
private val canceledPaymentRepository: CanceledPaymentRepository,
|
||||||
private val tsidFactory: TsidFactory,
|
private val idGenerator: IDGenerator,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
fun createPayment(
|
fun createPayment(
|
||||||
@ -32,7 +31,7 @@ class PaymentWriter(
|
|||||||
log.info { "[PaymentWriterV2.createPayment] 결제 승인 및 결제 정보 저장 시작: reservationId=${reservationId}, paymentKey=${paymentClientConfirmResponse.paymentKey}" }
|
log.info { "[PaymentWriterV2.createPayment] 결제 승인 및 결제 정보 저장 시작: reservationId=${reservationId}, paymentKey=${paymentClientConfirmResponse.paymentKey}" }
|
||||||
|
|
||||||
return paymentClientConfirmResponse.toEntity(
|
return paymentClientConfirmResponse.toEntity(
|
||||||
id = tsidFactory.next(), reservationId, orderId, paymentType
|
id = idGenerator.create(), reservationId, orderId, paymentType
|
||||||
).also {
|
).also {
|
||||||
paymentRepository.save(it)
|
paymentRepository.save(it)
|
||||||
log.info { "[PaymentWriterV2.createPayment] 결제 승인 및 결제 정보 저장 완료: reservationId=${reservationId}, payment.id=${it.id}" }
|
log.info { "[PaymentWriterV2.createPayment] 결제 승인 및 결제 정보 저장 완료: reservationId=${reservationId}, payment.id=${it.id}" }
|
||||||
@ -44,7 +43,7 @@ class PaymentWriter(
|
|||||||
paymentId: Long,
|
paymentId: Long,
|
||||||
): PaymentDetailEntity {
|
): PaymentDetailEntity {
|
||||||
val method: PaymentMethod = paymentResponse.method
|
val method: PaymentMethod = paymentResponse.method
|
||||||
val id = tsidFactory.next()
|
val id = idGenerator.create()
|
||||||
|
|
||||||
if (method == PaymentMethod.TRANSFER) {
|
if (method == PaymentMethod.TRANSFER) {
|
||||||
return paymentDetailRepository.save(paymentResponse.toTransferDetailEntity(id, paymentId))
|
return paymentDetailRepository.save(paymentResponse.toTransferDetailEntity(id, paymentId))
|
||||||
@ -69,7 +68,7 @@ class PaymentWriter(
|
|||||||
paymentRepository.save(payment.apply { this.cancel() })
|
paymentRepository.save(payment.apply { this.cancel() })
|
||||||
|
|
||||||
return cancelResponse.cancels.toEntity(
|
return cancelResponse.cancels.toEntity(
|
||||||
id = tsidFactory.next(),
|
id = idGenerator.create(),
|
||||||
paymentId = payment.id,
|
paymentId = payment.id,
|
||||||
cancelRequestedAt = requestedAt,
|
cancelRequestedAt = requestedAt,
|
||||||
canceledBy = userId
|
canceledBy = userId
|
||||||
|
|||||||
@ -1,12 +1,6 @@
|
|||||||
package com.sangdol.roomescape.reservation.business
|
package com.sangdol.roomescape.reservation.business
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
||||||
import org.springframework.data.repository.findByIdOrNull
|
|
||||||
import org.springframework.stereotype.Service
|
|
||||||
import org.springframework.transaction.annotation.Transactional
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||||
import com.sangdol.roomescape.payment.business.PaymentService
|
import com.sangdol.roomescape.payment.business.PaymentService
|
||||||
import com.sangdol.roomescape.payment.web.PaymentWithDetailResponse
|
import com.sangdol.roomescape.payment.web.PaymentWithDetailResponse
|
||||||
@ -21,6 +15,11 @@ import com.sangdol.roomescape.schedule.web.ScheduleUpdateRequest
|
|||||||
import com.sangdol.roomescape.theme.business.ThemeService
|
import com.sangdol.roomescape.theme.business.ThemeService
|
||||||
import com.sangdol.roomescape.user.business.UserService
|
import com.sangdol.roomescape.user.business.UserService
|
||||||
import com.sangdol.roomescape.user.web.UserContactResponse
|
import com.sangdol.roomescape.user.web.UserContactResponse
|
||||||
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import org.springframework.data.repository.findByIdOrNull
|
||||||
|
import org.springframework.stereotype.Service
|
||||||
|
import org.springframework.transaction.annotation.Transactional
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
@ -33,7 +32,7 @@ class ReservationService(
|
|||||||
private val userService: UserService,
|
private val userService: UserService,
|
||||||
private val themeService: ThemeService,
|
private val themeService: ThemeService,
|
||||||
private val canceledReservationRepository: CanceledReservationRepository,
|
private val canceledReservationRepository: CanceledReservationRepository,
|
||||||
private val tsidFactory: TsidFactory,
|
private val idGenerator: IDGenerator,
|
||||||
private val paymentService: PaymentService
|
private val paymentService: PaymentService
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@ -46,7 +45,7 @@ class ReservationService(
|
|||||||
|
|
||||||
validateCanCreate(request)
|
validateCanCreate(request)
|
||||||
|
|
||||||
val reservation: ReservationEntity = request.toEntity(id = tsidFactory.next(), userId = user.id)
|
val reservation: ReservationEntity = request.toEntity(id = idGenerator.create(), userId = user.id)
|
||||||
|
|
||||||
return PendingReservationCreateResponse(reservationRepository.save(reservation).id)
|
return PendingReservationCreateResponse(reservationRepository.save(reservation).id)
|
||||||
.also { log.info { "[ReservationService.createPendingReservation] Pending 예약 생성 완료: reservationId=${it}, schedule=${request.scheduleId}" } }
|
.also { log.info { "[ReservationService.createPendingReservation] Pending 예약 생성 완료: reservationId=${it}, schedule=${request.scheduleId}" } }
|
||||||
@ -141,7 +140,7 @@ class ReservationService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
CanceledReservationEntity(
|
CanceledReservationEntity(
|
||||||
id = tsidFactory.next(),
|
id = idGenerator.create(),
|
||||||
reservationId = reservation.id,
|
reservationId = reservation.id,
|
||||||
canceledBy = user.id,
|
canceledBy = user.id,
|
||||||
cancelReason = cancelReason,
|
cancelReason = cancelReason,
|
||||||
|
|||||||
@ -1,14 +1,8 @@
|
|||||||
package com.sangdol.roomescape.schedule.business
|
package com.sangdol.roomescape.schedule.business
|
||||||
|
|
||||||
import ScheduleException
|
import ScheduleException
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
||||||
import org.springframework.data.repository.findByIdOrNull
|
|
||||||
import org.springframework.stereotype.Service
|
|
||||||
import org.springframework.transaction.annotation.Transactional
|
|
||||||
import com.sangdol.roomescape.admin.business.AdminService
|
import com.sangdol.roomescape.admin.business.AdminService
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||||
import com.sangdol.roomescape.common.dto.OperatorInfo
|
import com.sangdol.roomescape.common.dto.OperatorInfo
|
||||||
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
|
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
|
||||||
@ -18,6 +12,11 @@ import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntity
|
|||||||
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleRepository
|
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleRepository
|
||||||
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
|
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus
|
||||||
import com.sangdol.roomescape.schedule.web.*
|
import com.sangdol.roomescape.schedule.web.*
|
||||||
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import org.springframework.data.repository.findByIdOrNull
|
||||||
|
import org.springframework.stereotype.Service
|
||||||
|
import org.springframework.transaction.annotation.Transactional
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
@ -35,7 +34,7 @@ private val log: KLogger = KotlinLogging.logger {}
|
|||||||
class ScheduleService(
|
class ScheduleService(
|
||||||
private val scheduleRepository: ScheduleRepository,
|
private val scheduleRepository: ScheduleRepository,
|
||||||
private val scheduleValidator: ScheduleValidator,
|
private val scheduleValidator: ScheduleValidator,
|
||||||
private val tsidFactory: TsidFactory,
|
private val idGenerator: IDGenerator,
|
||||||
private val adminService: AdminService
|
private val adminService: AdminService
|
||||||
) {
|
) {
|
||||||
// ========================================
|
// ========================================
|
||||||
@ -112,7 +111,7 @@ class ScheduleService(
|
|||||||
scheduleValidator.validateCanCreate(storeId, request)
|
scheduleValidator.validateCanCreate(storeId, request)
|
||||||
|
|
||||||
val schedule = ScheduleEntityFactory.create(
|
val schedule = ScheduleEntityFactory.create(
|
||||||
id = tsidFactory.next(),
|
id = idGenerator.create(),
|
||||||
date = request.date,
|
date = request.date,
|
||||||
time = request.time,
|
time = request.time,
|
||||||
storeId = storeId,
|
storeId = storeId,
|
||||||
|
|||||||
@ -1,12 +1,7 @@
|
|||||||
package com.sangdol.roomescape.store.business
|
package com.sangdol.roomescape.store.business
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
||||||
import org.springframework.stereotype.Service
|
|
||||||
import org.springframework.transaction.annotation.Transactional
|
|
||||||
import com.sangdol.roomescape.admin.business.AdminService
|
import com.sangdol.roomescape.admin.business.AdminService
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||||
import com.sangdol.roomescape.region.business.RegionService
|
import com.sangdol.roomescape.region.business.RegionService
|
||||||
import com.sangdol.roomescape.store.exception.StoreErrorCode
|
import com.sangdol.roomescape.store.exception.StoreErrorCode
|
||||||
@ -15,6 +10,10 @@ import com.sangdol.roomescape.store.infrastructure.persistence.StoreEntity
|
|||||||
import com.sangdol.roomescape.store.infrastructure.persistence.StoreRepository
|
import com.sangdol.roomescape.store.infrastructure.persistence.StoreRepository
|
||||||
import com.sangdol.roomescape.store.infrastructure.persistence.StoreStatus
|
import com.sangdol.roomescape.store.infrastructure.persistence.StoreStatus
|
||||||
import com.sangdol.roomescape.store.web.*
|
import com.sangdol.roomescape.store.web.*
|
||||||
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import org.springframework.stereotype.Service
|
||||||
|
import org.springframework.transaction.annotation.Transactional
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
|
|
||||||
@ -24,7 +23,7 @@ class StoreService(
|
|||||||
private val storeValidator: StoreValidator,
|
private val storeValidator: StoreValidator,
|
||||||
private val adminService: AdminService,
|
private val adminService: AdminService,
|
||||||
private val regionService: RegionService,
|
private val regionService: RegionService,
|
||||||
private val tsidFactory: TsidFactory,
|
private val idGenerator: IDGenerator,
|
||||||
) {
|
) {
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
fun getDetail(id: Long): DetailStoreResponse {
|
fun getDetail(id: Long): DetailStoreResponse {
|
||||||
@ -45,7 +44,7 @@ class StoreService(
|
|||||||
storeValidator.validateCanRegister(request)
|
storeValidator.validateCanRegister(request)
|
||||||
|
|
||||||
val store = StoreEntity(
|
val store = StoreEntity(
|
||||||
id = tsidFactory.next(),
|
id = idGenerator.create(),
|
||||||
name = request.name,
|
name = request.name,
|
||||||
address = request.address,
|
address = request.address,
|
||||||
contact = request.contact,
|
contact = request.contact,
|
||||||
|
|||||||
@ -1,13 +1,7 @@
|
|||||||
package com.sangdol.roomescape.theme.business
|
package com.sangdol.roomescape.theme.business
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
||||||
import org.springframework.data.repository.findByIdOrNull
|
|
||||||
import org.springframework.stereotype.Service
|
|
||||||
import org.springframework.transaction.annotation.Transactional
|
|
||||||
import com.sangdol.roomescape.admin.business.AdminService
|
import com.sangdol.roomescape.admin.business.AdminService
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||||
import com.sangdol.roomescape.common.util.DateUtils
|
import com.sangdol.roomescape.common.util.DateUtils
|
||||||
import com.sangdol.roomescape.theme.exception.ThemeErrorCode
|
import com.sangdol.roomescape.theme.exception.ThemeErrorCode
|
||||||
@ -15,6 +9,11 @@ import com.sangdol.roomescape.theme.exception.ThemeException
|
|||||||
import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeEntity
|
import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeEntity
|
||||||
import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeRepository
|
import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeRepository
|
||||||
import com.sangdol.roomescape.theme.web.*
|
import com.sangdol.roomescape.theme.web.*
|
||||||
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import org.springframework.data.repository.findByIdOrNull
|
||||||
|
import org.springframework.stereotype.Service
|
||||||
|
import org.springframework.transaction.annotation.Transactional
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
@ -30,7 +29,7 @@ private val log: KLogger = KotlinLogging.logger {}
|
|||||||
class ThemeService(
|
class ThemeService(
|
||||||
private val themeRepository: ThemeRepository,
|
private val themeRepository: ThemeRepository,
|
||||||
private val themeValidator: ThemeValidator,
|
private val themeValidator: ThemeValidator,
|
||||||
private val tsidFactory: TsidFactory,
|
private val idGenerator: IDGenerator,
|
||||||
private val adminService: AdminService
|
private val adminService: AdminService
|
||||||
) {
|
) {
|
||||||
// ========================================
|
// ========================================
|
||||||
@ -91,7 +90,7 @@ class ThemeService(
|
|||||||
|
|
||||||
themeValidator.validateCanCreate(request)
|
themeValidator.validateCanCreate(request)
|
||||||
|
|
||||||
val theme: ThemeEntity = request.toEntity(id = tsidFactory.next())
|
val theme: ThemeEntity = request.toEntity(id = idGenerator.create())
|
||||||
.also { themeRepository.save(it) }
|
.also { themeRepository.save(it) }
|
||||||
|
|
||||||
return ThemeCreateResponse(theme.id).also {
|
return ThemeCreateResponse(theme.id).also {
|
||||||
|
|||||||
@ -1,12 +1,6 @@
|
|||||||
package com.sangdol.roomescape.user.business
|
package com.sangdol.roomescape.user.business
|
||||||
|
|
||||||
import com.github.f4b6a3.tsid.TsidFactory
|
import com.sangdol.common.persistence.IDGenerator
|
||||||
import io.github.oshai.kotlinlogging.KLogger
|
|
||||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
||||||
import org.springframework.data.repository.findByIdOrNull
|
|
||||||
import org.springframework.stereotype.Service
|
|
||||||
import org.springframework.transaction.annotation.Transactional
|
|
||||||
import com.sangdol.roomescape.common.config.next
|
|
||||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||||
import com.sangdol.roomescape.common.dto.UserLoginCredentials
|
import com.sangdol.roomescape.common.dto.UserLoginCredentials
|
||||||
import com.sangdol.roomescape.common.dto.toCredentials
|
import com.sangdol.roomescape.common.dto.toCredentials
|
||||||
@ -17,6 +11,11 @@ import com.sangdol.roomescape.user.web.UserContactResponse
|
|||||||
import com.sangdol.roomescape.user.web.UserCreateRequest
|
import com.sangdol.roomescape.user.web.UserCreateRequest
|
||||||
import com.sangdol.roomescape.user.web.UserCreateResponse
|
import com.sangdol.roomescape.user.web.UserCreateResponse
|
||||||
import com.sangdol.roomescape.user.web.toEntity
|
import com.sangdol.roomescape.user.web.toEntity
|
||||||
|
import io.github.oshai.kotlinlogging.KLogger
|
||||||
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||||
|
import org.springframework.data.repository.findByIdOrNull
|
||||||
|
import org.springframework.stereotype.Service
|
||||||
|
import org.springframework.transaction.annotation.Transactional
|
||||||
|
|
||||||
private val log: KLogger = KotlinLogging.logger {}
|
private val log: KLogger = KotlinLogging.logger {}
|
||||||
|
|
||||||
@ -27,7 +26,7 @@ class UserService(
|
|||||||
private val userRepository: UserRepository,
|
private val userRepository: UserRepository,
|
||||||
private val userStatusHistoryRepository: UserStatusHistoryRepository,
|
private val userStatusHistoryRepository: UserStatusHistoryRepository,
|
||||||
private val userValidator: UserValidator,
|
private val userValidator: UserValidator,
|
||||||
private val tsidFactory: TsidFactory
|
private val idGenerator: IDGenerator
|
||||||
) {
|
) {
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
fun findContextById(id: Long): CurrentUserContext {
|
fun findContextById(id: Long): CurrentUserContext {
|
||||||
@ -74,7 +73,7 @@ class UserService(
|
|||||||
userValidator.validateCanSignup(request.email, request.phone)
|
userValidator.validateCanSignup(request.email, request.phone)
|
||||||
|
|
||||||
val user: UserEntity = userRepository.save(
|
val user: UserEntity = userRepository.save(
|
||||||
request.toEntity(id = tsidFactory.next(), status = UserStatus.ACTIVE)
|
request.toEntity(id = idGenerator.create(), status = UserStatus.ACTIVE)
|
||||||
).also {
|
).also {
|
||||||
log.info { "[UserService.signup] 회원 저장 완료: id:${it.id}" }
|
log.info { "[UserService.signup] 회원 저장 완료: id:${it.id}" }
|
||||||
}.also {
|
}.also {
|
||||||
@ -94,7 +93,7 @@ class UserService(
|
|||||||
|
|
||||||
private fun createHistory(user: UserEntity, reason: String): UserStatusHistoryEntity {
|
private fun createHistory(user: UserEntity, reason: String): UserStatusHistoryEntity {
|
||||||
return userStatusHistoryRepository.save(
|
return userStatusHistoryRepository.save(
|
||||||
UserStatusHistoryEntity(id = tsidFactory.next(), userId = user.id, reason = reason, status = user.status)
|
UserStatusHistoryEntity(id = idGenerator.create(), userId = user.id, reason = reason, status = user.status)
|
||||||
).also {
|
).also {
|
||||||
log.info { "[UserService.signup] 회원 상태 이력 저장 완료: userStatusHistoryId:${it.id}" }
|
log.info { "[UserService.signup] 회원 상태 이력 저장 완료: userStatusHistoryId:${it.id}" }
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user