generated from pricelees/issue-pr-template
[#48] Tosspay mocking 서버 구현을 위한 멀티모듈 전환 #49
@ -1,23 +1,22 @@
|
||||
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.KotlinLogging
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Propagation
|
||||
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 {}
|
||||
|
||||
@Service
|
||||
class LoginHistoryService(
|
||||
private val loginHistoryRepository: LoginHistoryRepository,
|
||||
private val tsidFactory: TsidFactory,
|
||||
private val idGenerator: IDGenerator,
|
||||
) {
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
fun createSuccessHistory(
|
||||
@ -47,7 +46,7 @@ class LoginHistoryService(
|
||||
|
||||
runCatching {
|
||||
LoginHistoryEntity(
|
||||
id = tsidFactory.next(),
|
||||
id = idGenerator.create(),
|
||||
principalId = principalId,
|
||||
principalType = principalType,
|
||||
success = success,
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
package com.sangdol.roomescape.payment.business
|
||||
|
||||
import com.github.f4b6a3.tsid.TsidFactory
|
||||
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.common.persistence.IDGenerator
|
||||
import com.sangdol.roomescape.payment.exception.PaymentErrorCode
|
||||
import com.sangdol.roomescape.payment.exception.PaymentException
|
||||
import com.sangdol.roomescape.payment.infrastructure.client.*
|
||||
import com.sangdol.roomescape.payment.infrastructure.common.PaymentMethod
|
||||
import com.sangdol.roomescape.payment.infrastructure.common.PaymentType
|
||||
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
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
@ -20,7 +19,7 @@ class PaymentWriter(
|
||||
private val paymentRepository: PaymentRepository,
|
||||
private val paymentDetailRepository: PaymentDetailRepository,
|
||||
private val canceledPaymentRepository: CanceledPaymentRepository,
|
||||
private val tsidFactory: TsidFactory,
|
||||
private val idGenerator: IDGenerator,
|
||||
) {
|
||||
|
||||
fun createPayment(
|
||||
@ -32,7 +31,7 @@ class PaymentWriter(
|
||||
log.info { "[PaymentWriterV2.createPayment] 결제 승인 및 결제 정보 저장 시작: reservationId=${reservationId}, paymentKey=${paymentClientConfirmResponse.paymentKey}" }
|
||||
|
||||
return paymentClientConfirmResponse.toEntity(
|
||||
id = tsidFactory.next(), reservationId, orderId, paymentType
|
||||
id = idGenerator.create(), reservationId, orderId, paymentType
|
||||
).also {
|
||||
paymentRepository.save(it)
|
||||
log.info { "[PaymentWriterV2.createPayment] 결제 승인 및 결제 정보 저장 완료: reservationId=${reservationId}, payment.id=${it.id}" }
|
||||
@ -44,7 +43,7 @@ class PaymentWriter(
|
||||
paymentId: Long,
|
||||
): PaymentDetailEntity {
|
||||
val method: PaymentMethod = paymentResponse.method
|
||||
val id = tsidFactory.next()
|
||||
val id = idGenerator.create()
|
||||
|
||||
if (method == PaymentMethod.TRANSFER) {
|
||||
return paymentDetailRepository.save(paymentResponse.toTransferDetailEntity(id, paymentId))
|
||||
@ -69,7 +68,7 @@ class PaymentWriter(
|
||||
paymentRepository.save(payment.apply { this.cancel() })
|
||||
|
||||
return cancelResponse.cancels.toEntity(
|
||||
id = tsidFactory.next(),
|
||||
id = idGenerator.create(),
|
||||
paymentId = payment.id,
|
||||
cancelRequestedAt = requestedAt,
|
||||
canceledBy = userId
|
||||
|
||||
@ -1,12 +1,6 @@
|
||||
package com.sangdol.roomescape.reservation.business
|
||||
|
||||
import com.github.f4b6a3.tsid.TsidFactory
|
||||
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.common.persistence.IDGenerator
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.payment.business.PaymentService
|
||||
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.user.business.UserService
|
||||
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
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
@ -33,7 +32,7 @@ class ReservationService(
|
||||
private val userService: UserService,
|
||||
private val themeService: ThemeService,
|
||||
private val canceledReservationRepository: CanceledReservationRepository,
|
||||
private val tsidFactory: TsidFactory,
|
||||
private val idGenerator: IDGenerator,
|
||||
private val paymentService: PaymentService
|
||||
) {
|
||||
|
||||
@ -46,7 +45,7 @@ class ReservationService(
|
||||
|
||||
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)
|
||||
.also { log.info { "[ReservationService.createPendingReservation] Pending 예약 생성 완료: reservationId=${it}, schedule=${request.scheduleId}" } }
|
||||
@ -141,7 +140,7 @@ class ReservationService(
|
||||
}
|
||||
|
||||
CanceledReservationEntity(
|
||||
id = tsidFactory.next(),
|
||||
id = idGenerator.create(),
|
||||
reservationId = reservation.id,
|
||||
canceledBy = user.id,
|
||||
cancelReason = cancelReason,
|
||||
|
||||
@ -1,14 +1,8 @@
|
||||
package com.sangdol.roomescape.schedule.business
|
||||
|
||||
import ScheduleException
|
||||
import com.github.f4b6a3.tsid.TsidFactory
|
||||
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.common.persistence.IDGenerator
|
||||
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.OperatorInfo
|
||||
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.ScheduleStatus
|
||||
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
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
@ -35,7 +34,7 @@ private val log: KLogger = KotlinLogging.logger {}
|
||||
class ScheduleService(
|
||||
private val scheduleRepository: ScheduleRepository,
|
||||
private val scheduleValidator: ScheduleValidator,
|
||||
private val tsidFactory: TsidFactory,
|
||||
private val idGenerator: IDGenerator,
|
||||
private val adminService: AdminService
|
||||
) {
|
||||
// ========================================
|
||||
@ -112,7 +111,7 @@ class ScheduleService(
|
||||
scheduleValidator.validateCanCreate(storeId, request)
|
||||
|
||||
val schedule = ScheduleEntityFactory.create(
|
||||
id = tsidFactory.next(),
|
||||
id = idGenerator.create(),
|
||||
date = request.date,
|
||||
time = request.time,
|
||||
storeId = storeId,
|
||||
|
||||
@ -1,12 +1,7 @@
|
||||
package com.sangdol.roomescape.store.business
|
||||
|
||||
import com.github.f4b6a3.tsid.TsidFactory
|
||||
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.common.persistence.IDGenerator
|
||||
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.region.business.RegionService
|
||||
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.StoreStatus
|
||||
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 {}
|
||||
|
||||
@ -24,7 +23,7 @@ class StoreService(
|
||||
private val storeValidator: StoreValidator,
|
||||
private val adminService: AdminService,
|
||||
private val regionService: RegionService,
|
||||
private val tsidFactory: TsidFactory,
|
||||
private val idGenerator: IDGenerator,
|
||||
) {
|
||||
@Transactional(readOnly = true)
|
||||
fun getDetail(id: Long): DetailStoreResponse {
|
||||
@ -45,7 +44,7 @@ class StoreService(
|
||||
storeValidator.validateCanRegister(request)
|
||||
|
||||
val store = StoreEntity(
|
||||
id = tsidFactory.next(),
|
||||
id = idGenerator.create(),
|
||||
name = request.name,
|
||||
address = request.address,
|
||||
contact = request.contact,
|
||||
|
||||
@ -1,13 +1,7 @@
|
||||
package com.sangdol.roomescape.theme.business
|
||||
|
||||
import com.github.f4b6a3.tsid.TsidFactory
|
||||
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.common.persistence.IDGenerator
|
||||
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.util.DateUtils
|
||||
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.ThemeRepository
|
||||
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
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
@ -30,7 +29,7 @@ private val log: KLogger = KotlinLogging.logger {}
|
||||
class ThemeService(
|
||||
private val themeRepository: ThemeRepository,
|
||||
private val themeValidator: ThemeValidator,
|
||||
private val tsidFactory: TsidFactory,
|
||||
private val idGenerator: IDGenerator,
|
||||
private val adminService: AdminService
|
||||
) {
|
||||
// ========================================
|
||||
@ -91,7 +90,7 @@ class ThemeService(
|
||||
|
||||
themeValidator.validateCanCreate(request)
|
||||
|
||||
val theme: ThemeEntity = request.toEntity(id = tsidFactory.next())
|
||||
val theme: ThemeEntity = request.toEntity(id = idGenerator.create())
|
||||
.also { themeRepository.save(it) }
|
||||
|
||||
return ThemeCreateResponse(theme.id).also {
|
||||
|
||||
@ -1,12 +1,6 @@
|
||||
package com.sangdol.roomescape.user.business
|
||||
|
||||
import com.github.f4b6a3.tsid.TsidFactory
|
||||
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.common.persistence.IDGenerator
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.UserLoginCredentials
|
||||
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.UserCreateResponse
|
||||
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 {}
|
||||
|
||||
@ -27,7 +26,7 @@ class UserService(
|
||||
private val userRepository: UserRepository,
|
||||
private val userStatusHistoryRepository: UserStatusHistoryRepository,
|
||||
private val userValidator: UserValidator,
|
||||
private val tsidFactory: TsidFactory
|
||||
private val idGenerator: IDGenerator
|
||||
) {
|
||||
@Transactional(readOnly = true)
|
||||
fun findContextById(id: Long): CurrentUserContext {
|
||||
@ -74,7 +73,7 @@ class UserService(
|
||||
userValidator.validateCanSignup(request.email, request.phone)
|
||||
|
||||
val user: UserEntity = userRepository.save(
|
||||
request.toEntity(id = tsidFactory.next(), status = UserStatus.ACTIVE)
|
||||
request.toEntity(id = idGenerator.create(), status = UserStatus.ACTIVE)
|
||||
).also {
|
||||
log.info { "[UserService.signup] 회원 저장 완료: id:${it.id}" }
|
||||
}.also {
|
||||
@ -94,7 +93,7 @@ class UserService(
|
||||
|
||||
private fun createHistory(user: UserEntity, reason: String): UserStatusHistoryEntity {
|
||||
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 {
|
||||
log.info { "[UserService.signup] 회원 상태 이력 저장 완료: userStatusHistoryId:${it.id}" }
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user