Membership || interest rate
Gold || 0.12, 0.20, 0.3
Silver || 0.13, 0.24, 0.3
Bronze || 10.1, 0.2, 0.3
Membership || value rate
Gold || 10, 20, 30
Silver || 10, 50, 40
В моем приложении есть несколько типов членства.Я хочу заранее рассчитать все возможные ценовые комбинации из вышеперечисленных и представить по одному объекту для каждого членства.
Допустим, пользователь выбирает членство Gold, я рассчитываю рассчитать каждую комбинацию (значение x процентная ставка) и представить пользователю в каком-либо объекте.
Какя могу реализовать это и какие структуры данных, дизайн я могу использовать?
Пользователь может выбрать несколько членств, если он пожелает, и в этом случае он должен представить все комбинации значения / ставки для обоих членств.
У меня есть что-то вроде этого, например:
sealed class MembershipType(val label: String) {
abstract val interestRates: List<BigDecimal>
abstract val valueOptions: List<BigDecimal>
object SILVER : MembershipType("Silver") {
override val valueOptions: List<BigDecimal> =
listOf<BigDecimal>(
BigDecimal.valueOf(10),
BigDecimal.valueOf(50),
BigDecimal.valueOf(40))
}...
У меня есть функция, которая получает список следующим образом:
fun calculateQuote(score: Int, memberShipSelected: List<MembershipType>): Quote {//TODO}
Для каждого типа членства в списке извлеките значение и коэффициент и рассчитайте все возможные комбинации.
Комбинации для GOLD
rates
Values 0.12 0.20 0.3
10 10*0.12 10*0.20 10*0.3
20 20*0.12 20*0.20 20*0.3
30 30*0.12 30*0.20 30*0.3