package kr.co.vividnext.sodalive.point import kr.co.vividnext.sodalive.member.Member import org.springframework.stereotype.Service import java.time.LocalDateTime @Service class PointService( private val pointGrantLogRepository: PointGrantLogRepository, private val memberPointRepository: MemberPointRepository, private val usePointRepository: UsePointRepository ) { fun getPointStatus(member: Member): GetPointStatusResponse { return GetPointStatusResponse( point = memberPointRepository.findByMemberIdAndExpiresAtAfterOrderByExpiresAtAsc( memberId = member.id!!, expiresAt = LocalDateTime.now() ).sumOf { it.point } ) } fun getPointUseStatus(member: Member, timezone: String): List { return usePointRepository.getPointUseStatusByMemberId(member.id!!, timezone) } fun getPointRewardStatus(member: Member, timezone: String): List { return pointGrantLogRepository.getPointRewardStatusByMemberId(member.id!!, timezone) } }