generated from pricelees/issue-pr-template
52 lines
2.1 KiB
Kotlin
52 lines
2.1 KiB
Kotlin
package roomescape.admin.business
|
|
|
|
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 roomescape.admin.exception.AdminErrorCode
|
|
import roomescape.admin.exception.AdminException
|
|
import roomescape.admin.infrastructure.persistence.AdminEntity
|
|
import roomescape.admin.infrastructure.persistence.AdminRepository
|
|
import roomescape.common.dto.AdminLoginCredentials
|
|
import roomescape.common.dto.AuditConstant
|
|
import roomescape.common.dto.OperatorInfo
|
|
import roomescape.common.dto.toCredentials
|
|
|
|
private val log: KLogger = KotlinLogging.logger {}
|
|
|
|
@Service
|
|
class AdminService(
|
|
private val adminRepository: AdminRepository,
|
|
) {
|
|
@Transactional(readOnly = true)
|
|
fun findCredentialsByAccount(account: String): AdminLoginCredentials {
|
|
log.info { "[AdminService.findCredentialsByAccount] 관리자 조회 시작: account=${account}" }
|
|
|
|
return adminRepository.findByAccount(account)
|
|
?.let {
|
|
log.info { "[AdminService.findCredentialsByAccount] 관리자 조회 완료: account=${account}, id=${it.id}" }
|
|
it.toCredentials()
|
|
}
|
|
?: run {
|
|
log.info { "[AdminService.findCredentialsByAccount] 관리자 조회 실패: account=${account}" }
|
|
throw AdminException(AdminErrorCode.ADMIN_NOT_FOUND)
|
|
}
|
|
}
|
|
|
|
@Transactional(readOnly = true)
|
|
fun findOperatorOrUnknown(id: Long): OperatorInfo {
|
|
log.info { "[AdminService.findOperatorById] 작업자 정보 조회 시작: id=${id}" }
|
|
|
|
return adminRepository.findByIdOrNull(id)?.let { admin ->
|
|
OperatorInfo(admin.id, admin.name).also {
|
|
log.info { "[AdminService.findOperatorById] 작업자 정보 조회 완료: id=${admin.id}, name=${admin.name}" }
|
|
}
|
|
} ?: run {
|
|
log.warn { "[AdminService.findOperatorById] 작업자 정보 조회 실패. id=${id}" }
|
|
AuditConstant.UNKNOWN_OPERATOR
|
|
}
|
|
}
|
|
}
|