33 lines
1.1 KiB
Kotlin
33 lines
1.1 KiB
Kotlin
package ru.soune
|
|||
|
|
|
||
|
|
interface ReferralRepo {
|
||
|
|
|
||
|
|
fun getUserReferralLink(userId: String): String
|
||
|
|
|
||
|
|
fun getUserIdByLink(link: String): String
|
||
|
|
|
||
|
|
fun getInviterIdForUser(userId: String): String?
|
||
|
|
|
||
|
|
fun getReferralLevelForUser(userId: String): String
|
||
|
|
|
||
|
|
fun getReferralByUserId(userId: String): Referral
|
||
|
|
|
||
|
|
fun getReferralInvitees(userId: String, pageSize: Int, pageNumber: Int): List<ReferralInvitee>
|
||
|
|
|
||
|
|
// создаем новую запись в БД
|
||
|
|
fun createReferralEntity(entity: Referral)
|
||
|
|
|
||
|
|
// прибавить к totalIncome и availableIncome значение transferAmount
|
||
|
|
fun increaseIncome(userId: String, transferAmount: Int)
|
||
|
|
|
||
|
|
// установить active в true
|
||
|
|
fun activateUser(userId: String): Boolean
|
||
|
|
|
||
|
|
// посчитать записи, у которых inviter == userId и active == true
|
||
|
|
fun getActiveInviteeForUser(userId: String): Int
|
||
|
|
|
||
|
|
// посчитать записи, у которых inviter == userId
|
||
|
|
fun getTotalInviteeForUser(userId: String): Int
|
||
|
|
|
||
|
|
fun upgradeReferralLevelForUser(userId: String, newLevelId: String)
|
||
|
|
}
|